options can override this behavior.
If debian/rules contains a target with a name like "override_I<dh_command>",
-then when it gets to that command in the sequence, dh will run that
-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.0.50 or above.)
-
-dh passes --parallel to dh_auto_* commands if it detects being run by the
-C<dpkg-buildpackage -jX> command, but a job server of the parent I<make>
-(presumably debian/rules) is not reachable. Nonetheless, it is highly
-recommended to pass --parallel/-j option to dh explicitly to indicate that a
-source package supports parallel building. See L<debhelper(7)/"BUILD SYSTEM
-OPTIONS"> for more information.
+then when it would notmally run I<dh_command>, dh will instead call that
+target. The override target can then run the command with additional options,
+or run entirely different commands instead. See examples below. (Note that to
+use this feature, you should Build-Depend on debhelper 7.0.50 or above.)
=head1 OPTIONS
Run all commands in the sequence that have yet to be run.
+=item B<--no-act>
+
+Prints commands that would run for a given sequence, but does not run them.
+
=back
All other options passed to dh are passed on to each command it runs. This
can be used to set an option like "-v" or "-X" or "-N", as well as for more
specialised options.
-=head1 COMMAND SPECIFICATION
-
-I<cmd> can be a full name of a debhelper command, or a substring. It'll first
-search for a command in the sequence exactly matching the name, to avoid any
-ambiguity. If there are multiple substring matches, the last one in the
-sequence will be used.
+In the above options, I<cmd> can be a full name of a debhelper command, or
+a substring. It'll first search for a command in the sequence exactly
+matching the name, to avoid any ambiguity. If there are multiple substring
+matches, the last one in the sequence will be used.
=cut
%:
dh --with python-central $@
+Here is how to force use of perl's Module::Build build system,
+which can be necessary if debhelper wrongly detects that the package
+uses MakeMaker.
+
+ #!/usr/bin/make -f
+ %:
+ dh --buildsystem=perl_build $@
+
To patch your package using quilt, you can tell dh to use quilt's dh
sequence addons like this:
Here is an example of overriding where the dh_auto_* commands find
the package's source, for a package where the source is located in a
-subdirectory. It also forces use of perl's Module::Build build system,
-which can be necessary if debhelper wrongly detects that the package
-uses MakeMaker.
+subdirectory.
#!/usr/bin/make -f
%:
- dh --sourcedirectory=src --buildsystem=perl_build $@
+ dh --sourcedirectory=src $@
+
+Finally, here is a way to prevent dh from running several commands
+that you don't want it to run, by defining empty override targets for each
+command.
+
+ #!/usr/bin/make -f
+ %:
+ dh $@
+
+ # Commands not to run:
+ override_dh_auto_test override_dh_compress override_dh_fixperms:
=cut
},
"l" => \$dh{LIST},
"list" => \$dh{LIST},
- "j:i" => \$dh{PARALLEL},
- "parallel:i" => \$dh{PARALLEL},
});
inhibit_log();
-# If make was using a jobserver, but it is not available, clean out
-# MAKEFLAGS so that further make invocations can start a new job
-# server.
+# If make is using a jobserver, but it is not available
+# to this process, clean out MAKEFLAGS. This avoids
+# ugly warnings when calling make.
if (is_make_jobserver_unavailable()) {
clean_jobserver_makeflags();
- # Enable parallel (no maximum) if a value was not previously
- # specified.
- $dh{PARALLEL} = 0 if !defined $dh{PARALLEL};
}
# Definitions of sequences.
shift @ARGV_orig;
next;
}
- elsif ($opt =~ /^--?(no-act|remaining|(after|until|before|with|without|parallel)=)/) {
- next;
- }
- elsif ($opt =~ /^(-j|--parallel)$/) {
- # Argument to -j/--parallel is optional.
- shift @ARGV_orig if @ARGV_orig > 0 && $ARGV_orig[0] =~ /^\d+$/;
+ elsif ($opt =~ /^--?(no-act|remaining|(after|until|before|with|without)=)/) {
next;
}
push @options, $opt;
# to prevent them from being acted on.
push @options, map { "-N$_" } @exclude;
- # Pass --parallel to dh_auto_* commands if requested
- if (defined $dh{PARALLEL} && ($dh{PARALLEL} == 0 || $dh{PARALLEL} > 1)
- && $command =~ /^dh_auto_/) {
- push @options, "--parallel" . ($dh{PARALLEL} > 1 ? "=$dh{PARALLEL}" : "");
- }
-
# Check for override targets in debian/rules and
# run them instead of running the command directly.
my $override_command;