diff options
-rwxr-xr-x | Master/texmf/scripts/texlive/tlmgr.pl | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl index af672f8aa99..372e4279f06 100755 --- a/Master/texmf/scripts/texlive/tlmgr.pl +++ b/Master/texmf/scripts/texlive/tlmgr.pl @@ -1538,15 +1538,20 @@ sub action_update { # A \ B set of packages removed on the server # A \cup B set of packages which should be checked for forcible removal # - my @schms = (); + my @schmscolls = (); for my $p ($localtlpdb->schemes) { - push @schms, $p + push @schmscolls, $p + if defined($tlmediatlpdb->get_package($p)); + } + for my $p ($localtlpdb->collections) { + push @schmscolls, $p if defined($tlmediatlpdb->get_package($p)); } my @localexpansion = - $localtlpdb->expand_dependencies($localtlpdb, @schms); + $localtlpdb->expand_dependencies($localtlpdb, @schmscolls); my @remoteexpansion = - $tlmediatlpdb->expand_dependencies($localtlpdb, @schms); + $tlmediatlpdb->expand_dependencies($localtlpdb, @schmscolls); + for my $p (@remoteexpansion) { $newpkgs{$p} = 1; } @@ -1709,7 +1714,7 @@ sub action_update { my @foo = keys %removals; $totalnr += $#foo + 1; } - if (!$opts{"no-auto-install"} && $opts{"all"}) { + if (!$opts{"no-auto-install"} && ( $opts{"all"} || $opts{"list"} ) ) { $totalnr += $#new + 1; push @alltodo, @new; } |