summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2012-04-23 04:20:08 +0000
committerNorbert Preining <preining@logic.at>2012-04-23 04:20:08 +0000
commitfd629364cb783750f56b0e3f316dc0eda90b5493 (patch)
tree57f6bf2a25166c706f13b694feea0e791a750070
parenta5c112213bcbf0fd501f286be0ad43d945af72aa (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.pm20
-rwxr-xr-xMaster/tlpkg/bin/tl-compare-tlpdbs4
-rwxr-xr-xMaster/tlpkg/bin/tl-update-containers19
-rwxr-xr-xMaster/tlpkg/bin/tl-update-tlcritical10
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..."