[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Build-Depends-Indep, please review



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 @packages=@{$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");

Attachment: signature.asc
Description: Digital signature


Reply to: