[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