summaryrefslogtreecommitdiff
path: root/Master/tlpkg/TeXLive/TLPSRC.pm
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-07-03 23:33:41 +0000
committerKarl Berry <karl@freefriends.org>2016-07-03 23:33:41 +0000
commit1b66eca511b1b909e9e54105cdecda0ff1afe950 (patch)
treeef50f91f9ba4e0f339c3ecbcea5d7f1318720d87 /Master/tlpkg/TeXLive/TLPSRC.pm
parent3c037f860bdc9125229af4a8a464dbc699f11826 (diff)
(make_tlpobj): convert each fmttrigger package to
a depend line, since they are clearly dependencies. git-svn-id: svn://tug.org/texlive/trunk@41619 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/TeXLive/TLPSRC.pm')
-rw-r--r--Master/tlpkg/TeXLive/TLPSRC.pm18
1 files changed, 18 insertions, 0 deletions
diff --git a/Master/tlpkg/TeXLive/TLPSRC.pm b/Master/tlpkg/TeXLive/TLPSRC.pm
index 7b3195558ad..83736ec2ad9 100644
--- a/Master/tlpkg/TeXLive/TLPSRC.pm
+++ b/Master/tlpkg/TeXLive/TLPSRC.pm
@@ -262,6 +262,24 @@ sub make_tlpobj {
$tlp->postactions(@{$self->{'postactions'}}) if (defined($self->{'postactions'}));
$tlp->depends(@{$self->{'depends'}}) if (defined($self->{'depends'}));
$tlp->revision(0);
+
+ # convert each fmttrigger to a depend line, if not already present.
+ if (defined($tlp->executes)) { # else no fmttriggers
+ my @deps = (defined($tlp->depends) ? $tlp->depends : ());
+ for my $e ($tlp->executes) {
+ # we only check for AddFormat lines
+ if ($e =~ m/^\s*AddFormat\s+(.*)\s*$/) {
+ my %fmtline = TeXLive::TLUtils::parse_AddFormat_line($1);
+ if (defined($fmtline{"error"})) {
+ tlwarn ("error in parsing $e for return hash: $fmtline{error}\n");
+ } else {
+ TeXLive::TLUtils::push_uniq (\@deps, @{$fmtline{'fmttriggers'}});
+ $tlp->depends(@deps);
+ }
+ }
+ }
+ }
+
my $filemax;
my $usedefault;
my @allpospats;