diff options
Diffstat (limited to 'Master/tlpkg/TeXLive/TLPDB.pm')
-rw-r--r-- | Master/tlpkg/TeXLive/TLPDB.pm | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/Master/tlpkg/TeXLive/TLPDB.pm b/Master/tlpkg/TeXLive/TLPDB.pm index e90124f57f0..10e377ec05e 100644 --- a/Master/tlpkg/TeXLive/TLPDB.pm +++ b/Master/tlpkg/TeXLive/TLPDB.pm @@ -242,7 +242,6 @@ installers. This function will probably go away. sub generate_listfiles { my ($self,$destdir) = @_; - die "NEEDS TO BE REWRITTEN USING TLConfig!!!\n"; if (not(defined($destdir))) { $destdir = TeXLive::TLPDB->listdir; } @@ -275,13 +274,15 @@ sub _generate_listfile { &mkpath("$destdir") if (! -d "$destdir"); my (@lop, @lot); foreach my $d ($tlp->depends) { - die "NEED TO BE ADJUSTED\n"; - if ($d =~ m/^(Package|Documentation|TLCore)\/(.*)$/) { - push @lop, $2; - } elsif ($d =~ m/^Collection\/(.*)$/) { - push @lot, $1; + my $subtlp = $self->get_package($d); + if (defined($subtlp)) { + if ($subtlp->is_meta_package) { + push @lot, $d; + } else { + push @lop, $d; + } } else { - warn "strange depends line: $d\n"; + warn "Strange: $tlp->name depends on $d, but this package does not exists!\n"; } } open(TMP, ">$destdir/$listname") or die "Cannot open $destdir/$listname!"; @@ -322,8 +323,13 @@ sub _generate_listfile { foreach my $c (@lot) { my $coll = $self->get_package($c); foreach my $d ($coll->depends) { - if ($d =~ m/^(Package|Documentation|TLCore)\/(.*)$/) { - TeXLive::TLUtils::push_uniq(\@collpkg,$2); + my $subtlp = $self->get_package($d); + if (defined($subtlp)) { + if (!($subtlp->is_meta_package)) { + TeXLive::TLUtils::push_uniq(\@collpkg,$d); + } + } else { + warn "Strange: $coll->name depends on $d, but this does not exists!\n"; } } } |