From 9e54d11d1d1beb8b001c78eb1cf51a6fa5089d00 Mon Sep 17 00:00:00 2001 From: Roger Leigh Date: Mon, 22 Nov 2010 20:58:20 +0000 Subject: dh: Add support for build-arch, build-indep, install-arch and install-indep sequences MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The existing binary-arch and binary-indep sequences depend upon these new sequences, leading to the following possible orders: binary → install → build binary-arch → install-arch → build-arch binary-indep → install-indep → build-indep This is the logical dependency ordering of the sequences; the actual order is of course in reverse so that build is followed by install and binary. Signed-off-by: Roger Leigh --- dh | 44 ++++++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/dh b/dh index 21863dde..0b07973e 100755 --- a/dh +++ b/dh @@ -16,13 +16,15 @@ B I [B<--with> I[B<,>I ...]] [B<--list>] [B<--until> =head1 DESCRIPTION B runs a sequence of debhelper commands. The supported Is -correspond to the targets of a F file: B, B, +correspond to the targets of a F file: B, +B, B, B, B, B, B, B, B, and B. -Commands in the B sequence are passed the B<-i> option to ensure -they only work on binary independent packages, and commands in the -B sequences are passed the B<-a> option to ensure they only work -on architecture dependent packages. +Commands in the B, B and B +sequences are passed the B<-i> option to ensure they only work on +binary independent packages, and commands in the B, +B and B sequences are passed the B<-a> +option to ensure they only work on architecture dependent packages. If F contains a target with a name like BI, then when it would normally run I, B will instead call that @@ -322,12 +324,14 @@ $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 dh_clean }]; -$sequences{install} = [@{$sequences{build}}, qw{ +my @i = qw{ dh_testroot dh_prep dh_installdirs @@ -366,20 +370,24 @@ $sequences{install} = [@{$sequences{build}}, qw{ dh_link dh_compress dh_fixperms -}]; +}; +$sequences{'install'} = [@{$sequences{build}}, @i]; +$sequences{'install-indep'} = [@{$sequences{'build-indep'}}, @i]; +$sequences{'install-arch'} = [@{$sequences{'build-arch'}}, @i]; +my @ba=qw{ + dh_strip + dh_makeshlibs + dh_shlibdeps +}; my @b=qw{ dh_installdeb dh_gencontrol dh_md5sums dh_builddeb }; -$sequences{'binary-indep'} = [@{$sequences{install}}, @b]; -$sequences{binary} = [@{$sequences{install}}, qw{ - dh_strip - dh_makeshlibs - dh_shlibdeps -}, @b]; -$sequences{'binary-arch'} = [@{$sequences{binary}}]; +$sequences{binary} = [@{$sequences{install}}, @ba, @b]; +$sequences{'binary-indep'} = [@{$sequences{'install-indep'}}, @b]; +$sequences{'binary-arch'} = [@{$sequences{'install-arch'}}, @ba, @b]; # Additional command options my %command_opts; @@ -514,14 +522,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"); -- cgit v1.2.3