diff options
author | Roger Leigh <rleigh@debian.org> | 2010-11-22 20:58:20 +0000 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-11-22 18:18:04 -0400 |
commit | 9e54d11d1d1beb8b001c78eb1cf51a6fa5089d00 (patch) | |
tree | 0ec6147f4bc9f1a6847b5f781e9715b5ccf11d57 /dh | |
parent | 8e3c6c65a7da0b402616a8b6e63541e5c0b6fc7e (diff) |
dh: Add support for build-arch, build-indep, install-arch and install-indep sequences
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 <rleigh@debian.org>
Diffstat (limited to 'dh')
-rwxr-xr-x | dh | 44 |
1 files changed, 28 insertions, 16 deletions
@@ -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>, +correspond to the targets of a F<debian/rules> file: B<build-arch>, +B<build-indep>, B<build>, B<clean>, B<install-indep>, B<install-arch>, 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>, B<install-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>, +B<install-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,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"); |