summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/tlpkg/TeXLive/TLPDB.pm18
1 files changed, 12 insertions, 6 deletions
diff --git a/Master/tlpkg/TeXLive/TLPDB.pm b/Master/tlpkg/TeXLive/TLPDB.pm
index 1254823ce6f..5d3066bc8b3 100644
--- a/Master/tlpkg/TeXLive/TLPDB.pm
+++ b/Master/tlpkg/TeXLive/TLPDB.pm
@@ -495,8 +495,9 @@ mathematicians)
If the very first argument is "-only-arch" then it expands only dependencies
of the form .ARCH.
-If the very first argument is "-no-collections" then dependencies of
-collections onto collections are ignored.
+If the very first argument is "-no-collections" then dependencies between
+"same-level" packages (scheme onto scheme, collection onto collection,
+package onto package) are ignored.
=cut
@@ -537,10 +538,15 @@ sub expand_dependencies {
ddebug("checking $p_dep in $p\n");
my $tlpdd = $self->get_package($p_dep);
if (defined($tlpdd)) {
- if ($tlpdd->category =~ m/$MetaCategoriesRegexp/) {
- # we are taking a look at a dependency which is a collection
- # or scheme, and if the option "-no-collections" is given
- # we skip that one
+ # before we ignored all deps of schemes and colls if -no-collections
+ # was given, but this prohibited auto-install of new collections
+ # even if the scheme is updated.
+ # Now we supress only "same-level dependencies", so scheme -> scheme
+ # and collections -> collections and package -> package
+ # hoping that this works out better
+ # if ($tlpdd->category =~ m/$MetaCategoriesRegexp/) {
+ if ($tlpdd->category eq $pkg->category) {
+ # we ignore same-level dependencies if "-no-collections" is given
ddebug("expand_deps: skipping $p_dep in $p due to -no-collections\n");
next if $no_collections;
}