diff options
-rw-r--r-- | Master/tlpkg/TeXLive/TLPDB.pm | 18 |
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; } |