summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-07-22 23:25:18 +0000
committerKarl Berry <karl@freefriends.org>2009-07-22 23:25:18 +0000
commit53be938673b1df4c4007eeafebbd8b23bf97ac59 (patch)
treee210ff07486cd26fdca08bd13ffdf4c03abd40ea
parentdfeea9a4beea2a4684832f62f59d5c58d89a43b6 (diff)
do not abort when a package revision cannot be retrieveed (Luecking report around 20 Jul 2009)
git-svn-id: svn://tug.org/texlive/trunk@14386 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgr.pl11
1 files changed, 9 insertions, 2 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl
index 8b9b9ce729f..86c73c45451 100755
--- a/Master/texmf/scripts/texlive/tlmgr.pl
+++ b/Master/texmf/scripts/texlive/tlmgr.pl
@@ -1595,7 +1595,6 @@ sub action_update {
# print deferred machine-readable lines after the header
for (@addlines) { print; }
- #
# we have to remove all the stuff before we install other packages
# to support moving of files from one package to another.
# remove the packages that have disappeared:
@@ -1610,7 +1609,15 @@ sub action_update {
info("not removing $p due to -no-remove (removed on server)\n");
} else {
&ddebug("removing package $p\n");
- my $rev = $localtlmedia->tlpdb->get_package($p)->revision;
+ my $pkg = $localtlmedia->tlpdb->get_package($p);
+ if (! $p) {
+ # This happened when a collection was removed by the user,
+ # and then renamed on the server, e.g., collection-langarab ->
+ # collection-langarabic; Luecking report 20 July 2009.
+ &ddebug(" get_package($p) failed, ignoring");
+ next;
+ }
+ my $rev = $pkg->revision;
if ($opts{"list"}) {
if ($::machinereadable) {
machine_line($p, $FLAG_REMOVE, $rev, "-", "-");