[tex-live] tlmgr: permissions on /tmp/texlive.tlpdb.lzma
cfrees at imapmail.org
cfrees at imapmail.org
Fri Sep 12 23:23:42 CEST 2008
That works great - it cleaned up the existing files in /tmp and,
presumably, cleaned up after itself, too.
Thanks!
cfr
On Fri 12th Sep, 2008 at 22:39, Norbert Preining seems to have written:
> On Fr, 12 Sep 2008, Dr. Clea F. Rees wrote:
>> What role does /tmp/texlive.tlpdb.lzma play?
>
> It is a temp file. And it should be removed. Sorry, I will try to fix
> it.
>
> The same happens with /tmp/texlive.tlpdb
>
>
>> --list" or "tlmgr list", I get a message complaining that permissions
>> are denied for /tmp/texlive.tlpdb.lzma. The permissions are 0644 with
>
> Not surprising.
>
> PLEASE:
> - fetch current tlmgr.pl AND TLPDB.pm
> - as root call tlmgr update --list
> - as normal user try tlmgr update --list
>
> Karl, that is that patch, I will try to hack something for Win32 and
> temp files.
>
> Index: TLPDB.pm
> ===================================================================
> --- TLPDB.pm (revision 10573)
> +++ TLPDB.pm (working copy)
> @@ -205,6 +205,7 @@
> $self->root($root_from_path);
> }
> my $retfh;
> + my $tlpdbfile;
> if ($path =~ m;^((http|ftp)://|file:\/\/*);) {
> debug("TLPDB.pm: trying to initialize from $path\n");
> # if we have lzmadec available we try the lzma file
> @@ -214,7 +215,9 @@
> my $bn = TeXLive::TLUtils::basename("$path");
> my $lzmafile = "$tmpdir/$bn.lzma";
> my $lzmafile_quote = $lzmafile;
> - my $tlpdbfile = "$tmpdir/$bn";
> + # this is a variable of the whole sub as we have to remove the file
> + # before returning
> + $tlpdbfile = "$tmpdir/$bn";
> my $tlpdbfile_quote = $tlpdbfile;
> if (win32()) {
> $lzmafile =~ s!/!\\!g;
> @@ -231,6 +234,9 @@
> # lzmadec *hopefully* returns 0 on success and anything else on failure
> if (!system("$::progs{'lzmadec'} < $lzmafile_quote > $tlpdbfile_quote")) {
> debug("Un-lzmaing $lzmafile did not succeed, try normally\n");
> + # to be sure we unlink the lzma file and the tlpdbfile
> + unlink($lzmafile);
> + unlink($tlpdbfile);
> } else {
> unlink($lzmafile);
> open $retfh, "<$tlpdbfile" or die"Cannot open $tlpdbfile!";
> @@ -266,6 +272,9 @@
> if (!$found) {
> tlwarn("Cannot read any package from $path, seems not to be a TLPDB!");
> }
> + # remove the un-lzma-ed tlpdb file from temp dir
> + # THAT IS RACY!!! we should fix that in some better way with tempfile
> + unlink($tlpdbfile) if $tlpdbfile;
> return($found);
> }
>
>
> Best wishes
>
> Norbert
>
> -------------------------------------------------------------------------------
> Dr. Norbert Preining <preining at logic.at> Vienna University of Technology
> Debian Developer <preining at debian.org> Debian TeX Group
> gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
> -------------------------------------------------------------------------------
> BROUGH SOWERBY
> One who has been working at that same desk in the same office for
> fifteen years and has very much his own ideas about why he is
> continually passed over for promotion.
> --- Douglas Adams, The Meaning of Liff
>
More information about the tex-live
mailing list