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