diff options
-rw-r--r-- | Master/tlpkg/dev/dev.multi-source-support-v2.patch | 123 |
1 files changed, 62 insertions, 61 deletions
diff --git a/Master/tlpkg/dev/dev.multi-source-support-v2.patch b/Master/tlpkg/dev/dev.multi-source-support-v2.patch index f0396eb217f..e4c33df2db7 100644 --- a/Master/tlpkg/dev/dev.multi-source-support-v2.patch +++ b/Master/tlpkg/dev/dev.multi-source-support-v2.patch @@ -1,8 +1,8 @@ Index: tlpkg/TeXLive/TLPDB.pm =================================================================== ---- tlpkg/TeXLive/TLPDB.pm (revision 22412) +--- tlpkg/TeXLive/TLPDB.pm (revision 22479) +++ tlpkg/TeXLive/TLPDB.pm (working copy) -@@ -70,20 +70,30 @@ +@@ -70,20 +70,31 @@ $tlpdb->settings; $tlpdb->setting($key, [$value]); $tlpdb->sizes_of_packages($opt_src, $opt_doc [, @packs ]); @@ -30,14 +30,15 @@ Index: tlpkg/TeXLive/TLPDB.pm -use TeXLive::TLConfig; +use TeXLive::TLConfig qw($CategoriesRegexp $DefaultCategory $InfraLocation + $DatabaseName $MetaCategoriesRegexp $Archive -+ %TLPDBOptions %TLPDBSettings); ++ %TLPDBOptions %TLPDBSettings ++ $RelocPrefix $RelocTree); use TeXLive::TLUtils qw(dirname mkdirhier member win32 info log debug ddebug - tlwarn basename download_file merge_into); + tlwarn basename download_file merge_into tldie); use TeXLive::TLPOBJ; - use Cwd 'abs_path'; -@@ -158,6 +168,10 @@ + use File::Temp qw/tempfile/; +@@ -160,6 +171,10 @@ sub add_tlpobj { my ($self,$tlp) = @_; @@ -48,7 +49,7 @@ Index: tlpkg/TeXLive/TLPDB.pm $self->{'tlps'}{$tlp->name} = $tlp; } -@@ -206,6 +220,10 @@ +@@ -208,6 +223,10 @@ sub remove_tlpobj { my ($self,$pkg) = @_; @@ -59,7 +60,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if (defined($self->{'tlps'}{$pkg})) { delete $self->{'tlps'}{$pkg}; } else { -@@ -226,6 +244,10 @@ +@@ -228,6 +247,10 @@ sub from_file { my ($self, $path) = @_; @@ -70,7 +71,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if (@_ != 2) { die "$0: from_file needs filename for initialization"; } -@@ -350,6 +372,10 @@ +@@ -360,6 +383,10 @@ sub writeout { my $self = shift; @@ -81,7 +82,7 @@ Index: tlpkg/TeXLive/TLPDB.pm my $fd = (@_ ? $_[0] : STDOUT); foreach (sort keys %{$self->{'tlps'}}) { ddebug("writeout: tlpname=$_ ", $self->{'tlps'}{$_}->name, "\n"); -@@ -369,6 +395,10 @@ +@@ -379,6 +406,10 @@ sub save { my $self = shift; @@ -92,7 +93,7 @@ Index: tlpkg/TeXLive/TLPDB.pm my $path = $self->location; mkdirhier(dirname($path)); my $tmppath = "$path.tmp"; -@@ -390,6 +420,9 @@ +@@ -400,6 +431,9 @@ sub media { my $self = shift ; @@ -102,7 +103,7 @@ Index: tlpkg/TeXLive/TLPDB.pm return $self->{'media'}; } -@@ -405,6 +438,18 @@ +@@ -415,6 +449,18 @@ sub available_architectures { my $self = shift; @@ -121,7 +122,7 @@ Index: tlpkg/TeXLive/TLPDB.pm my @archs = $self->setting("available_architectures"); if (! @archs) { # fall back to the old method checking tex\.* -@@ -432,6 +477,10 @@ +@@ -442,6 +488,10 @@ sub add_tlpcontainer { my ($self, $package, $ziplocation, $archrefs, $dest) = @_; @@ -132,7 +133,7 @@ Index: tlpkg/TeXLive/TLPDB.pm my @archs; if (defined($archrefs)) { @archs = @$archrefs; -@@ -496,6 +545,29 @@ +@@ -506,6 +556,29 @@ =cut sub get_package { @@ -162,7 +163,7 @@ Index: tlpkg/TeXLive/TLPDB.pm my ($self,$pkg) = @_; if (defined($self->{'tlps'}{$pkg})) { my $ret = $self->{'tlps'}{$pkg}; -@@ -507,6 +579,35 @@ +@@ -517,6 +590,35 @@ =pod @@ -198,7 +199,7 @@ Index: tlpkg/TeXLive/TLPDB.pm =item C<< $tlpdb->list_packages >> The C<list_packages> function returns the list of all included packages. -@@ -515,6 +616,15 @@ +@@ -525,6 +627,15 @@ sub list_packages { my $self = shift; @@ -214,7 +215,7 @@ Index: tlpkg/TeXLive/TLPDB.pm return (sort keys %{$self->{'tlps'}}); } -@@ -532,6 +642,11 @@ +@@ -542,6 +653,11 @@ The next (or first) argument is the target TLPDB, then a list of packages. @@ -226,7 +227,7 @@ Index: tlpkg/TeXLive/TLPDB.pm We return the closure of the package list with respect to the depends operator. (Sorry, that was for mathematicians.) -@@ -555,7 +670,8 @@ +@@ -565,7 +681,8 @@ my %install = (); my @archs = $totlpdb->available_architectures; for my $p (@_) { @@ -236,7 +237,7 @@ Index: tlpkg/TeXLive/TLPDB.pm } my $changed = 1; while ($changed) { -@@ -564,7 +680,7 @@ +@@ -574,7 +691,7 @@ ddebug("pre_select = @pre_select\n"); for my $p (@pre_select) { next if ($p =~ m/^00texlive/); @@ -245,7 +246,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if (!defined($pkg)) { debug("W: $p is mentioned somewhere but not available, disabling\n"); $install{$p} = 0; -@@ -590,16 +706,19 @@ +@@ -600,16 +717,19 @@ if ($p_dep =~ m/^(.*)\.ARCH$/) { my $foo = "$1"; foreach $a (@archs) { @@ -268,7 +269,7 @@ Index: tlpkg/TeXLive/TLPDB.pm } } } -@@ -611,7 +730,9 @@ +@@ -621,7 +741,9 @@ $changed = 1; } } @@ -279,7 +280,7 @@ Index: tlpkg/TeXLive/TLPDB.pm } =pod -@@ -623,6 +744,7 @@ +@@ -633,6 +755,7 @@ =cut @@ -287,7 +288,7 @@ Index: tlpkg/TeXLive/TLPDB.pm sub find_file { my ($self,$fn) = @_; my @ret; -@@ -856,6 +978,10 @@ +@@ -866,6 +989,10 @@ sub root { my $self = shift; @@ -298,7 +299,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if (@_) { $self->{'root'} = shift } return $self->{'root'}; } -@@ -874,7 +1000,11 @@ +@@ -884,7 +1011,11 @@ =cut sub location { @@ -311,7 +312,7 @@ Index: tlpkg/TeXLive/TLPDB.pm return "$self->{'root'}/$InfraLocation/$DatabaseName"; } -@@ -925,8 +1055,14 @@ +@@ -935,8 +1066,14 @@ sub config_src_container { my $self = shift; @@ -328,7 +329,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if ($d =~ m!^container_split_src_files/(.*)$!) { return "$1"; } -@@ -946,8 +1082,14 @@ +@@ -956,8 +1093,14 @@ sub config_doc_container { my $self = shift; @@ -345,7 +346,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if ($d =~ m!^container_split_doc_files/(.*)$!) { return "$1"; } -@@ -966,8 +1108,14 @@ +@@ -976,8 +1119,14 @@ sub config_container_format { my $self = shift; @@ -362,7 +363,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if ($d =~ m!^container_format/(.*)$!) { return "$1"; } -@@ -986,8 +1134,14 @@ +@@ -996,8 +1145,14 @@ sub config_release { my $self = shift; @@ -379,7 +380,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if ($d =~ m!^release/(.*)$!) { return "$1"; } -@@ -1006,8 +1160,14 @@ +@@ -1016,8 +1171,14 @@ sub config_minrelease { my $self = shift; @@ -396,7 +397,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if ($d =~ m!^minrelease/(.*)$!) { return "$1"; } -@@ -1027,8 +1187,14 @@ +@@ -1037,8 +1198,14 @@ sub config_revision { my $self = shift; @@ -413,7 +414,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if ($d =~ m!^revision/(.*)$!) { return "$1"; } -@@ -1054,12 +1220,12 @@ +@@ -1064,12 +1231,12 @@ sub sizes_of_packages { my ($self, $opt_src, $opt_doc, @packs) = @_; @packs || ( @packs = $self->list_packages() ); @@ -427,7 +428,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if (!defined($tlpobjs{$p})) { warn "STRANGE: $p not to be found in ", $self->root; next; -@@ -1083,7 +1249,7 @@ +@@ -1093,7 +1260,7 @@ $size += $tlpobj->srccontainersize if $opt_src; $size += $tlpobj->doccontainersize if $opt_doc; } else { @@ -436,7 +437,7 @@ Index: tlpkg/TeXLive/TLPDB.pm # installation of src and doc file $size = $tlpobj->runsize; $size += $tlpobj->srcsize if $opt_src; -@@ -1098,31 +1264,46 @@ +@@ -1108,31 +1275,46 @@ =pod @@ -497,7 +498,7 @@ Index: tlpkg/TeXLive/TLPDB.pm } else { my $container_src_split = $fromtlpdb->config_src_container; my $container_doc_split = $fromtlpdb->config_doc_container; -@@ -1170,7 +1351,7 @@ +@@ -1180,7 +1362,7 @@ next; } } elsif (&media eq 'NET') { @@ -506,7 +507,7 @@ Index: tlpkg/TeXLive/TLPDB.pm } $self->_install_package ($container, $reloc, \@installfiles, $totlpdb) || return(0); -@@ -1244,23 +1425,21 @@ +@@ -1254,23 +1436,21 @@ $totlpdb->save; # compute the return value TeXLive::TLUtils::announce_execute_actions("enable", $tlpobj); @@ -544,7 +545,7 @@ Index: tlpkg/TeXLive/TLPDB.pm } return 1; } -@@ -1513,7 +1692,7 @@ +@@ -1523,7 +1703,7 @@ # the postaction code part cannot be evaluated now since the # files are already removed. # Again, desktop integration maps to desktop and menu links @@ -553,7 +554,7 @@ Index: tlpkg/TeXLive/TLPDB.pm &TeXLive::TLUtils::do_postaction("remove", $tlp, $localtlpdb->option("file_assocs"), $localtlpdb->option("desktop_integration"), -@@ -1545,7 +1724,12 @@ +@@ -1555,7 +1735,12 @@ sub _set_value_pkg { my ($self,$pkgname,$pre,$key,$value) = @_; my $k = "$pre$key"; @@ -567,7 +568,7 @@ Index: tlpkg/TeXLive/TLPDB.pm my @newdeps; if (!defined($pkg)) { $pkg = new TeXLive::TLPOBJ; -@@ -1583,8 +1767,14 @@ +@@ -1593,8 +1778,14 @@ sub _value_pkg { my ($self,$pkg,$pre,$key) = @_; my $k = "$pre$key"; @@ -584,7 +585,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if ($d =~ m!^$k:(.*)$!) { return "$1"; } -@@ -1697,7 +1887,12 @@ +@@ -1707,7 +1898,12 @@ my ($self, $pre, $hr) = @_; my @allowed = keys %$hr; my %ret; @@ -598,7 +599,7 @@ Index: tlpkg/TeXLive/TLPDB.pm if (defined($pkg)) { foreach my $d ($pkg->depends) { if ($d =~ m!^$pre([^:]*):(.*)!) { -@@ -1846,6 +2041,329 @@ +@@ -1856,6 +2052,329 @@ =back @@ -930,7 +931,7 @@ Index: tlpkg/TeXLive/TLPDB.pm =head1 OPTIONS Index: tlpkg/TeXLive/TLUtils.pm =================================================================== ---- tlpkg/TeXLive/TLUtils.pm (revision 22412) +--- tlpkg/TeXLive/TLUtils.pm (revision 22479) +++ tlpkg/TeXLive/TLUtils.pm (working copy) @@ -62,6 +62,7 @@ TeXLive::TLUtils::setup_programs($bindir, $platform); @@ -948,7 +949,7 @@ Index: tlpkg/TeXLive/TLUtils.pm ); @EXPORT = qw(setup_programs download_file process_logging_options tldie tlwarn info log debug ddebug dddebug debug_hash -@@ -2424,6 +2426,31 @@ +@@ -2398,6 +2400,31 @@ return (&win32)? 'nul' : '/dev/null'; } @@ -982,7 +983,7 @@ Index: tlpkg/TeXLive/TLUtils.pm Index: texmf/scripts/texlive/tlmgr.pl =================================================================== ---- texmf/scripts/texlive/tlmgr.pl (revision 22412) +--- texmf/scripts/texlive/tlmgr.pl (revision 22479) +++ texmf/scripts/texlive/tlmgr.pl (working copy) @@ -124,6 +124,7 @@ "package-logfile" => "=s", @@ -992,7 +993,7 @@ Index: texmf/scripts/texlive/tlmgr.pl "pause" => 1, "print-platform|print-arch" => 1, "version" => 1, -@@ -480,6 +481,12 @@ +@@ -481,6 +482,12 @@ } elsif ($action =~ m/^option$/i) { action_option(); finish(0); @@ -1005,7 +1006,7 @@ Index: texmf/scripts/texlive/tlmgr.pl } elsif ($action =~ m/^list$/i) { action_list(); finish(0); -@@ -1941,7 +1948,12 @@ +@@ -1942,7 +1949,12 @@ # intersection, don't check A\B and B\A next if $newpkgs_full{$p}; next if $removals_full{$p}; @@ -1019,7 +1020,7 @@ Index: texmf/scripts/texlive/tlmgr.pl my $tlp = $localtlpdb->get_package($p); if (!defined($tlp)) { if ($opts{"reinstall-forcibly-removed"}) { -@@ -2042,12 +2054,15 @@ +@@ -2043,12 +2055,15 @@ $ret = 1; shift; } @@ -1038,7 +1039,7 @@ Index: texmf/scripts/texlive/tlmgr.pl $str .= "\n"; return($str) if $ret; print $str; -@@ -2571,19 +2586,32 @@ +@@ -2572,19 +2587,32 @@ my $unwind_package; my $remove_unwind_container = 0; my $rev = $tlp->revision; @@ -1074,7 +1075,7 @@ Index: texmf/scripts/texlive/tlmgr.pl } $updated{$pkg} = 1; next; -@@ -2624,10 +2652,10 @@ +@@ -2625,10 +2653,10 @@ } if ($::machinereadable) { @@ -1087,7 +1088,7 @@ Index: texmf/scripts/texlive/tlmgr.pl } $donesize += $sizes{$pkg}; $currnr++; -@@ -2670,7 +2698,7 @@ +@@ -2671,7 +2699,7 @@ } if ($remotetlpdb->install_package($pkg, $localtlpdb)) { # installation succeeded because we got a reference @@ -1096,7 +1097,7 @@ Index: texmf/scripts/texlive/tlmgr.pl unlink($unwind_package) if $remove_unwind_container; # remember successful update $updated{$pkg} = 1; -@@ -2698,7 +2726,7 @@ +@@ -2699,7 +2727,7 @@ # now in fact we should do some cleanup, removing files and # dirs from the new package before re-installing the old one. # TODO @@ -1105,7 +1106,7 @@ Index: texmf/scripts/texlive/tlmgr.pl tlwarn("\n\nInstallation of new version of $pkg did fail, trying to unwind.\n"); if (win32()) { # w32 is notorious for not releasing a file immediately -@@ -2739,12 +2767,25 @@ +@@ -2740,12 +2768,25 @@ unless $::machinereadable; } else { # install new packages @@ -1132,7 +1133,7 @@ Index: texmf/scripts/texlive/tlmgr.pl my ($estrem, $esttot); if (!$opts{"list"}) { ($estrem, $esttot) = TeXLive::TLUtils::time_estimate($totalsize, -@@ -2754,14 +2795,16 @@ +@@ -2755,14 +2796,16 @@ my @maargs = ($pkg, $FLAG_AUTOINSTALL, "-", $mediatlp->revision, $sizes{$pkg}); if (!$opts{"list"}) { push @maargs, $estrem, $esttot; @@ -1152,7 +1153,7 @@ Index: texmf/scripts/texlive/tlmgr.pl } } $currnr++; -@@ -2769,7 +2812,7 @@ +@@ -2770,7 +2813,7 @@ next if ($opts{"dry-run"} || $opts{"list"}); if ($remotetlpdb->install_package($pkg, $localtlpdb)) { # installation succeeded because we got a reference @@ -1161,7 +1162,7 @@ Index: texmf/scripts/texlive/tlmgr.pl $nrupdated++; } else { tlwarn("$0: couldn't install new package $pkg\n"); -@@ -2908,6 +2951,7 @@ +@@ -2909,6 +2952,7 @@ if (!(@new || @updated)) { info("tlmgr: no updates available\n"); if ($remotetlpdb->media ne "NET" @@ -1169,7 +1170,7 @@ Index: texmf/scripts/texlive/tlmgr.pl && !$opts{"dry-run"} && !$opts{"repository"} ) { -@@ -2986,6 +3030,14 @@ +@@ -2987,6 +3031,14 @@ @packs = $remotetlpdb->expand_dependencies($localtlpdb, @packs) unless $opts{"no-depends"}; } # @@ -1184,7 +1185,7 @@ Index: texmf/scripts/texlive/tlmgr.pl # installation order of packages: # first all normal packages, then collections, then schemes # isn't already installed, but the collection already updated, it will -@@ -2993,7 +3045,7 @@ +@@ -2994,7 +3046,7 @@ my @inst_packs; my @inst_colls; my @inst_schemes; @@ -1193,7 +1194,7 @@ Index: texmf/scripts/texlive/tlmgr.pl # we do name checking here, not to load all tlpobj again and again if ($pkg =~ m/^scheme-/) { push @inst_schemes, $pkg; -@@ -3012,7 +3064,11 @@ +@@ -3013,7 +3065,11 @@ my @todo; for my $pkg (@inst_packs, @inst_colls, @inst_schemes) { my $pkgrev = 0; @@ -1206,7 +1207,7 @@ Index: texmf/scripts/texlive/tlmgr.pl if (!defined($mediatlp)) { tlwarn("package $pkg not present in package repository.\n"); next; -@@ -3060,13 +3116,26 @@ +@@ -3061,13 +3117,26 @@ my ($estrem, $esttot) = TeXLive::TLUtils::time_estimate($totalsize, $donesize, $starttime); my $kb = int($sizes{$pkg} / 1024) + 1; @@ -1236,7 +1237,7 @@ Index: texmf/scripts/texlive/tlmgr.pl logpackage("${re}install: $pkg"); } $donesize += $sizes{$pkg}; -@@ -3123,7 +3192,150 @@ +@@ -3124,7 +3193,150 @@ return; } @@ -1387,7 +1388,7 @@ Index: texmf/scripts/texlive/tlmgr.pl # OPTION # sub action_option { -@@ -4470,6 +4682,74 @@ +@@ -4471,6 +4683,74 @@ # sub init_tlmedia { @@ -1462,7 +1463,7 @@ Index: texmf/scripts/texlive/tlmgr.pl if (defined($remotetlpdb) && ($remotetlpdb->root eq $location)) { # nothing to be done return; -@@ -4483,11 +4763,29 @@ +@@ -4484,11 +4764,29 @@ $location =~ s,^$TeXLiveServerURL,$mirrorbase,; } @@ -1492,7 +1493,7 @@ Index: texmf/scripts/texlive/tlmgr.pl # if we talk about a net location try to download the hash of the tlpdb # - if that is possible, check for the locally saved file and if the hash # agrees load the local copy if present instead of the remote one, -@@ -4632,8 +4930,30 @@ +@@ -4633,8 +4931,30 @@ close($tlfh); } } |