&inhibit_log &load_log &write_log &commit_override_log
&dpkg_architecture_value &sourcepackage
&is_make_jobserver_unavailable &clean_jobserver_makeflags
- &cross_command &set_buildflags);
+ &cross_command &set_buildflags &get_buildoption);
my $max_compat=9;
my $cmd=shift;
my @packages=@_;
+ return if $dh{NO_ACT};
+
foreach my $package (@packages) {
my $log=logfile($package);
open(LOG, ">>", $log) || error("failed to write to ${log}: $!");
sub commit_override_log {
my @packages=@_;
+ return if $dh{NO_ACT};
+
foreach my $package (@packages) {
my @log=map { remove_override($_) } load_log($package);
my $log=logfile($package);
sub compat {
my $num=shift;
+ my $nowarn=shift;
if (! defined $c) {
$c=1;
}
}
- if ($c <= 4 && ! $warned_compat) {
+ if ($c <= 4 && ! $warned_compat && ! $nowarn) {
warning("Compatibility levels before 5 are deprecated.");
$warned_compat=1;
}
# Sets environment variables from dpkg-buildflags. Avoids changing
# any existing environment variables.
sub set_buildflags {
- # optimisation
- return if $ENV{DH_INTERNAL_BUILDFLAGS};
+ return if $ENV{DH_INTERNAL_BUILDFLAGS} || compat(8);
$ENV{DH_INTERNAL_BUILDFLAGS}=1;
eval "use Dpkg::BuildFlags";
}
}
+# Gets a DEB_BUILD_OPTIONS option, if set.
+sub get_buildoption {
+ my $wanted=shift;
+
+ return undef unless exists $ENV{DEB_BUILD_OPTIONS};
+
+ foreach my $opt (split(/\s+/, $ENV{DEB_BUILD_OPTIONS})) {
+ # currently parallel= is the only one with a parameter
+ if ($opt =~ /^parallel=(-?\d+)$/ && $wanted eq 'parallel') {
+ return $1;
+ }
+ elsif ($opt eq $wanted) {
+ return 1;
+ }
+ }
+}
+
1