summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgr.pl15
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;
}