my %sequences;
my @bd_minimal = qw{
dh_testdir
- dh_auto_configure
};
my @bd = qw{
dh_testdir
dh_auto_configure
dh_auto_build
dh_auto_test
-};
-# The build sequences will call 'debian/rules build-arch' and
-# 'debian/rules build-indep' after running the standard sequence;
-# these will typically be no-ops but this permits the standard targets
-# to be customised by the user and still run as a side-effect of the
-# build target.
-$sequences{build} = [@bd, 'rules:build-arch', 'rules:build-indep'];
+ };
+# rules:build-arch and rules:build-indep are not called by build,
+# as an optimisation (code below will adjust this if explicit targets exist).
+$sequences{build} = [@bd];
$sequences{'build-indep'} = [@bd];
$sequences{'build-arch'} = [@bd];
$sequences{clean} = [qw{
dh_compress
dh_fixperms
};
-# The install sequences will call 'debian/rules build' before running
-# the standard sequence, and 'debian/rules install-arch' and
-# 'debian/rules install-indep' after running the standard sequence;
-# these will typically be no-ops but this permits the install-arch and
-# install-indep targets to be customised by the user and still run as
-# a side-effect of the install target.
+# The install sequences will call rules:build before running
+# the standard sequence. rules:install-arch and rules:install-indep
+# are not called by install, as an optimisation (code below will adjust
+# this if explicit targets exist).
$sequences{'install'} = ['rules:build', @i, 'rules:install-arch', 'rules:install-indep'];
$sequences{'install-indep'} = ['rules:build-indep', @i];
$sequences{'install-arch'} = ['rules:build-arch', @i];
if (! defined $sequence) {
error "specify a sequence to run";
}
+# make -B causes the rules file to be run as a target.
+# Also support completly empty override targets.
+# Note: it's not safe to use rules_explicit_target before this check.
if ($sequence eq 'debian/rules' ||
$sequence =~ /^override_dh_/) {
- # make -B causes the rules file to be run as a target.
- # Also support completly empty override targets.
exit 0;
}
elsif (! exists $sequences{$sequence}) {
join(" ", sort keys %sequences).")";
}
-# Note: it's not safe to run rules_explicit_target before this point
-# due to dh being recursively invoked with debhelper-fail-me as the
-# sequence
-# If debian/rules defines build-arch or build-indep, run sequences
-# separately.
+# If debian/rules defines build-arch or build-indep, run sequences separately.
if (rules_explicit_target('build-arch') ||
rules_explicit_target('build-indep')) {
- $sequences{build} = [@bd_minimal, 'rules:build-arch', 'rules:build-indep'];
+ $sequences{build} = [@bd_minimal, 'rules:build-arch', 'rules:build-indep'];
}
# If debian/rules defines install-arch or install-indep, run sequences
# separately.