[buildd-tools-devel] Bug#760991: Bug#760991: sbuild: please add two more hooks that fire exactly before and after the actual build

Johannes Schauer j.schauer at email.de
Sat Sep 20 06:25:41 UTC 2014


Hi,

Quoting Wookey (2014-09-20 01:52:35)
> Would 'start-build-commands' and 'end-build-commands' perhaps work better,
> given the naming clash?
> 
> I've just been working on this code to merge the fix for 608840. It
> would make sense to include your changes too.

thanks for working on this!

I could argue how confusing pre-build-commands vs. start-build-commands and
end-build-commands vs. post-build-commands is, but given that we probably
cannot rename pre-build-commands and post-build-commands because of backwards
compatibility with scripts using sbuild, I guess there is no way around using a
solution that is not 100% intuitive.

Maybe it would make sense to give a linear overview of what sbuild does in what
order and when hooks are called in the EXTERNAL COMMANDS section of the man
page:

 - run pre-build-commands (outside of schroot)
 - setup the chroot and variables
 - update and upgrade packages
 - run chroot-setup-commands (inside schroot)
 - install dependencies
 - unpack source, check dpkg-parsechangelog and du
 - run NEW_HOOK_#1 (inside chroot)
 - run dpkg-buildpackage
 - run NEW_HOOK #2 (inside chroot)
 - run lintian and other housekeeping stuff
 - run chroot-cleanup-commands (inside schroot)
 - purge build directory
 - IF build-successful:
    - run piuparts
    - run post-build-commands (inside schroot)

This also demonstrates why the existing hooks do not work for the purpose of
finding which files are needed during the build. chroot-setup-commands is
executed before the source is unpacked, so all the files of the source tarball
will be touched. chroot-cleanup-commands is run after lintian and other file
touching stuff done by sbuild so this also does not work.

As to how to name them: I guess start-build-commands and end-build-commands are
as good as any other :)

Thanks!

cheers, josch



More information about the Buildd-tools-devel mailing list