diff options
Diffstat (limited to 'Master')
-rw-r--r-- | Master/tlpkg/dev/dev.multi-source-support-v2.patch | 73 |
1 files changed, 31 insertions, 42 deletions
diff --git a/Master/tlpkg/dev/dev.multi-source-support-v2.patch b/Master/tlpkg/dev/dev.multi-source-support-v2.patch index 6df7d7e6fc5..b884aa879d5 100644 --- a/Master/tlpkg/dev/dev.multi-source-support-v2.patch +++ b/Master/tlpkg/dev/dev.multi-source-support-v2.patch @@ -1,12 +1,12 @@ --- texmf/scripts/texlive/tlmgr.pl | 907 ++++++++++++++++++++++++++++++++++------- - tlpkg/TeXLive/TLPDB.pm | 669 +++++++++++++++++++++++++++--- - 2 files changed, 1379 insertions(+), 197 deletions(-) + tlpkg/TeXLive/TLPDB.pm | 665 +++++++++++++++++++++++++++--- + 2 files changed, 1377 insertions(+), 195 deletions(-) Index: tlpkg/TeXLive/TLPDB.pm =================================================================== --- tlpkg/TeXLive/TLPDB.pm.orig 2012-01-19 23:54:41.731610641 +0900 -+++ tlpkg/TeXLive/TLPDB.pm 2012-01-19 23:54:46.295697957 +0900 ++++ tlpkg/TeXLive/TLPDB.pm 2012-01-27 13:21:36.856478592 +0900 @@ -70,20 +70,31 @@ $tlpdb->settings; $tlpdb->setting($key, [$value]); @@ -243,7 +243,7 @@ Index: tlpkg/TeXLive/TLPDB.pm The next (or first) argument is the target TLPDB, then a list of packages. -+In the virtual case, ++In the virtual case, +if a package name is tagged with C<@repository-tag> then all the +dependencies will still be expanded between all included databases. +Only in case of .ARCH dependencies the repository-tag is sticky. @@ -299,7 +299,7 @@ Index: tlpkg/TeXLive/TLPDB.pm } - return(keys %install); + # create return list -+ return map { $install{$_} eq "0"?$_:"$_\@" . $install{$_} } keys %install; ++ return map { $install{$_} eq "0"?$_:"$_\@" . $install{$_} } keys %install; + #return(keys %install); } @@ -323,12 +323,10 @@ Index: tlpkg/TeXLive/TLPDB.pm if (@_) { $self->{'root'} = shift } return $self->{'root'}; } -@@ -886,7 +1032,11 @@ - =cut +@@ -887,6 +1033,10 @@ sub location { -- my $self = shift; -+ my $self = shift; + my $self = shift; + if ($self->is_virtual) { + tlwarn("cannot get location of a virtual tlpdb\n"); + return 0; @@ -452,15 +450,6 @@ Index: tlpkg/TeXLive/TLPDB.pm if (!defined($tlpobjs{$p})) { warn "STRANGE: $p not to be found in ", $self->root; next; -@@ -1095,7 +1281,7 @@ - $size += $tlpobj->srccontainersize if $opt_src; - $size += $tlpobj->doccontainersize if $opt_doc; - } else { -- # we have to add the respective sizes, that is checking for -+ # we have to add the respective sizes, that is checking for - # installation of src and doc file - $size = $tlpobj->runsize; - $size += $tlpobj->srcsize if $opt_src; @@ -1110,31 +1296,46 @@ =pod @@ -648,7 +637,7 @@ Index: tlpkg/TeXLive/TLPDB.pm + my $self = shift; + if (defined($self->{'virtual'}) && $self->{'virtual'}) { + return 1; -+ } ++ } + return 0; +} + @@ -778,7 +767,7 @@ Index: tlpkg/TeXLive/TLPDB.pm +Returns either a list of four undef, if no install candidate is found, +or the following information on the install candidate as list: the tag +name of the repository, the revision number of the package in the -+candidate repository, the tlpobj of the package in the candidate ++candidate repository, the tlpobj of the package in the candidate +repository, and the candidate repository's TLPDB itself. + +=cut @@ -788,7 +777,7 @@ Index: tlpkg/TeXLive/TLPDB.pm + my ($self, $pkg) = @_; + my $t = $self->{'packages'}{$pkg}{'target'}; + if (defined($t)) { -+ return ($t, $self->{'packages'}{$pkg}{'tags'}{$t}{'revision'}, ++ return ($t, $self->{'packages'}{$pkg}{'tags'}{$t}{'revision'}, + $self->{'packages'}{$pkg}{'tags'}{$t}{'tlp'}, $self->{'tlpdbs'}{$t}); + } + return(undef,undef,undef,undef); @@ -801,7 +790,7 @@ Index: tlpkg/TeXLive/TLPDB.pm + +With an argument it must be a list of pins, where each pin +must be one hash ref with the following keys: -+C<repo> the tag of the repository, ++C<repo> the tag of the repository, +C<glob> the glob for matching a package +C<re> the regexp which corresponds to the glob +C<line> the line where the glob was found (for warning purpose). @@ -841,9 +830,9 @@ Index: tlpkg/TeXLive/TLPDB.pm + $m{'repo'} = $a; + $m{'line'} = $l; + # split the package globs -+ for (split(/,/, $b)) { ++ for (split(/,/, $b)) { + my %mm = %m; -+ $mm{'glob'} = $_; ++ $mm{'glob'} = $_; + $mm{'re'} = glob_to_regex($_); + push @ret, \%mm; + } @@ -877,7 +866,7 @@ Index: tlpkg/TeXLive/TLPDB.pm + # check that all pinning lines where hit + for my $p (@pins) { + next if defined($p->{'hit'}); -+ tlwarn("pinning warning: the entry in line\n ", $p->{'line'}, ++ tlwarn("pinning warning: the entry in line\n ", $p->{'line'}, + "\nconcerning the package pattern ", $p->{'glob'}, + "\nis not matched by any package!\n"); + } @@ -965,7 +954,7 @@ Index: tlpkg/TeXLive/TLPDB.pm Index: texmf/scripts/texlive/tlmgr.pl =================================================================== --- texmf/scripts/texlive/tlmgr.pl.orig 2012-01-19 23:54:41.703610104 +0900 -+++ texmf/scripts/texlive/tlmgr.pl 2012-01-24 00:37:45.177900482 +0900 ++++ texmf/scripts/texlive/tlmgr.pl 2012-01-27 13:21:46.424487329 +0900 @@ -124,6 +124,7 @@ "package-logfile" => "=s", "persistent-downloads" => "!", @@ -1083,7 +1072,7 @@ Index: texmf/scripts/texlive/tlmgr.pl - } else { - print "(none found)\n"; + if ($remotetlpdb->is_virtual) { -+ # we might have a package that is available in a ++ # we might have a package that is available in a + # subsidiary repository, but not installable + # because it is not pinned + # we will list it but warn about this fact @@ -1093,7 +1082,7 @@ Index: texmf/scripts/texlive/tlmgr.pl + if (defined($first)) { + tlwarn("strange, we have a first candidate but no tlp: $pkg\n"); + next; -+ } ++ } + # already shifted away the first element + if ($#cand >= 0) { + # recursively showing all tags, but warn @@ -1348,7 +1337,7 @@ Index: texmf/scripts/texlive/tlmgr.pl + $is .= sprintf ('%*2$s', $pkg, -($flen-$kbstrlen)); + $is .= "$kbstr: "; + } -+ $is .= sprintf("local: %6s, source: %8s", ++ $is .= sprintf("local: %8s, source: %8s", + $lrev, $mrev); + info("$is\n"); +} @@ -1364,7 +1353,7 @@ Index: texmf/scripts/texlive/tlmgr.pl + my $mediatlp; + my $maxtag; + if ($remotetlpdb->is_virtual) { -+ ($maxtag, undef, $mediatlp, undef) = ++ ($maxtag, undef, $mediatlp, undef) = + $remotetlpdb->virtual_candidate($pkg); + } else { + $mediatlp = $remotetlpdb->get_package($pkg); @@ -1440,7 +1429,7 @@ Index: texmf/scripts/texlive/tlmgr.pl + my $mediatlp; + my $maxtag; + if ($remotetlpdb->is_virtual) { -+ ($maxtag, undef, $mediatlp, undef) = ++ ($maxtag, undef, $mediatlp, undef) = + $remotetlpdb->virtual_candidate($pkg); + } else { + $mediatlp = $remotetlpdb->get_package($pkg); @@ -1520,7 +1509,7 @@ Index: texmf/scripts/texlive/tlmgr.pl + my $mediatlp; + my $maxtag; + if ($remotetlpdb->is_virtual) { -+ ($maxtag, undef, $mediatlp, undef) = ++ ($maxtag, undef, $mediatlp, undef) = + $remotetlpdb->virtual_candidate($pkg); + } else { + $mediatlp = $remotetlpdb->get_package($pkg); @@ -1580,7 +1569,7 @@ Index: texmf/scripts/texlive/tlmgr.pl @packs = $remotetlpdb->expand_dependencies($localtlpdb, @packs) unless $opts{"no-depends"}; } # -+ # expand dependencies returns a list pkg@tag in case of a virtual ++ # expand dependencies returns a list pkg@tag in case of a virtual + # remote db. + my %packs; + for my $p (@packs) { @@ -1608,7 +1597,7 @@ Index: texmf/scripts/texlive/tlmgr.pl + # if the package name is asked from a specific repository, use + # that one, otherwise leave the decision to $remotetlpdb by not + # giving a final argument -+ my $mediatlp = $remotetlpdb->get_package($pkg, ++ my $mediatlp = $remotetlpdb->get_package($pkg, + ($packs{$pkg} ? $packs{$pkg} : undef)); if (!defined($mediatlp)) { tlwarn("package $pkg not present in package repository.\n"); @@ -1638,7 +1627,7 @@ Index: texmf/scripts/texlive/tlmgr.pl } if (!$opts{"dry-run"}) { - $remotetlpdb->install_package($pkg, $localtlpdb); -+ $remotetlpdb->install_package($pkg, $localtlpdb, ++ $remotetlpdb->install_package($pkg, $localtlpdb, + ($packs{$pkg} ? $packs{$pkg} : undef) ); logpackage("${re}install: $pkg"); } @@ -1684,7 +1673,7 @@ Index: texmf/scripts/texlive/tlmgr.pl + if (defined($first)) { + tlwarn("strange, we have a first candidate but no tlp: $_\n"); + next; -+ } ++ } + # already shifted away the first element + if ($#cand >= 0) { + print "$_: --- no installable candidate found, \n"; @@ -2070,13 +2059,13 @@ Index: texmf/scripts/texlive/tlmgr.pl + +Without multiple repository support using these additional repositories +needed an extra invocation and temporarily setting the installation -+source to this additional repository. By setting up all the ++source to this additional repository. By setting up all the +repositories as sources of packages one does not need to +use multiple invocations of tlmgr anymore. + +B<Warning:> Although support for multiple repositories has been +tested extensively, it does not guarantee proper operation. If you -+want to be sure not to break anything, consider continuing ++want to be sure not to break anything, consider continuing +using multiple invocations of tlmgr. + +When using multiple repositories, one has to be the main repository, @@ -2086,7 +2075,7 @@ Index: texmf/scripts/texlive/tlmgr.pl +set repository will be set as the main repository. + +By default, even if multiple repositories are configured, packages -+are B<only> installed from the main repository, as long as ++are B<only> installed from the main repository, as long as +packages are not explicitely pinned to a different repository. +That also means by simply adding another repository you will +B<not> be able to install the packages from there, you first @@ -2114,8 +2103,8 @@ Index: texmf/scripts/texlive/tlmgr.pl + main:* + +If a package C<foo> is pinned to a repository, any package -+C<foo> in any other repository, even if it has a higher -+revision number, will not be considered as installable ++C<foo> in any other repository, even if it has a higher ++revision number, will not be considered as installable +candidate. + +=head2 Usage example with tlcontrib @@ -2129,7 +2118,7 @@ Index: texmf/scripts/texlive/tlmgr.pl +- add tlcontrib repository (and give it a short name) + + $ tlmgr repository add http://tlcontrib.metatex.org/2011 tlcontrib -+ ++ +- check repositories: + + $ tlmgr repository list |