texlive[54630] Master/tlpkg/TeXLive/TLPDB.pm: hopefully final fix for

commits+preining at tug.org commits+preining at tug.org
Mon Apr 6 13:49:32 CEST 2020


Revision: 54630
          http://tug.org/svn/texlive?view=revision&revision=54630
Author:   preining
Date:     2020-04-06 13:49:32 +0200 (Mon, 06 Apr 2020)
Log Message:
-----------
hopefully final fix for installation havoc

Modified Paths:
--------------
    trunk/Master/tlpkg/TeXLive/TLPDB.pm

Modified: trunk/Master/tlpkg/TeXLive/TLPDB.pm
===================================================================
--- trunk/Master/tlpkg/TeXLive/TLPDB.pm	2020-04-06 10:40:48 UTC (rev 54629)
+++ trunk/Master/tlpkg/TeXLive/TLPDB.pm	2020-04-06 11:49:32 UTC (rev 54630)
@@ -1775,6 +1775,7 @@
       }
     }
     my $media = $self->media;
+    my $container_is_versioned = 0;
     if ($media eq 'local_uncompressed') {
       $container = \@installfiles;
     } elsif ($media eq 'local_compressed') {
@@ -1783,9 +1784,11 @@
         # since the unversioned symlinks cannot be dereferenced
         # on Windows.
         my $rev = $tlpobj->revision;
-        if (-r "$root/$Archive/$pkg.$rev.tar.$ext") {
-          $container = "$root/$Archive/$pkg.$rev.tar.$ext";
+        if (-r "$root/$Archive/$pkg.r$rev.tar.$ext") {
+          $container_is_versioned = 1;
+          $container = "$root/$Archive/$pkg.r$rev.tar.$ext";
         } elsif (-r "$root/$Archive/$pkg.tar.$ext") {
+          $container_is_versioned = 0;
           $container = "$root/$Archive/$pkg.tar.$ext";
         }
       }
@@ -1799,6 +1802,7 @@
       # ok to request the unversioned file.
       $container = "$root/$Archive/$pkg.tar."
                    . $Compressors{$DefaultCompressorFormat}{'extension'};
+      $container_is_versioned = 0;
     }
     my $container_str = ref $container eq "ARRAY"
                         ? "[" . join (" ", @$container) . "]" : $container;
@@ -1824,7 +1828,11 @@
       # - there are actually src/doc files present
       if ($container_src_split && $opt_src && $tlpobj->srcfiles) {
         my $srccontainer = $container;
-        $srccontainer =~ s/\.tar\.$CompressorExtRegexp$/.source.tar.$1/;
+        if ($container_is_versioned) {
+          $srccontainer =~ s/\.(r[0-9]*)\.tar\.$CompressorExtRegexp$/.source.$1.tar.$2/;
+        } else {
+          $srccontainer =~ s/\.tar\.$CompressorExtRegexp$/.source.tar.$1/;
+        }
         $self->_install_data($srccontainer, $reloc, \@installfiles, $totlpdb,
                       $tlpobj->srccontainersize, $tlpobj->srccontainerchecksum)
           || return(0);
@@ -1831,7 +1839,11 @@
       }
       if ($container_doc_split && $real_opt_doc && $tlpobj->docfiles) {
         my $doccontainer = $container;
-        $doccontainer =~ s/\.tar\.$CompressorExtRegexp$/.doc.tar.$1/;
+        if ($container_is_versioned) {
+          $doccontainer =~ s/\.(r[0-9]*)\.tar\.$CompressorExtRegexp$/.doc.$1.tar.$2/;
+        } else {
+          $doccontainer =~ s/\.tar\.$CompressorExtRegexp$/.doc.tar.$1/;
+        }
         $self->_install_data($doccontainer, $reloc, \@installfiles,
             $totlpdb, $tlpobj->doccontainersize, $tlpobj->doccontainerchecksum)
           || return(0);



More information about the tex-live-commits mailing list.