target from the rules file, rather than running the actual command. The
override target can then run the command with additional options, or run
entirely different commands instead. (Note that to use this feature,
-you should Build-Depend on debhelper 7.2 or above.)
+you should Build-Depend on debhelper 7.0.50 or above.)
=head1 OPTIONS
dh_fixperms
chmod 4755 debian/foo/usr/bin/foo
-If the package's source tree might get files with names
-like build or clean in it, the rules file would not
-run targets with the same names. This issue can be worked
-around by passing -B to make.
-
- #!/usr/bin/make -Bf
- %:
- dh $@
-
If your package is a python package, dh will use dh_pysupport by
default. This is how to use dh_pycentral instead.
#!/usr/bin/make -f
%:
- dh --with python-central
+ dh --with python-central $@
=cut
# no commands remain to run after it, communicating to
# future dh instances that the specified command should not
# be run again.
- writelog($package, $sequence[$startpoint{$package}-1]);
+ writelog($sequence[$startpoint{$package}-1], $package);
}
elsif ($dh{REMAINING}) {
# Start at the beginning so all remaining commands will get
# been run by the rules file target.
my %packages=map { $_ => 1 } @packages;
map { delete $packages{$_} } @exclude;
- Debian::Debhelper::Dh_Lib::write_log($override_command, keys %packages);
+ writelog($override_command, keys %packages);
}
}
}
close LOG;
return @log;
}
-
+
sub writelog {
- my $package=shift;
- my $cmd=shift;
- my $ext=pkgext($package);
-
- open(LOG, ">>", "debian/${ext}debhelper.log") || error("failed to write to log");
- print LOG $cmd."\n";
- close LOG;
+ Debian::Debhelper::Dh_Lib::write_log(@_);
}
{
if (! $rules_parsed) {
my $processing_targets = 0;
my $not_a_target = 0;
- open(MAKE, "make -Rrnpsf debian/rules debhelper-fail-me 2>/dev/null |");
+ open(MAKE, "LANG=C make -Rrnpsf debian/rules debhelper-fail-me 2>/dev/null |");
while (<MAKE>) {
if ($processing_targets) {
if (/^# Not a target:/) {