diff options
author | Norbert Preining <preining@logic.at> | 2012-04-23 04:20:08 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2012-04-23 04:20:08 +0000 |
commit | fd629364cb783750f56b0e3f316dc0eda90b5493 (patch) | |
tree | 57f6bf2a25166c706f13b694feea0e791a750070 | |
parent | a5c112213bcbf0fd501f286be0ad43d945af72aa (diff) |
make sure that a tlnet disabled package is always ignored,
and rebuild in tlcritical
git-svn-id: svn://tug.org/texlive/trunk@26100 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/tlpkg/TeXLive/TLUtils.pm | 20 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-compare-tlpdbs | 4 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-containers | 19 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-tlcritical | 10 |
4 files changed, 45 insertions, 8 deletions
diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm index 9565d56bead..5281d668864 100644 --- a/Master/tlpkg/TeXLive/TLUtils.pm +++ b/Master/tlpkg/TeXLive/TLUtils.pm @@ -101,6 +101,7 @@ C<TeXLive::TLUtils> -- utilities used in the TeX Live infrastructure TeXLive::TLUtils::compare_tlpobjs($tlpA, $tlpB); TeXLive::TLUtils::compare_tlpdbs($tlpdbA, $tlpdbB); TeXLive::TLUtils::report_tlpdb_differences(\%ret); + TeXLive::TLUtils::tlnet_disabled_packages($root); TeXLive::TLUtils::mktexupd(); =head1 DESCRIPTION @@ -3757,6 +3758,25 @@ sub compare_tlpdbs { return %ret; } +sub tlnet_disabled_packages { + my ($root) = @_; + my $disabled_pkgs = "$root/tlpkg/dev/tlnet-disabled-packages.txt"; + my @ret; + if (-r $disabled_pkgs) { + open (DISABLED, "<$disabled_pkgs") || die "Huu, -r but cannot open: $?"; + while (<DISABLED>) { + chomp; + next if /^\s*#/; + next if /^\s*$/; + $_ =~ s/^\s*//; + $_ =~ s/\s*$//; + push @ret, $_; + } + close(DISABLED) || warn ("Cannot close tlnet-disabled-packages.txt: $?"); + } + return @ret; +} + sub report_tlpdb_differences { my $rret = shift; my %ret = %$rret; diff --git a/Master/tlpkg/bin/tl-compare-tlpdbs b/Master/tlpkg/bin/tl-compare-tlpdbs index f1bee179632..10a50b321bf 100755 --- a/Master/tlpkg/bin/tl-compare-tlpdbs +++ b/Master/tlpkg/bin/tl-compare-tlpdbs @@ -43,6 +43,10 @@ exit (&main()); sub main { chomp(my $Master = `cd $mydir/../.. && pwd`); + + # get additional list of disabled packages + push @add_ignored_packs, TeXLive::TLUtils::tlnet_disabled_packages($Master); + # # if tl-compare-tlpdbs was called with two arguments like # tl-compare-tlpdbs aaa bbb diff --git a/Master/tlpkg/bin/tl-update-containers b/Master/tlpkg/bin/tl-update-containers index be0e3836e0b..6f96d00996e 100755 --- a/Master/tlpkg/bin/tl-update-containers +++ b/Master/tlpkg/bin/tl-update-containers @@ -89,6 +89,9 @@ sub main my $opt_containerdir = "$opt_location/$TeXLive::TLConfig::Archive"; &debug("output containerdir = $opt_containerdir\n"); + my @disabled_pkgs = TeXLive::TLUtils::tlnet_disabled_packages($Master); + print "additional tlnet disabled packages: @disabled_pkgs\n"; + if ($opt_recreate) { # remake everything. if (@ARGV) { @@ -122,13 +125,15 @@ sub main # by definition, any 00texlive... package does not need containers. next if $pkg =~ /00texlive/; - # we check for the existence of a special config file, and if it - # is present any package listed therein will not be updated in - # tlnet. Assume GNU grep for checking it. - my $disabled_pkgs = "$Master/tlpkg/dev/tlnet-disabled-packages.txt"; - if (-r $disabled_pkgs) { - if (!system("grep", "-q", "-x", "-F", $pkg, $disabled_pkgs)) { - tlwarn("$0: $pkg disabled for tlnet updates in $disabled_pkgs\n"); + # disable all packages (ignoring .ARCH parts) if they appear in + # tlnet-disabled-packages.txt + my $shortpkg = $pkg; + $shortpkg =~ s/\..*$//; + if (TeXLive::TLUtils::member($shortpkg, @disabled_pkgs)) { + if ($opt_all || $opt_recreate) { + tlwarn("$0: Updating tlnet disabled $pkg due to -all\n"); + } else { + tlwarn("$0: $pkg disabled for tlnet updates\n"); next; } } diff --git a/Master/tlpkg/bin/tl-update-tlcritical b/Master/tlpkg/bin/tl-update-tlcritical index ccd9c44982f..dc711d5ba43 100755 --- a/Master/tlpkg/bin/tl-update-tlcritical +++ b/Master/tlpkg/bin/tl-update-tlcritical @@ -26,6 +26,8 @@ fi mydir=`cd \`dirname $0\` && pwd` PATH=$mydir:/usr/local/gnu/bin:/usr/local/bin:$PATH # sha256sum+makensis on tug +master=`cd $mydir/../.. && pwd` + TMPDIR=${TMPDIR-/tmp} cd $TMPDIR @@ -51,10 +53,16 @@ do_updater () (cd $tlcrit && ln -s $newfile.sha256 update-tlmgr-latest.$type.sha256) } +# additionally disabled packages +moredis=`grep -v '^\s*#' $master/tlpkg/dev/tlnet-disabled-packages.txt | \ + sed -e 's/\s*$//'` +echo "$0: additional packages from via tlnet-disabled-packages.txt: $moredis" + # update normal containers. echo "$0: running tl-update-containers (for critical packages)..." tl-update-containers -location $tlcrit $recreate -all \ - 00texlive.installation 00texlive.config texlive.infra tlperl.win32 + 00texlive.installation 00texlive.config texlive.infra tlperl.win32 \ + $moredis # update Unix disaster recovery. echo "$0: running tl-makeself-from-tlnet..." |