From 664aaa5af02335fefe5b420cbffd20f403dafe95 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 19 Jan 2012 09:14:45 +0000 Subject: remove quilt patches, I have to keep that in the working tl installation where I develop update the multi-source patch and the mupdmap integration patch git-svn-id: svn://tug.org/texlive/trunk@25153 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/dev/dev.multi-source-support-v2.patch | 290 +-- Master/tlpkg/dev/dev.mupdmap-integration | 976 +++++++++ .../dev.multi-source-support-v2.patch | 2177 -------------------- .../dev/quilt-patches/dev.mupdmap-integration | 976 --------- Master/tlpkg/dev/quilt-patches/series | 2 - 5 files changed, 1128 insertions(+), 3293 deletions(-) create mode 100644 Master/tlpkg/dev/dev.mupdmap-integration delete mode 100644 Master/tlpkg/dev/quilt-patches/dev.multi-source-support-v2.patch delete mode 100644 Master/tlpkg/dev/quilt-patches/dev.mupdmap-integration delete mode 100644 Master/tlpkg/dev/quilt-patches/series (limited to 'Master/tlpkg/dev') diff --git a/Master/tlpkg/dev/dev.multi-source-support-v2.patch b/Master/tlpkg/dev/dev.multi-source-support-v2.patch index fc482b9ffe1..ee0d0f2d386 100644 --- a/Master/tlpkg/dev/dev.multi-source-support-v2.patch +++ b/Master/tlpkg/dev/dev.multi-source-support-v2.patch @@ -1,7 +1,12 @@ +--- + texmf/scripts/texlive/tlmgr.pl | 907 ++++++++++++++++++++++++++++++++++------- + tlpkg/TeXLive/TLPDB.pm | 669 +++++++++++++++++++++++++++--- + 2 files changed, 1379 insertions(+), 197 deletions(-) + Index: tlpkg/TeXLive/TLPDB.pm =================================================================== ---- tlpkg/TeXLive/TLPDB.pm (revision 25070) -+++ tlpkg/TeXLive/TLPDB.pm (working copy) +--- tlpkg/TeXLive/TLPDB.pm.orig 2012-01-18 10:10:14.054521486 +0900 ++++ tlpkg/TeXLive/TLPDB.pm 2012-01-18 11:05:39.223509405 +0900 @@ -70,20 +70,31 @@ $tlpdb->settings; $tlpdb->setting($key, [$value]); @@ -959,8 +964,8 @@ Index: tlpkg/TeXLive/TLPDB.pm =head1 OPTIONS Index: texmf/scripts/texlive/tlmgr.pl =================================================================== ---- texmf/scripts/texlive/tlmgr.pl (revision 25070) -+++ texmf/scripts/texlive/tlmgr.pl (working copy) +--- texmf/scripts/texlive/tlmgr.pl.orig 2012-01-18 10:10:14.046521530 +0900 ++++ texmf/scripts/texlive/tlmgr.pl 2012-01-18 11:06:18.972002414 +0900 @@ -124,6 +124,7 @@ "package-logfile" => "=s", "persistent-downloads" => "!", @@ -1015,6 +1020,18 @@ Index: texmf/scripts/texlive/tlmgr.pl init_tlmedia(); } - $tlp = $remotetlpdb->get_package($pkg); +- $tlpdb = $remotetlpdb; +- } else { +- $installed = 1; +- } +- if ($tlp) { +- my @colls; +- if ($tlp->category ne "Collection" && $tlp->category ne "Scheme") { +- @colls = $localtlpdb->needed_by($pkg); +- if (!@colls) { +- # not referenced in the local tlpdb, so try the remote here, too +- if (!$remotetlpdb) { +- init_tlmedia(); + if (defined($tag)) { + if (!$remotetlpdb->is_virtual) { + tlwarn("tlmgr: specifying implicite tags is not allowed for non-virtual databases!\n"); @@ -1023,9 +1040,33 @@ Index: texmf/scripts/texlive/tlmgr.pl + if (!$remotetlpdb->is_repository($tag)) { + tlwarn("tlmgr: no such repository tag defined: $tag\n"); + next; -+ } -+ } -+ } + } +- @colls = $remotetlpdb->needed_by($pkg); + } + } +- # some packages might depend on other packages, so do not +- # include arbitrary package in the list of collections, but +- # only collectons: +- @colls = grep {m;^collection-;} @colls; +- print "package: ", $tlp->name, "\n"; +- print "category: ", $tlp->category, "\n"; +- print "shortdesc: ", $tlp->shortdesc, "\n" if ($tlp->shortdesc); +- print "longdesc: ", $tlp->longdesc, "\n" if ($tlp->longdesc); +- print "installed: ", ($installed ? "Yes" : "No"), "\n"; +- print "revision: ", $tlp->revision, "\n" if ($installed); +- print "cat-version: ", $tlp->cataloguedata->{'version'}, "\n" +- if $tlp->cataloguedata->{'version'}; +- print "cat-date: ", $tlp->cataloguedata->{'date'}, "\n" +- if $tlp->cataloguedata->{'date'}; +- print "cat-license: ", $tlp->cataloguedata->{'license'}, "\n" +- if $tlp->cataloguedata->{'license'}; +- print "collection: ", @colls, "\n" if (@colls); +- if ($opts{"keyword"} || $opts{"taxonomy"}) { +- print "keywords: "; +- if (defined($taxonomy->{'by-package'}{'keyword'}{$pkg})) { +- print join(', ',@{$taxonomy->{'by-package'}{'keyword'}{$pkg}}), "\n"; +- } else { +- print "(none found)\n"; + $tlp = $remotetlpdb->get_package($pkg, $tag); + if (!$tlp) { + if (defined($tag)) { @@ -1033,7 +1074,14 @@ Index: texmf/scripts/texlive/tlmgr.pl + # all candidates! + tlwarn("tlmgr: Cannot find package $pkg in repository $tag\n"); + next; -+ } + } +- } +- if ($opts{"functionality"} || $opts{"taxonomy"}) { +- print "function: "; +- if (defined($taxonomy->{'by-package'}{'functionality'}{$pkg})) { +- print join(', ',@{$taxonomy->{'by-package'}{'functionality'}{$pkg}}), "\n"; +- } else { +- print "(none found)\n"; + if ($remotetlpdb->is_virtual) { + # we might have a package that is available in a + # subsidiary repository, but not installable @@ -1068,24 +1116,27 @@ Index: texmf/scripts/texlive/tlmgr.pl + tlwarn("strange, package listed but no candidates: $pkg\n"); + next; + } -+ } + } + tlwarn("tlmgr: cannot find package $pkg\n"); + next; -+ } - $tlpdb = $remotetlpdb; - } else { - $installed = 1; - } -- if ($tlp) { -- my @colls; -- if ($tlp->category ne "Collection" && $tlp->category ne "Scheme") { -- @colls = $localtlpdb->needed_by($pkg); -- if (!@colls) { -- # not referenced in the local tlpdb, so try the remote here, too -- if (!$remotetlpdb) { -- init_tlmedia(); -- } -- @colls = $remotetlpdb->needed_by($pkg); + } +- if ($opts{"characterization"} || $opts{"taxonomy"}) { +- print "primary characterization: "; +- if (defined($taxonomy->{'by-package'}{'primary'}{$pkg})) { +- print $taxonomy->{'by-package'}{'primary'}{$pkg}, "\n"; +- } else { +- print "(none found)\n"; +- } +- print "secondary characterization: "; +- if (defined($taxonomy->{'by-package'}{'secondary'}{$pkg})) { +- print $taxonomy->{'by-package'}{'secondary'}{$pkg}, "\n"; +- } else { +- print "(none found)\n"; +- } ++ $tlpdb = $remotetlpdb; ++ } else { ++ $installed = 1; ++ } + my @colls; + if ($tlp->category ne "Collection" && $tlp->category ne "Scheme") { + @colls = $localtlpdb->needed_by($pkg); @@ -1093,33 +1144,9 @@ Index: texmf/scripts/texlive/tlmgr.pl + # not referenced in the local tlpdb, so try the remote here, too + if (!$remotetlpdb) { + init_tlmedia(); - } ++ } + @colls = $remotetlpdb->needed_by($pkg); - } -- # some packages might depend on other packages, so do not -- # include arbitrary package in the list of collections, but -- # only collectons: -- @colls = grep {m;^collection-;} @colls; -- print "package: ", $tlp->name, "\n"; -- print "category: ", $tlp->category, "\n"; -- print "shortdesc: ", $tlp->shortdesc, "\n" if ($tlp->shortdesc); -- print "longdesc: ", $tlp->longdesc, "\n" if ($tlp->longdesc); -- print "installed: ", ($installed ? "Yes" : "No"), "\n"; -- print "revision: ", $tlp->revision, "\n" if ($installed); -- print "cat-version: ", $tlp->cataloguedata->{'version'}, "\n" -- if $tlp->cataloguedata->{'version'}; -- print "cat-date: ", $tlp->cataloguedata->{'date'}, "\n" -- if $tlp->cataloguedata->{'date'}; -- print "cat-license: ", $tlp->cataloguedata->{'license'}, "\n" -- if $tlp->cataloguedata->{'license'}; -- print "collection: ", @colls, "\n" if (@colls); -- if ($opts{"keyword"} || $opts{"taxonomy"}) { -- print "keywords: "; -- if (defined($taxonomy->{'by-package'}{'keyword'}{$pkg})) { -- print join(', ',@{$taxonomy->{'by-package'}{'keyword'}{$pkg}}), "\n"; -- } else { -- print "(none found)\n"; -- } ++ } + } + # some packages might depend on other packages, so do not + # include arbitrary package in the list of collections, but @@ -1145,13 +1172,7 @@ Index: texmf/scripts/texlive/tlmgr.pl + print join(', ',@{$taxonomy->{'by-package'}{'keyword'}{$pkg}}), "\n"; + } else { + print "(none found)\n"; - } -- if ($opts{"functionality"} || $opts{"taxonomy"}) { -- print "function: "; -- if (defined($taxonomy->{'by-package'}{'functionality'}{$pkg})) { -- print join(', ',@{$taxonomy->{'by-package'}{'functionality'}{$pkg}}), "\n"; -- } else { -- print "(none found)\n"; ++ } + } + if ($opts{"functionality"} || $opts{"taxonomy"}) { + print "function: "; @@ -1173,44 +1194,7 @@ Index: texmf/scripts/texlive/tlmgr.pl + print $taxonomy->{'by-package'}{'secondary'}{$pkg}, "\n"; + } else { + print "(none found)\n"; -+ } -+ } -+ if ($opts{"list"}) { -+ if ($tlp->category eq "Collection" || $tlp->category eq "Scheme") { -+ # in the case of collections of schemes we list the deps -+ my @deps = $tlp->depends; -+ if (@deps) { -+ print "depends:\n"; -+ for my $d (@deps) { -+ print "\t$d\n"; -+ } - } } -- if ($opts{"characterization"} || $opts{"taxonomy"}) { -- print "primary characterization: "; -- if (defined($taxonomy->{'by-package'}{'primary'}{$pkg})) { -- print $taxonomy->{'by-package'}{'primary'}{$pkg}, "\n"; -- } else { -- print "(none found)\n"; -+ print "Included files, by type:\n"; -+ # if the package has a .ARCH dependency we also list the files for -+ # those packages -+ my @todo = $tlpdb->expand_dependencies("-only-arch", $tlpdb, ($pkg)); -+ for my $d (sort @todo) { -+ my $foo = $tlpdb->get_package($d); -+ if (!$foo) { -+ tlwarn ("\nShould not happen, no dependent package $d\n"); -+ next; - } -- print "secondary characterization: "; -- if (defined($taxonomy->{'by-package'}{'secondary'}{$pkg})) { -- print $taxonomy->{'by-package'}{'secondary'}{$pkg}, "\n"; -- } else { -- print "(none found)\n"; -+ if ($d ne $pkg) { -+ print "depending package $d:\n"; - } -- } - if ($opts{"list"}) { - if ($tlp->category eq "Collection" || $tlp->category eq "Scheme") { - # in the case of collections of schemes we list the deps @@ -1220,10 +1204,16 @@ Index: texmf/scripts/texlive/tlmgr.pl - for my $d (@deps) { - print "\t$d\n"; - } -- } -+ if ($foo->runfiles) { -+ print "run files:\n"; -+ for my $f (sort $foo->runfiles) { print " $f\n"; } ++ } ++ if ($opts{"list"}) { ++ if ($tlp->category eq "Collection" || $tlp->category eq "Scheme") { ++ # in the case of collections of schemes we list the deps ++ my @deps = $tlp->depends; ++ if (@deps) { ++ print "depends:\n"; ++ for my $d (@deps) { ++ print "\t$d\n"; + } } - print "Included files, by type:\n"; - # if the package has a .ARCH dependency we also list the files for @@ -1255,6 +1245,24 @@ Index: texmf/scripts/texlive/tlmgr.pl - for my $k (keys %{$dfd->{$f}}) { - print " $k=\"", $dfd->{$f}->{$k}, '"'; - } ++ } ++ print "Included files, by type:\n"; ++ # if the package has a .ARCH dependency we also list the files for ++ # those packages ++ my @todo = $tlpdb->expand_dependencies("-only-arch", $tlpdb, ($pkg)); ++ for my $d (sort @todo) { ++ my $foo = $tlpdb->get_package($d); ++ if (!$foo) { ++ tlwarn ("\nShould not happen, no dependent package $d\n"); ++ next; ++ } ++ if ($d ne $pkg) { ++ print "depending package $d:\n"; ++ } ++ if ($foo->runfiles) { ++ print "run files:\n"; ++ for my $f (sort $foo->runfiles) { print " $f\n"; } ++ } + if ($foo->srcfiles) { + print "source files:\n"; + for my $f (sort $foo->srcfiles) { print " $f\n"; } @@ -1277,12 +1285,12 @@ Index: texmf/scripts/texlive/tlmgr.pl - print "bin files (all platforms):\n"; - for my $f (sort $foo->allbinfiles) { print " $f\n"; } - } - } ++ } + # in case we have them + if ($foo->allbinfiles) { + print "bin files (all platforms):\n"; + for my $f (sort $foo->allbinfiles) { print " $f\n"; } -+ } + } } - print "\n"; - } else { @@ -1333,7 +1341,7 @@ Index: texmf/scripts/texlive/tlmgr.pl + my $kbstr = ($kb >= 0 ? " [${kb}k]" : ""); + my $kbstrlen = length($kbstr); + my $pkglen = length($pkg); -+ my $is = sprintf("%-10s ", "$txt:"); ++ my $is = sprintf("%-9s ", "$txt:"); + if ($pkglen + $kbstrlen > $flen) { + $is .= "$pkg$kbstr: "; + } else { @@ -1402,7 +1410,7 @@ Index: texmf/scripts/texlive/tlmgr.pl machine_line($p, $FLAG_REMOVE, $rev, "-", "-", "-"); } else { - info("$p: local: $rev, source: (auto-remove)\n"); -+ upd_info($p, -1, $rev, "", "a-remove"); ++ upd_info($p, -1, $rev, "", "autorm"); } $currnr++; } else { @@ -1424,7 +1432,7 @@ Index: texmf/scripts/texlive/tlmgr.pl $currnr++; } } -@@ -2678,19 +2787,39 @@ +@@ -2678,19 +2787,44 @@ my $unwind_package; my $remove_unwind_container = 0; my $rev = $tlp->revision; @@ -1461,13 +1469,18 @@ Index: texmf/scripts/texlive/tlmgr.pl + my @cand = $remotetlpdb->candidates($pkg); + shift @cand; # remove the top element + if (@cand) { -+ print "\tother candidates: @cand\n"; ++ print "\tother candidates: "; ++ for my $a (@cand) { ++ my ($t,$r) = split(/\//, $a, 2); ++ print $r . '@' . $t . " "; ++ } ++ print "\n"; + } + } } $updated{$pkg} = 1; next; -@@ -2731,10 +2860,11 @@ +@@ -2731,10 +2865,11 @@ } if ($::machinereadable) { @@ -1481,7 +1494,7 @@ Index: texmf/scripts/texlive/tlmgr.pl } $donesize += $sizes{$pkg}; $currnr++; -@@ -2777,7 +2907,7 @@ +@@ -2777,7 +2912,7 @@ } if ($remotetlpdb->install_package($pkg, $localtlpdb)) { # installation succeeded because we got a reference @@ -1490,7 +1503,7 @@ Index: texmf/scripts/texlive/tlmgr.pl unlink($unwind_package) if $remove_unwind_container; # remember successful update $updated{$pkg} = 1; -@@ -2805,7 +2935,7 @@ +@@ -2805,7 +2940,7 @@ # now in fact we should do some cleanup, removing files and # dirs from the new package before re-installing the old one. # TODO @@ -1499,7 +1512,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 -@@ -2846,12 +2976,25 @@ +@@ -2846,12 +2981,25 @@ unless $::machinereadable; } else { # install new packages @@ -1526,7 +1539,7 @@ Index: texmf/scripts/texlive/tlmgr.pl my ($estrem, $esttot); if (!$opts{"list"}) { ($estrem, $esttot) = TeXLive::TLUtils::time_estimate($totalsize, -@@ -2861,14 +3004,16 @@ +@@ -2861,14 +3009,16 @@ my @maargs = ($pkg, $FLAG_AUTOINSTALL, "-", $mediatlp->revision, $sizes{$pkg}); if (!$opts{"list"}) { push @maargs, $estrem, $esttot; @@ -1539,14 +1552,14 @@ Index: texmf/scripts/texlive/tlmgr.pl my $kb = int($sizes{$pkg} / 1024) + 1; if ($opts{"list"}) { - info("$pkg [${kb}k]: local: , source: " . $mediatlp->revision . " (auto-install)\n"); -+ upd_info($pkg, $kb, "", $mediarevstr, "a-install"); ++ upd_info($pkg, $kb, "", $mediarevstr, "autoinst"); } else { - info("[$currnr/$totalnr, $estrem/$esttot] auto-install: $pkg [${kb}k]\n"); + info("[$currnr/$totalnr, $estrem/$esttot] auto-install: $pkg ($mediarevstr) [${kb}k]\n"); } } $currnr++; -@@ -2876,7 +3021,7 @@ +@@ -2876,7 +3026,7 @@ next if ($opts{"dry-run"} || $opts{"list"}); if ($remotetlpdb->install_package($pkg, $localtlpdb)) { # installation succeeded because we got a reference @@ -1555,7 +1568,7 @@ Index: texmf/scripts/texlive/tlmgr.pl $nrupdated++; } else { tlwarn("$0: couldn't install new package $pkg\n"); -@@ -3023,6 +3168,7 @@ +@@ -3023,6 +3173,7 @@ if (!(@new || @updated)) { info("tlmgr: no updates available\n"); if ($remotetlpdb->media ne "NET" @@ -1563,7 +1576,7 @@ Index: texmf/scripts/texlive/tlmgr.pl && !$opts{"dry-run"} && !$opts{"repository"} ) { -@@ -3101,6 +3247,14 @@ +@@ -3101,6 +3252,14 @@ @packs = $remotetlpdb->expand_dependencies($localtlpdb, @packs) unless $opts{"no-depends"}; } # @@ -1578,7 +1591,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 -@@ -3108,7 +3262,7 @@ +@@ -3108,7 +3267,7 @@ my @inst_packs; my @inst_colls; my @inst_schemes; @@ -1587,7 +1600,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; -@@ -3127,7 +3281,11 @@ +@@ -3127,7 +3286,11 @@ my @todo; for my $pkg (@inst_packs, @inst_colls, @inst_schemes) { my $pkgrev = 0; @@ -1600,7 +1613,7 @@ Index: texmf/scripts/texlive/tlmgr.pl if (!defined($mediatlp)) { tlwarn("package $pkg not present in package repository.\n"); next; -@@ -3175,13 +3333,26 @@ +@@ -3175,13 +3338,26 @@ my ($estrem, $esttot) = TeXLive::TLUtils::time_estimate($totalsize, $donesize, $starttime); my $kb = int($sizes{$pkg} / 1024) + 1; @@ -1630,7 +1643,7 @@ Index: texmf/scripts/texlive/tlmgr.pl logpackage("${re}install: $pkg"); } $donesize += $sizes{$pkg}; -@@ -3204,7 +3375,7 @@ +@@ -3204,7 +3380,7 @@ # we list them, otherwise we go direct into tlmgr show $pkg mode if ($what !~ m/^(collection|scheme)/i) { tlwarn("(switching to show mode)\n"); @@ -1639,7 +1652,7 @@ Index: texmf/scripts/texlive/tlmgr.pl return; } } else { -@@ -3223,7 +3394,11 @@ +@@ -3223,7 +3399,11 @@ } elsif ($what =~ m/^scheme/i) { @whattolist = $tlm->schemes; } else { @@ -1652,7 +1665,7 @@ Index: texmf/scripts/texlive/tlmgr.pl } foreach (@whattolist) { next if ($_ =~ m/^00texlive/); -@@ -3232,13 +3407,199 @@ +@@ -3232,12 +3412,198 @@ } else { print " "; } @@ -1712,7 +1725,7 @@ Index: texmf/scripts/texlive/tlmgr.pl +# tlmgr repository remove [path|tag] -> removes repository or tag +# tlmgr repository set path[#tag] [path[#tag] ...] -> sets the list +# - ++ +sub array_to_repository { + my %r = @_; + my @ret; @@ -1849,11 +1862,10 @@ Index: texmf/scripts/texlive/tlmgr.pl + } + return; +} -+ + # OPTION # - sub action_option { -@@ -4601,6 +4962,82 @@ +@@ -4601,6 +4967,87 @@ # sub init_tlmedia { @@ -1924,8 +1936,13 @@ Index: texmf/scripts/texlive/tlmgr.pl + # this "location-url" line should not be changed since GUI programs + # depend on it: + print "location-url\t$locstr\n" if $::machinereadable; -+ info("tlmgr: package repository $locstr\n"); -+ ++ info("tlmgr: package repository:\n"); ++ info("\tmain = " . $repos{'main'} . "\n"); ++ for my $t (@tags) { ++ if ($t ne 'main') { ++ info("\t$t = " . $repos{$t} . "\n"); ++ } ++ } +} + + @@ -1936,7 +1953,7 @@ Index: texmf/scripts/texlive/tlmgr.pl if (defined($remotetlpdb) && ($remotetlpdb->root eq $location)) { # nothing to be done return; -@@ -4614,11 +5051,29 @@ +@@ -4614,10 +5061,28 @@ $location =~ s,^$TeXLiveServerURL,$mirrorbase,; } @@ -1946,7 +1963,7 @@ Index: texmf/scripts/texlive/tlmgr.pl print "location-url\t$location\n" if $::machinereadable; info("tlmgr: package repository $location\n"); +} - ++ +sub setup_one_remotetlpdb +{ + my $location = shift; @@ -1962,11 +1979,10 @@ Index: texmf/scripts/texlive/tlmgr.pl + my $mirrorbase = TeXLive::TLUtils::give_ctan_mirror_base(); + $location =~ s,^$TeXLiveServerURL,$mirrorbase,; + } -+ + # 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, -@@ -4763,8 +5218,30 @@ +@@ -4763,8 +5228,30 @@ close($tlfh); } } @@ -1997,12 +2013,12 @@ Index: texmf/scripts/texlive/tlmgr.pl # finish handles the -pause option (wait for input from stdin), -@@ -5561,7 +6038,43 @@ +@@ -5561,6 +6048,42 @@ =back +=head2 repositoy - ++ +=over 4 + +=item B @@ -2037,16 +2053,15 @@ Index: texmf/scripts/texlive/tlmgr.pl + + +=back -+ + =head2 option - =over 4 -@@ -6198,7 +6711,119 @@ +@@ -6198,6 +6721,118 @@ GUI and a simplified GUI with only the important and mostly used settings. +=head1 MULTIPLE REPOSITORIES - ++ +Most packages are distributed via the main TeX Live repository, but +sometimes local repositories are used to provide local packages +(like commercial fonts, internal styles), as well as alternative @@ -2157,7 +2172,6 @@ Index: texmf/scripts/texlive/tlmgr.pl + +In the last part you see that the cowfont is installed from +the tlcontrib part (@tlcontrib). -+ + =head1 TAXONOMIES - tlmgr allows searching and listing of various categorizations, which we diff --git a/Master/tlpkg/dev/dev.mupdmap-integration b/Master/tlpkg/dev/dev.mupdmap-integration new file mode 100644 index 00000000000..78b96937151 --- /dev/null +++ b/Master/tlpkg/dev/dev.mupdmap-integration @@ -0,0 +1,976 @@ +--- + install-tl | 7 - + texmf-dist/web2c/updmap.cfg | 230 ++++++++++++++++++++++++++++++++++++ + texmf/scripts/texlive/tlmgr.pl | 131 +++++--------------- + texmf/web2c/updmap-hdr.cfg | 107 +---------------- + texmf/web2c/updmap.cfg | 256 ----------------------------------------- + tlpkg/TeXLive/TLUtils.pm | 67 ---------- + 6 files changed, 285 insertions(+), 513 deletions(-) + +Index: 2011/texmf/web2c/updmap.cfg +=================================================================== +--- 2011.orig/texmf/web2c/updmap.cfg 2012-01-19 18:07:14.946332524 +0900 ++++ 2011/texmf/web2c/updmap.cfg 2012-01-19 18:07:16.166332166 +0900 +@@ -1,31 +1,7 @@ +-# Generated by /home/texlive/karl/Master/bin/i386-linux/tlmgr on Mon Jan 9 04:29:26 2012 +-# $Id: updmap-hdr.cfg 24398 2011-10-26 01:07:22Z preining $ +-# +-# The full updmap.cfg is generated by concatenating updmap-hdr.cfg with +-# all the Map and MixedMap lines from an installation, possibly +-# appending a local configuration file. +-# +-# To make local customizations to the map files, please use of the +-# following methods: +-# +-# 1) call +-# updmap-sys --enable Map=foo.map +-# for each map file. (Or MixedMap instead of Map, if your font has +-# both Metafont and outline definitions.) See the updmap --help +-# documentation. +-# +-# 2) add your local map entries to the file +-# TEXMFLOCAL/web2c/updmap-local.cfg +-# and then call +-# tlmgr generate updmap +-# which will concatenate updmap-local.cfg to the end of the final +-# updmap.cfg. (You can override the local.cfg file location with the +-# --localcfg option; see tlmgr --help.) +-# +-# If you use either of these methods, your local adaptations will be +-# preserved when tlmgr updates the installation or this config file. +-# Manual edits to updmap.cfg may be lost on update. +- ++# ++# updmap.cfg ++# TEXMFMAIN ++# only the options are defined here + + ################################################################ + # OPTIONS +@@ -100,227 +76,3 @@ + # map file used. + kanjiEmbed noEmbed + +-################################################################ +-# Map files. +-################################################################ +-# +-# There are two possible entries: Map and MixedMap. Both have one additional +-# argument: the filename of the map file. MixedMap ("mixed" means that +-# the font is available as bitmap and as outline) lines will not be used +-# in the default map of dvips if dvipsPreferOutline is false. Inactive +-# Map files should be marked by "#! " (without the quotes), not just #. +-# +- +-Map OrnementsADF.map +-Map ArrowsADF.map +-Map BulletsADF.map +-MixedMap allrunes.map +-Map euler.map +-MixedMap cm.map +-MixedMap cmextra.map +-MixedMap cyrillic.map +-MixedMap latxfont.map +-MixedMap symbols.map +-Map uaq.map +-Map antt.map +-Map arabi.map +-MixedMap arabtex.map +-Map archaicprw.map +-Map arev.map +-Map bkaiu.map +-Map bsmiu.map +-Map gbsnu.map +-Map gkaiu.map +-Map ascii.map +-Map augie.map +-Map auncial.map +-Map aurical.map +-Map ybv.map +-MixedMap bbold.map +-Map belleek.map +-Map bera.map +-Map ybd.map +-Map sqrcaps.map +-Map boondox.map +-Map pbsi.map +-Map burmese.map +-Map calligra.map +-Map cantarell.map +-Map cmin.map +-MixedMap cbgreek-full.map +-MixedMap ccpl.map +-Map ccicons.map +-Map clm.map +-Map chemarrow.map +-Map cjhebrew.map +-MixedMap cmtext-bsr-interpolated.map +-Map cm-lgc.map +-MixedMap cm-super-t1.map +-MixedMap cm-super-t2a.map +-MixedMap cm-super-t2b.map +-MixedMap cm-super-t2c.map +-MixedMap cm-super-ts1.map +-MixedMap cm-super-x2.map +-Map cmcyr.map +-MixedMap cmll.map +-Map comfortaa.map +-Map original-context-symbol.map +-MixedMap csother.map +-MixedMap cstext.map +-Map cyklop.map +-Map dejavu-type1.map +-Map dictsym.map +-Map dstroke.map +-Map droid.map +-Map dutchcal.map +-Map yes.map +-Map epigrafica.map +-Map epiolmec.map +-MixedMap esint.map +-Map ESSTIX.map +-Map esvect.map +-MixedMap ethiop.map +-MixedMap eurosym.map +-Map fdsymbol.map +-Map fge.map +-Map foekfont.map +-Map fonetika.map +-Map fourier-utopia-expert.map +-Map fourier.map +-Map frcursive.map +-Map garuda-c90.map +-Map gfsartemisia.map +-Map gfsbaskerville.map +-Map gfsbodoni.map +-Map gfscomplutum.map +-Map gfsdidot.map +-Map gfsneohellenic.map +-Map gfsporson.map +-Map gfssolomos.map +-Map yfrak.map +-Map ugq.map +-Map grverb.map +-MixedMap hfbright.map +-MixedMap iby.map +-Map fi4.map +-Map Acorn.map +-Map AnnSton.map +-Map ArtNouv.map +-Map ArtNouvc.map +-Map Carrickc.map +-Map Eichenla.map +-Map Eileen.map +-Map EileenBl.map +-Map Elzevier.map +-Map GotIn.map +-Map GoudyIn.map +-Map Kinigcap.map +-Map Konanur.map +-Map Kramer.map +-Map MorrisIn.map +-Map Nouveaud.map +-Map Romantik.map +-Map Rothdn.map +-Map RoyalIn.map +-Map Sanremo.map +-Map Starburst.map +-Map Typocaps.map +-Map Zallman.map +-Map iwona.map +-KanjiMap otf-@kanjiEmbed@.map +-KanjiMap otf-cktx.map +-Map kerkis.map +-Map knitfont.map +-Map kpfonts.map +-Map kurier.map +-Map lato.map +-Map libertine.map +-Map yly.map +-Map linearA.map +-Map l7x-urwvn.map +-Map lm.map +-MixedMap lxfonts.map +-MixedMap manfnt.map +-Map marvosym.map +-Map mathabx.map +-Map mdbch.map +-Map mdput.map +-Map mdugm.map +-Map mdsymbol.map +-Map troff-updmap.map +-MixedMap mflogo.map +-Map MnSymbol.map +-MixedMap mongolian.map +-MixedMap musix.map +-Map norasi-c90.map +-Map cherokee.map +-Map ocrb.map +-Map oinuit.map +-Map omega.map +-Map opensans.map +-Map paratype-type1.map +-Map phaistos.map +-MixedMap pigpen.map +-MixedMap plother.map +-MixedMap pltext.map +-Map ap.map +-Map prodint.map +-Map charter.map +-Map fpls.map +-Map pazo.map +-Map utopia.map +-KanjiMap morisawa.map +-KanjiMap ptex-@kanjiEmbed@.map +-Map pxfonts.map +-Map pxtx.map +-Map recycle.map +-Map yrd.map +-MixedMap rsfs.map +-Map rsfso.map +-Map skt.map +-MixedMap semaf.map +-Map SkakNew.map +-Map starfont.map +-Map icelandic.map +-MixedMap stmaryrd.map +-Map tabvar.map +-Map mathpple.map +-Map qag.map +-Map qbk.map +-Map qcr.map +-Map qcs.map +-Map qhv.map +-Map qpl.map +-Map qtm.map +-Map qzc.map +-Map tfrupee.map +-MixedMap tipa.map +-MixedMap trajan.map +-Map txfonts.map +-Map gptimes.map +-Map umj.map +-MixedMap dvng.map +-Map yv1.map +-Map yv2.map +-Map yv3.map +-Map yvo.map +-Map yvt.map +-Map arevvn.map +-Map chartervn.map +-Map cmbrightvn.map +-Map concretevn.map +-Map grotesqvn.map +-Map txttvn.map +-Map urwvn.map +-MixedMap vnrother.map +-MixedMap vnrtext.map +-Map vntopia.map +-Map dgj.map +-Map dmj.map +-Map mc2j.map +-Map mcj.map +-Map mr2j.map +-Map mrj.map +-MixedMap wasy.map +-MixedMap xypic.map +-MixedMap yhmath.map +Index: 2011/texmf-dist/web2c/updmap.cfg +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ 2011/texmf-dist/web2c/updmap.cfg 2012-01-19 18:07:16.166332166 +0900 +@@ -0,0 +1,230 @@ ++# ++# updmap.cfg ++# TEXMFDIST ++# only contains the actual maps ++# settings are in TEXMFMAIN ++ ++################################################################ ++# Map files. ++################################################################ ++# ++# There are two possible entries: Map and MixedMap. Both have one additional ++# argument: the filename of the map file. MixedMap ("mixed" means that ++# the font is available as bitmap and as outline) lines will not be used ++# in the default map of dvips if dvipsPreferOutline is false. Inactive ++# Map files should be marked by "#! " (without the quotes), not just #. ++# ++ ++Map OrnementsADF.map ++Map ArrowsADF.map ++Map BulletsADF.map ++MixedMap allrunes.map ++Map euler.map ++MixedMap cm.map ++MixedMap cmextra.map ++MixedMap cyrillic.map ++MixedMap latxfont.map ++MixedMap symbols.map ++Map uaq.map ++Map antt.map ++Map arabi.map ++MixedMap arabtex.map ++Map archaicprw.map ++Map arev.map ++Map bkaiu.map ++Map bsmiu.map ++Map gbsnu.map ++Map gkaiu.map ++Map ascii.map ++Map augie.map ++Map auncial.map ++Map aurical.map ++Map ybv.map ++MixedMap bbold.map ++Map belleek.map ++Map bera.map ++Map ybd.map ++Map sqrcaps.map ++Map boondox.map ++Map pbsi.map ++Map burmese.map ++Map calligra.map ++Map cantarell.map ++Map cmin.map ++MixedMap cbgreek-full.map ++MixedMap ccpl.map ++Map ccicons.map ++Map clm.map ++Map chemarrow.map ++Map cjhebrew.map ++MixedMap cmtext-bsr-interpolated.map ++Map cm-lgc.map ++MixedMap cm-super-t1.map ++MixedMap cm-super-t2a.map ++MixedMap cm-super-t2b.map ++MixedMap cm-super-t2c.map ++MixedMap cm-super-ts1.map ++MixedMap cm-super-x2.map ++Map cmcyr.map ++MixedMap cmll.map ++Map comfortaa.map ++Map original-context-symbol.map ++MixedMap csother.map ++MixedMap cstext.map ++Map cyklop.map ++Map dejavu-type1.map ++Map dictsym.map ++Map dstroke.map ++Map droid.map ++Map dutchcal.map ++Map yes.map ++Map epigrafica.map ++Map epiolmec.map ++MixedMap esint.map ++Map ESSTIX.map ++Map esvect.map ++MixedMap ethiop.map ++MixedMap eurosym.map ++Map fdsymbol.map ++Map fge.map ++Map foekfont.map ++Map fonetika.map ++Map fourier-utopia-expert.map ++Map fourier.map ++Map frcursive.map ++Map garuda-c90.map ++Map gfsartemisia.map ++Map gfsbaskerville.map ++Map gfsbodoni.map ++Map gfscomplutum.map ++Map gfsdidot.map ++Map gfsneohellenic.map ++Map gfsporson.map ++Map gfssolomos.map ++Map yfrak.map ++Map ugq.map ++Map grverb.map ++MixedMap hfbright.map ++MixedMap iby.map ++Map fi4.map ++Map Acorn.map ++Map AnnSton.map ++Map ArtNouv.map ++Map ArtNouvc.map ++Map Carrickc.map ++Map Eichenla.map ++Map Eileen.map ++Map EileenBl.map ++Map Elzevier.map ++Map GotIn.map ++Map GoudyIn.map ++Map Kinigcap.map ++Map Konanur.map ++Map Kramer.map ++Map MorrisIn.map ++Map Nouveaud.map ++Map Romantik.map ++Map Rothdn.map ++Map RoyalIn.map ++Map Sanremo.map ++Map Starburst.map ++Map Typocaps.map ++Map Zallman.map ++Map iwona.map ++KanjiMap otf-@kanjiEmbed@.map ++KanjiMap otf-cktx.map ++Map kerkis.map ++Map knitfont.map ++Map kpfonts.map ++Map kurier.map ++Map lato.map ++Map libertine.map ++Map yly.map ++Map linearA.map ++Map l7x-urwvn.map ++Map lm.map ++MixedMap lxfonts.map ++MixedMap manfnt.map ++Map marvosym.map ++Map mathabx.map ++Map mdbch.map ++Map mdput.map ++Map mdugm.map ++Map mdsymbol.map ++Map troff-updmap.map ++MixedMap mflogo.map ++Map MnSymbol.map ++MixedMap mongolian.map ++MixedMap musix.map ++Map norasi-c90.map ++Map cherokee.map ++Map ocrb.map ++Map oinuit.map ++Map omega.map ++Map opensans.map ++Map paratype-type1.map ++Map phaistos.map ++MixedMap pigpen.map ++MixedMap plother.map ++MixedMap pltext.map ++Map ap.map ++Map prodint.map ++Map charter.map ++Map fpls.map ++Map pazo.map ++Map utopia.map ++KanjiMap morisawa.map ++KanjiMap ptex-@kanjiEmbed@.map ++Map pxfonts.map ++Map pxtx.map ++Map recycle.map ++Map yrd.map ++MixedMap rsfs.map ++Map rsfso.map ++Map skt.map ++MixedMap semaf.map ++Map SkakNew.map ++Map starfont.map ++Map icelandic.map ++MixedMap stmaryrd.map ++Map tabvar.map ++Map mathpple.map ++Map qag.map ++Map qbk.map ++Map qcr.map ++Map qcs.map ++Map qhv.map ++Map qpl.map ++Map qtm.map ++Map qzc.map ++Map tfrupee.map ++MixedMap tipa.map ++MixedMap trajan.map ++Map txfonts.map ++Map gptimes.map ++Map umj.map ++MixedMap dvng.map ++Map yv1.map ++Map yv2.map ++Map yv3.map ++Map yvo.map ++Map yvt.map ++Map arevvn.map ++Map chartervn.map ++Map cmbrightvn.map ++Map concretevn.map ++Map grotesqvn.map ++Map txttvn.map ++Map urwvn.map ++MixedMap vnrother.map ++MixedMap vnrtext.map ++Map vntopia.map ++Map dgj.map ++Map dmj.map ++Map mc2j.map ++Map mcj.map ++Map mr2j.map ++Map mrj.map ++MixedMap wasy.map ++MixedMap xypic.map ++MixedMap yhmath.map +Index: 2011/texmf/scripts/texlive/tlmgr.pl +=================================================================== +--- 2011.orig/texmf/scripts/texlive/tlmgr.pl 2012-01-19 18:06:04.894341300 +0900 ++++ 2011/texmf/scripts/texlive/tlmgr.pl 2012-01-19 18:07:16.166332166 +0900 +@@ -624,47 +624,21 @@ + chomp(my $TEXMFSYSVAR = `kpsewhich -var-value=TEXMFSYSVAR`); + chomp(my $TEXMFSYSCONFIG = `kpsewhich -var-value=TEXMFSYSCONFIG`); + chomp(my $TEXMFLOCAL = `kpsewhich -var-value=TEXMFLOCAL`); ++ chomp(my $TEXMFDIST = `kpsewhich -var-value=TEXMFDIST`); + + # + # maps handling +- # if enabled and disabled -> do nothing +- # if only enabled -> enable it +- # if only disabled -> disable it +- # if the option "generate_updmap" is set, then simply ignore all that +- # and run the equivalent of tlmgr generate updmap + { + my $updmap_run_needed = 0; +- my %do_enable; +- my %do_disable; + for my $m (keys %{$::execute_actions{'enable'}{'maps'}}) { + $updmap_run_needed = 1; +- $do_enable{$m} = 1; + } + for my $m (keys %{$::execute_actions{'disable'}{'maps'}}) { + $updmap_run_needed = 1; +- if (defined($do_enable{$m})) { +- # we are upgrading because it is disabled and enabled, so +- # delete the entry in do_enable, it is already +- delete $do_enable{$m}; +- } else { +- # not new installed, so simply removed +- $do_disable{$m} = 1; +- } +- } +- if ($updmap_run_needed && $localtlpdb->option("generate_updmap")) { +- my $dest = "$TEXMFSYSCONFIG/web2c/updmap.cfg"; +- my $localcfg = "$TEXMFLOCAL/web2c/updmap-local.cfg"; +- info("tlmgr: generate_updmap writing new $dest\n"); +- TeXLive::TLUtils::create_updmap($localtlpdb, $dest, $localcfg); +- } else { +- for my $m (keys %do_disable) { +- $errors += do_cmd_and_check("updmap-sys --nomkmap --nohash --disable $m"); +- } +- for my $m (keys %do_enable) { +- my $str = "updmap-sys --nomkmap --nohash --enable " . +- $::execute_actions{'enable'}{'maps'}{$m} . "=$m"; +- $errors += do_cmd_and_check($str); +- } ++ } ++ if ($updmap_run_needed) { ++ my $dest = "$TEXMFDIST/web2c/updmap.cfg"; ++ TeXLive::TLUtils::create_updmap($localtlpdb, $dest); + } + $errors += do_cmd_and_check("updmap-sys") if $updmap_run_needed; + } +@@ -3923,17 +3897,15 @@ + init_local_db(); + + # we create fmtutil.cnf, language.dat, language.def in TEXMFSYSVAR and +- # updmap.cfg in TEXMFSYSCONFIG. The reason is that calls to +- # updmap-sys (as is done by the tlmgr update call when packages with +- # maps are installed) will create the updmap.cfg file in +- # TEXMFSYSCONFIG. It would start from the version in TEXMFSYSVAR, but +- # after that the TEXMFSYSCONFIG takes precedence and thus the +- # mechanism explained in updmap.cfg header would not work. We don't +- # want that. So just use TEXMFSYSCONFIG from the start. ++ # updmap.cfg in TEXMFDIST. The reason is that we are now using an ++ # implementation of updmap that supports multiple updmap files. ++ # Local adaptions should not be made there, but only in TEXMFLOCAL ++ # or TEXMF(SYS)CONFIG updmap.cfg + # + chomp (my $TEXMFSYSVAR = `kpsewhich -var-value=TEXMFSYSVAR`); + chomp (my $TEXMFSYSCONFIG = `kpsewhich -var-value=TEXMFSYSCONFIG`); + chomp (my $TEXMFLOCAL = `kpsewhich -var-value=TEXMFLOCAL`); ++ chomp (my $TEXMFDIST = `kpsewhich -var-value=TEXMFDIST`); + + # we do generate all config files, treat $opts{"dest"} as pattern + # and make it append the respective extensions +@@ -4011,10 +3983,9 @@ + } + + } elsif ($what =~ m/^updmap$/i) { +- my $dest = $opts{"dest"} || "$TEXMFSYSCONFIG/web2c/updmap.cfg"; +- my $localcfg = $opts{"localcfg"} || "$TEXMFLOCAL/web2c/updmap-local.cfg"; ++ my $dest = $opts{"dest"} || "$TEXMFDIST/web2c/updmap.cfg"; + debug("$0: writing new updmap.cfg to $dest\n"); +- TeXLive::TLUtils::create_updmap($localtlpdb, $dest, $localcfg); ++ TeXLive::TLUtils::create_updmap($localtlpdb, $dest); + + if ($opts{"rebuild-sys"}) { + do_cmd_and_check("updmap-sys"); +@@ -6120,7 +6091,6 @@ + sys_bin (directory to which executables are linked by the path action) + sys_man (directory to which man pages are linked by the path action) + sys_info (directory to which Info files are linked by the path action) +- generate_updmap (run the equivalent of tlmgr generate updmap on changes) + desktop_integration (Windows-only: create Start menu shortcuts) + fileassocs (Windows-only: change file associations) + multiuser (Windows-only: install for all users) +@@ -6176,9 +6146,6 @@ + Unix-like systems to control the generation of links for executables, + info files and man pages. See the C action for details. + +-For the C option, see the C section in +-L]... I">. +- + The last three options control behaviour on Windows installations. If + C is set, then some packages will install items in + a sub-folder of the Start menu for C, documentation, etc. If +@@ -6568,31 +6535,20 @@ + =back + + The C action overwrites any manual changes made in the +-respective files: it recreates them from scratch. ++respective files: it recreates them from scratch based on the ++information of the installed packages, plus local adaptions. + +-For C and the language files, this is normal, and both the TeX +-Live installer and C routinely call C for them. ++The TeX Live installer and C routinely call C for ++all of these files. + +-For C, however, C does I use C by default, +-because the result would be to disable all maps which have been manually +-installed via S>, e.g., for proprietary or local +-fonts, which has been the standard method for adding fonts to TeX +-installations for years. Rather, the C action only +-incorporates the changes in the C<--localcfg> file mentioned below. +- +-Notwithstanding the above, if you only use the fonts and font packages +-within TeX Live, and rigorously maintain your local fonts (if any) using +-C, there is nothing wrong with using C. It can be helpful in moving from release to release, +-especially. We use it ourselves to generate the C file in +-the live source repository. If you want to commit yourself to using +-C, you can set the C option and +-C will run C for you on update. +- +-In any case, C updates and maintains the final C in +-C (while the other generated files are in +-C), because that is the location that C (via +-C) historically uses. ++For managing your own fonts, please see the documentation of ++updmap, which supports multiple updmap.cfg files. So by simply ++editing TEXMFLOCAL's updmap.cfg they will be accounted for. ++ ++In any case, C updates and maintains C in ++C (while the other generated files are in ++C), because that is the location where the fonts ++are installed. + + In more detail: C remakes any of the five config files + C, C, C, C, +@@ -6600,26 +6556,27 @@ + locally-maintained files. + + The locally-maintained files are C, +-C, C, C, +-or C, searched for in C in the respective +-directories. If they are present, the final file is made by starting ++C, C, or C, ++searched for in C in the respective directories. ++The formerly supported C is not supported anymore, ++since C now supports multiple updmap.cfg files, so local ++additions can be put into an updmap.cfg file in TEXMFLOCAL. ++If local additions are present, the final file is made by starting + with the main file, omitting any entries that the local file specifies + to be disabled, and finally appending the local file. + + Local files specify entries to be disabled with a comment line, namely + one of these: + +- #!NAME + %!NAME + --!NAME + +-where C and C use C<#>, C and ++where C uses C<#>, C and + C use C<%>, and C use C<-->. In any +-case, the I is the respective format name, map file name (include +-the C<.map> extension), or hyphenation pattern identifier. Examples: ++case, the I is the respective format name, or hyphenation pattern ++identifier. Examples: + + #!pdflatex +- #!lm.map + %!german + --!usenglishmax + +@@ -6632,20 +6589,9 @@ + syntax as the master files. + + The form C recreates both the C, the +-C and the Cfiles, while the forms with ++C and the C files, while the forms with + extension recreates only the given language file. + +-Special consideration for updmap.cfg: in addition to font map files, +-this file specifies the setting of five options: C, +-C, C, C, and +-C. The defaults for these as set in +-C are usually fine. If you want to change them, you can +-include changed settings for any or all of these five options in your +-C file and they will be respected by C. For example: +- +- dvipsDownloadBase35 true +- + Options: + + =over 4 +@@ -6653,7 +6599,7 @@ + =item B<--dest> I + + specifies the output file (defaults to the respective location in +-C for C and C, and C ++C for C and C, and C + for C). If C<--dest> is given to C, it serves + as a basename onto which C<.dat> will be appended for the name of the + C output file, C<.def> will be +@@ -6691,13 +6637,6 @@ + web2c/fmtutil.cnf (and fmtutil-local.cnf); + web2c/updmap.cfg (and updmap-local.cfg). + +-Final repetition: as explained above, C does I use +-C for font map files. Therefore, if you want to make +-use of C, you must run C +-and C yourself after making any local changes. If you +-make yourself responsible for rigorously using C), set +-C