This is an automated email from the git hooks/post-receive script. jamessan pushed a commit to branch master in repository devscripts.
commit 6bf94e623894dc2b7da41f6a45d9b4368d250ce2 Author: James McCoy <[email protected]> Date: Thu Nov 17 22:43:45 2016 -0500 debuild: Tell dpkg-buildpackage about the hooks we want it to run All hooks other than "signing" and "post-buildpackage" will be handled directly by dpkg-buildpackage. Control then returns to debuild so signing can be performed by deb(r)sign, which is why debuild needs to run the "signing" and "post-buildpackage" hooks. Signed-off-by: James McCoy <[email protected]> --- scripts/debuild.pl | 59 ++++++++++++++++++------------------------------------ 1 file changed, 19 insertions(+), 40 deletions(-) diff --git a/scripts/debuild.pl b/scripts/debuild.pl index b1bd4f6..461d50f 100755 --- a/scripts/debuild.pl +++ b/scripts/debuild.pl @@ -715,18 +715,6 @@ if ($command_version eq 'dpkg') { # We're going to emulate dpkg-buildpackage and possibly lintian. # This will allow us to run hooks. - # check hooks - my @skip_hooks = (); - for my $hookname (qw(clean dpkg-source build binary dpkg-genchanges - final-clean)) { - if ($hook{$hookname}) { push @skip_hooks, $hookname; } - } - if (@skip_hooks) { - $emulate_dpkgbp = 1; - warn "$progname: emulating dpkg-buildpackage as the following hooks were defined:\n" - . " " . join(", ", @skip_hooks) . "\n\n"; - } - # Our first task is to parse the command line options. # And before we get too excited, does lintian even exist? @@ -767,6 +755,25 @@ if ($command_version eq 'dpkg') { # and one for dpkg-buildpackage if needed my @dpkg_opts = qw(-us -uc); + my %debuild2dpkg = ( + 'dpkg-buildpackage' => 'init', + 'clean' => 'preclean', + 'dpkg-source' => 'source', + 'build' => 'build', + 'binary' => 'binary', + 'dpkg-genchanges' => 'changes', + 'postclean' => 'final-clean', + 'lintian' => 'check', + ); + + for my $h_name (@hooks) { + if (exists $debuild2dpkg{$h_name}) { + push(@dpkg_opts, + sprintf('--hook-%s=%s', $debuild2dpkg{$h_name}, $hook{$h_name})); + delete $hook{$h_name}; + } + } + # Parse dpkg-buildpackage options # First process @dpkg_extra_opts from above @@ -986,8 +993,6 @@ if ($command_version eq 'dpkg') { open STDOUT, ">&BUILD" or fatal "can't reopen stdout: $!"; open STDERR, ">&BUILD" or fatal "can't reopen stderr: $!"; - run_hook('dpkg-buildpackage', 1); - if (!$emulate_dpkgbp) { unshift @dpkg_opts, ($checkbuilddep ? "-D" : "-d"); unshift @dpkg_opts, "-r$root_command" if $root_command; @@ -1070,8 +1075,6 @@ EOT } } - run_hook('clean', ! $noclean); - # Next dpkg-buildpackage action: clean unless ($noclean) { if ($< == 0) { @@ -1081,8 +1084,6 @@ EOT } } - run_hook('dpkg-source', ! $binaryonly); - # Next dpkg-buildpackage action: dpkg-source if (! $binaryonly) { my @cmd = (qw(dpkg-source)); @@ -1097,14 +1098,10 @@ EOT chdir $dirn or fatal "can't chdir $dirn: $!"; } - run_hook('build', ! $sourceonly); - # Next dpkg-buildpackage action: build and binary targets if (! $sourceonly) { system_withecho('debian/rules', 'build'); - run_hook('binary', 1); - if ($< == 0) { system_withecho('debian/rules', $binarytarget); } else { @@ -1114,11 +1111,6 @@ EOT push @warnings, "$progname: not running binary hook '$hook{'binary'}' as -S option used\n"; } - # We defer the signing the .dsc file until after dpkg-genchanges has - # been run - - run_hook('dpkg-genchanges', 1); - # Because of our messing around with STDOUT and wanting to pass # arguments safely to dpkg-genchanges means that we're gonna have to # do it manually :( @@ -1153,8 +1145,6 @@ EOT unless $ch =~ /Changes:.*(remaining|Ubuntu)(.|\n )*(differen|changes)/is; } - run_hook('final-clean', $cleansource); - # Final dpkg-buildpackage action: clean target again if ($cleansource) { if ($< == 0) { @@ -1210,17 +1200,6 @@ EOT chdir '..' or fatal "can't chdir: $!"; } # end of debuild dpkg-buildpackage emulation - run_hook('lintian', $run_lintian && $lintian_exists); - - if ($run_lintian && $lintian_exists) { - $<=$>=$uid; # Give up on root privileges if we can - $(=$)=$gid; - print "Now running lintian...\n"; - # The remaining items in @ARGV, if any, are lintian options - system('lintian', @lintian_extra_opts, @lintian_opts, $changes); - print "Finished running lintian.\n"; - } - # They've insisted. Who knows why?! if (($signchanges or $signsource) and $usepause) { print "Press the return key to start signing process\n"; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/devscripts.git _______________________________________________ devscripts-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel
