summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgr.pl21
1 files changed, 21 insertions, 0 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl
index e501c84115c..8721a3c898a 100755
--- a/Master/texmf/scripts/texlive/tlmgr.pl
+++ b/Master/texmf/scripts/texlive/tlmgr.pl
@@ -621,6 +621,27 @@ sub action_update {
} else {
@todo = @ARGV;
}
+ if ($opt_list) {
+ # we check for new packages
+ # loop over all installed collections
+ for my $c ($localtlpdb->collections) {
+ my $tlc = $mediatlpdb->get_package($c);
+ if (!defined($tlc)) {
+ debug("collection $c has disappeared from the network!\n");
+ } else {
+ # take all the dependencies of the installed collection
+ # *as*found* in the network tlpdb
+ for my $d ($tlc->depends) {
+ my $tlp = $localtlpdb->get_package($d);
+ if (!defined($tlp)) {
+ # there is a dep that is either new or has been forcibly removed
+ # report it as new/forcibly removed
+ info("package $d ($c) is new (or has been forcibly removed)\n");
+ }
+ }
+ }
+ }
+ }
if (!@todo) {
printf "tlmgr update takes either a list of packages or --all\n";
}