summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/dpkg-buildpackage.pl14
1 files changed, 12 insertions, 2 deletions
diff --git a/scripts/dpkg-buildpackage.pl b/scripts/dpkg-buildpackage.pl
index ec40e7d1c..c53ece0b2 100755
--- a/scripts/dpkg-buildpackage.pl
+++ b/scripts/dpkg-buildpackage.pl
@@ -617,8 +617,18 @@ sub run_hook {
'u' => $uversion,
);
- $cmd =~ s/\%(.)/exists $hook_vars{$1} ? $hook_vars{$1} :
- (warning(_g('unknown %% substitution in hook: %%%s'), $1), "\%$1")/eg;
+ my $subst_hook_var = sub {
+ my ($var) = @_;
+
+ if (exists $hook_vars{$var}) {
+ return $hook_vars{$var};
+ } else {
+ warning(_g('unknown %% substitution in hook: %%%s'), $var);
+ return "\%$var";
+ }
+ };
+
+ $cmd =~ s/\%(.)/&$subst_hook_var($1)/eg;
withecho($cmd);
}