On Mon, Nov 22, 2010 at 04:39:20PM +0000, Roger Leigh wrote: > I checked, and dh currently doesn't support build-arch and build-indep > at all internally (you need to add the rules yourself). I've made a > patch to add proper support which I'll submit once I've tested it.
FWIW, the current progress on this is attached. No guarantees--it's totally untested. Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `- GPG Public Key: 0x25BFB848 Please GPG sign your mail.
diff --git a/dh b/dh
index d2771ab..794ff4f 100755
--- a/dh
+++ b/dh
@@ -16,13 +16,15 @@ B<dh> I<sequence> [B<--with> I<addon>[B<,>I<addon> ...]] [B<--list>] [B<--until>
=head1 DESCRIPTION
B<dh> runs a sequence of debhelper commands. The supported I<sequence>s
-correspond to the targets of a F<debian/rules> file: B<build>, B<clean>,
-B<install>, B<binary-arch>, B<binary-indep>, and B<binary>.
+correspond to the targets of a F<debian/rules> file: B<build-arch>,
+B<build-indep>, B<build>, B<clean>, B<install>, B<binary-arch>,
+B<binary-indep>, and B<binary>.
-Commands in the B<binary-indep> sequence are passed the B<-i> option to ensure
-they only work on binary independent packages, and commands in the
-B<binary-arch> sequences are passed the B<-a> option to ensure they only work
-on architecture dependent packages.
+Commands in the B<build-indep> and B<binary-indep> sequences are passed
+the B<-i> option to ensure they only work on binary independent packages,
+and commands in the B<build-arch> and B<binary-arch> sequences are
+passed the B<-a> option to ensure they only work on architecture
+dependent packages.
If F<debian/rules> contains a target with a name like B<override_>I<dh_command>,
then when it would normally run I<dh_command>, B<dh> will instead call that
@@ -322,6 +324,8 @@ $sequences{build} = [qw{
dh_auto_build
dh_auto_test
}],
+$sequences{'build-indep'} = [...@{$sequences{build}}];
+$sequences{'build-arch'} = [...@{$sequences{build}}];
$sequences{clean} = [qw{
dh_testdir
dh_auto_clean
@@ -367,19 +371,25 @@ $sequences{install} = [...@{$sequences{build}}, qw{
dh_compress
dh_fixperms
}];
+$sequences{install-indep} = [...@{$sequences{build-indep}}, @i];
+$sequences{install-arch} = [...@{$sequences{build-arch}}, @i];
my @b=qw{
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
};
-$sequences{'binary-indep'} = [...@{$sequences{install}}, @b];
+$sequences{'binary-indep'} = [...@{$sequences{install-indep}}, @b];
$sequences{binary} = [...@{$sequences{install}}, qw{
dh_strip
dh_makeshlibs
dh_shlibdeps
}, @b];
-$sequences{'binary-arch'} = [...@{$sequences{binary}}];
+$sequences{'binary-arch'} = [...@{$sequences{install-arch}}, qw{
+ dh_strip
+ dh_makeshlibs
+ dh_shlibdeps
+}];
# Additional command options
my %command_opts;
@@ -514,14 +524,18 @@ my @packag...@{$dh{dopackages}};
# Get the options to pass to commands in the sequence.
# Filter out options intended only for this program.
my @options;
-if ($sequence eq 'binary-arch') {
+if ($sequence eq 'build-arch' ||
+ $sequence eq 'install-arch' ||
+ $sequence eq 'binary-arch') {
push @options, "-a";
# as an optimisation, remove from the list any packages
# that are not arch dependent
my %arch_packages = map { $_ => 1 } getpackages("arch");
@packages = grep { $arch_packages{$_} } @packages;
}
-elsif ($sequence eq 'binary-indep') {
+elsif ($sequence eq 'build-indep' ||
+ $sequence eq 'install-indep' ||
+ $sequence eq 'binary-indep') {
push @options, "-i";
# ditto optimisation for arch indep
my %indep_packages = map { $_ => 1 } getpackages("indep");
signature.asc
Description: Digital signature

