my $cmd=shift;
my @packages=@_;
+ return if defined $ENV{DH_INHIBIT_LOG} && $cmd eq $ENV{DH_INHIBIT_LOG};
+
foreach my $package (@packages) {
my $ext=pkgext($package);
my $log="debian/${ext}debhelper.log";
* Massive man page typography patch. Closes: #600883
(Thanks, David Prévot)
* Explicitly build-depend on a new enough perl-base. Closes: #601188
+ * dh: Inhibit logging when an override target runs the overridden command,
+ to avoid unexpected behavior if the command succeeded but the overall
+ target fails. Closes: #601037
-- Joey Hess <joeyh@debian.org> Sat, 07 Aug 2010 11:27:24 -0400
# This passes the options through to commands called
# inside the target.
$ENV{DH_INTERNAL_OPTIONS}=join("\x1e", @options);
+ # Prevent commands called inside the target from
+ # logging.
+ $ENV{DH_INHIBIT_LOG}=$command;
$command="debian/rules";
@options="override_".$override_command;
}
if (defined $override_command) {
delete $ENV{DH_INTERNAL_OPTIONS};
- # Need to handle logging for overriden commands here,
- # because the actual debhelper command may not have
- # been run by the rules file target.
+ delete $ENV{DH_INHIBIT_LOG};
+ # Update log for overridden command now that it has
+ # finished successfully.
# (But avoid logging for dh_clean since it removes
# the log earlier.)
if ($override_command ne 'dh_clean') {