summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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, "-", "-");