From db58d1aa92d56153725896484895ceb7586b5b8e Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 15 Nov 2008 23:23:32 +0000 Subject: fix the "remove all package" when upgrading from tlcritical problem git-svn-id: svn://tug.org/texlive/trunk@11305 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf/scripts/texlive/tlmgr.pl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl index 7f25146df1b..f8c9f5a5bf0 100755 --- a/Master/texmf/scripts/texlive/tlmgr.pl +++ b/Master/texmf/scripts/texlive/tlmgr.pl @@ -1151,6 +1151,7 @@ sub action_update { my %newpkgs; # check for new/removed/forcibly removed packages. # we start from the list of installed collections in the local tlpdb + # which are also present in the remote database # and expand this list once with expand_dependencies in the local tlpdb # and once in the tlmedia tlpdb. Then we compare the lists # let A = set of local expansions @@ -1159,10 +1160,16 @@ sub action_update { # B \ A set of new packages # A \ B set of packages removed on the server # A \cup B set of packages which should be checked for forcible removal + # + my @colls = (); + for my $p ($localtlpdb->collections) { + push @colls, $p + if defined($mediatlpdb->get_package($p)); + } my @localexpansion = - $localtlpdb->expand_dependencies($localtlpdb, $localtlpdb->collections); + $localtlpdb->expand_dependencies($localtlpdb, @colls); my @remoteexpansion = - $mediatlpdb->expand_dependencies($localtlpdb, $localtlpdb->collections); + $localtlpdb->expand_dependencies($mediatlpdb, @colls); for my $p (@remoteexpansion) { $newpkgs{$p} = 1; } -- cgit v1.2.3