From 9b9218ef739cd18545e7d065000b5f78622d6b78e740d85542ed28b527619ecb Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Tue, 13 Apr 2021 08:53:15 +0000 Subject: [PATCH] Make mktexlsr work even in root's home OBS-URL: https://build.opensuse.org/package/show/Publishing:TeXLive/texlive?expand=0&rev=387 --- public.c | 10 ++++++++++ texlive.changes | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/public.c b/public.c index bfcd92c..d5d11af 100644 --- a/public.c +++ b/public.c @@ -127,6 +127,7 @@ int main(int argc, char *argv[]) if (ruid == 0 || euid == 0) { /* If user is root switch over to mktex:mktex */ int initgrp = 0; + char *cwd; if ((pwd = getpwnam(TEXUSR)) == (struct passwd*)0) goto err; @@ -171,6 +172,15 @@ int main(int argc, char *argv[]) setenv(ep->name, ep->value, 1); } + if ((cwd = getcwd(NULL, 0))) { + if (access(cwd, X_OK) < 0) { + int ret = chdir(pwd->pw_dir); + if (ret < 0) + fprintf(stderr, "public: %m\n"); + } + free(cwd); + } + } else if (rgid != grp->gr_gid && egid == grp->gr_gid) { rgid = grp->gr_gid; diff --git a/texlive.changes b/texlive.changes index 5eccfe5..ec9cd9c 100644 --- a/texlive.changes +++ b/texlive.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Apr 13 08:50:31 UTC 2021 - Dr. Werner Fink + +- Make public wrapper change into mktex home directory if current + directory is not accessible + ------------------------------------------------------------------- Mon Apr 12 12:41:38 UTC 2021 - Dr. Werner Fink