diff options
Diffstat (limited to 'Master/tlpkg/TeXLive/TLPDB.pm')
-rw-r--r-- | Master/tlpkg/TeXLive/TLPDB.pm | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/Master/tlpkg/TeXLive/TLPDB.pm b/Master/tlpkg/TeXLive/TLPDB.pm index 78cbe489323..07ad80c6169 100644 --- a/Master/tlpkg/TeXLive/TLPDB.pm +++ b/Master/tlpkg/TeXLive/TLPDB.pm @@ -91,9 +91,7 @@ C<TeXLive::TLPDB> -- A database of TeX Live Packages use TeXLive::TLConfig qw($CategoriesRegexp $DefaultCategory $InfraLocation $DatabaseName $MetaCategoriesRegexp $Archive - $DefaultCompressorFormat $DefaultContainerExtension - @AcceptedCompressors $AcceptedCompressorsRegexp %CompressorProgram - %CompressorExtension %CompressorArgs %DecompressorProgram %DecompressorArgs + $DefaultCompressorFormat %Compressors $CompressorExtRegexp %TLPDBOptions %TLPDBSettings $ChecksumExtension $RelocPrefix $RelocTree); use TeXLive::TLCrypto; @@ -319,13 +317,13 @@ sub from_file { # if we have xz available we try the xz file my $xz_succeeded = 0 ; my $compressorextension = "<UNSET>"; - if (defined($::progs{$DecompressorProgram{$DefaultCompressorFormat}})) { + if (defined($::progs{$DefaultCompressorFormat})) { # we first try the xz compressed file my ($xzfh, $xzfile) = TeXLive::TLUtils::tl_tmpfile(); close($xzfh); - my $decompressor = $::progs{$DecompressorProgram{$DefaultCompressorFormat}}; - $compressorextension = $CompressorExtension{$DefaultCompressorFormat}; - my @decompressorArgs = @{$DecompressorArgs{$DefaultCompressorFormat}}; + my $decompressor = $::progs{$DefaultCompressorFormat}; + $compressorextension = $Compressors{$DefaultCompressorFormat}{'extension'}; + my @decompressorArgs = @{$Compressors{$DefaultCompressorFormat}{'decompress_args'}}; debug("trying to download $path.$compressorextension to $xzfile\n"); my $ret = TeXLive::TLUtils::download_file("$path.$compressorextension", "$xzfile"); # better to check both, the return value AND the existence of the file @@ -1810,17 +1808,17 @@ sub not_virtual_install_package { if ($media eq 'local_uncompressed') { $container = \@installfiles; } elsif ($media eq 'local_compressed') { - for my $ext (@AcceptedCompressors) { + for my $ext (map { $Compressors{$_}{'extension'} } keys %Compressors) { if (-r "$root/$Archive/$pkg.tar.$ext") { $container = "$root/$Archive/$pkg.tar.$ext"; } } if (!$container) { - tlwarn("TLPDB: cannot find package $pkg.tar.$AcceptedCompressorsRegexp in $root/$Archive\n"); + tlwarn("TLPDB: cannot find package $pkg.tar.$CompressorExtRegexp in $root/$Archive\n"); return(0); } } elsif (&media eq 'NET') { - $container = "$root/$Archive/$pkg.$DefaultContainerExtension"; + $container = "$root/$Archive/$pkg.tar." . $Compressors{$DefaultCompressorFormat}{'extension'}; } debug("TLPDB::not_virtual_install_package: trying to install $container\n"); $self->_install_data ($container, $reloc, \@installfiles, $totlpdb, $tlpobj->containersize, $tlpobj->containerchecksum) @@ -1841,13 +1839,13 @@ sub not_virtual_install_package { # - there are actually src/doc files present if ($container_src_split && $opt_src && $tlpobj->srcfiles) { my $srccontainer = $container; - $srccontainer =~ s/\.tar\.$AcceptedCompressorsRegexp$/.source.tar.$1/; + $srccontainer =~ s/\.tar\.$CompressorExtRegexp$/.source.tar.$1/; $self->_install_data ($srccontainer, $reloc, \@installfiles, $totlpdb, $tlpobj->srccontainersize, $tlpobj->srccontainerchecksum) || return(0); } if ($container_doc_split && $real_opt_doc && $tlpobj->docfiles) { my $doccontainer = $container; - $doccontainer =~ s/\.tar\.$AcceptedCompressorsRegexp$/.doc.tar.$1/; + $doccontainer =~ s/\.tar\.$CompressorExtRegexp$/.doc.tar.$1/; $self->_install_data ($doccontainer, $reloc, \@installfiles, $totlpdb, $tlpobj->doccontainersize, $tlpobj->doccontainerchecksum) || return(0); } @@ -1967,7 +1965,7 @@ sub _install_data { } # we always assume that copy will work return(1); - } elsif ($what =~ m,\.tar\.$AcceptedCompressorsRegexp$,) { + } elsif ($what =~ m,\.tar\.$CompressorExtRegexp$,) { if ($reloc) { if (!$totlpdb->setting("usertree")) { $target .= "/$RelocTree"; |