summaryrefslogtreecommitdiff
path: root/Master/tlpkg/TeXLive/TLPSRC.pm
diff options
context:
space:
mode:
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;