void-packages/common/hooks
Juan RP 75eca1b03e xbps-src: base-chroot-v2 (reduce artifacts/deps)
This patchset contains multiple changes to xbps-src and
its required package "base-chroot" for building packages
via chroot.

- moved xbps.d(5) conf files to `etc/xbps.d`.
- renamed xbps.d(5) repository files to `etc/xbps.d/repos-{local,remote}*`.
- do not set `--repository` to any xbps command that supports it,
  xbps-src now simply populates `rootdir/etc/xbps.d` with correct
  settings (taking care of CHROOT_READY/IN_CHROOT).
- Unless `-C` is set (to preserve builddir/destdir/autodeps), when
  entering to the chroot (if CHROOT_READY is set), xbps-src will
  clean up the masterdir and then perform a system update to always
  use a constant set of packages for that exact date.
- Improved some normal/error msgs.
- Includes support for `xbps>=0.58`.
- common/hooks: switch to bsdtar.
- base-chroot:
  - base-chroot-musl is gone, now unified for glibc/musl.
  - deps removed: gettext, mpfr, readline, texinfo, which, xz.
  - deps changed: tar -> bsdtar.

Effectively this reduces dependencies in `base-chroot`, makes
it unified for musl and glibc, switches xbps-src to use `bsdtar`
rather than GNU `tar` and `xz`, gets rid of useless host dependencies
like GNU gettext, texinfo, etc.

I've been testing these changes for 1 month or so already,
I was able to build from scratch `base-system` for both native
and multiple targets, i.e `./xbps-src -a target -Nt pkg base-system`
2020-01-05 10:44:56 +01:00
..
do-build common/hooks: add support for do-<phase> hooks as suggested by Gottox. 2014-03-05 11:02:37 +01:00
do-check add hook-directories for check phase 2017-11-18 14:32:37 +01:00
do-configure common/hooks: add support for do-<phase> hooks as suggested by Gottox. 2014-03-05 11:02:37 +01:00
do-extract xbps-src: base-chroot-v2 (reduce artifacts/deps) 2020-01-05 10:44:56 +01:00
do-fetch xbps-src: base-chroot-v2 (reduce artifacts/deps) 2020-01-05 10:44:56 +01:00
do-install common/hooks: add support for do-<phase> hooks as suggested by Gottox. 2014-03-05 11:02:37 +01:00
do-patch 00-patches.sh: avoid useless use of cat 2019-04-15 12:18:00 -03:00
do-pkg xbps-src: multiple performance improvements 2019-07-10 20:28:46 +02:00
post-build
post-check add hook-directories for check phase 2017-11-18 14:32:37 +01:00
post-configure
post-extract meta: move 00-patches.sh hook to do-patch phase 2019-02-27 22:56:19 -03:00
post-fetch
post-install base-files: install /usr/lib32 symlink on i686 2019-12-15 09:17:51 +01:00
post-patch meta: add hook directories for patch phase 2019-02-27 22:56:19 -03:00
post-pkg common: merge only_for_archs and noarch=yes into one. 2019-02-15 13:19:44 +01:00
pre-build hooks/pre-build: enable script-wrapper. 2014-05-23 10:16:22 +02:00
pre-check add hook-directories for check phase 2017-11-18 14:32:37 +01:00
pre-configure common: better location for config.{sub,guess} + update 2019-11-18 20:36:27 +01:00
pre-extract
pre-fetch
pre-install base-files: install /usr/lib32 symlink on i686 2019-12-15 09:17:51 +01:00
pre-patch meta: add hook directories for patch phase 2019-02-27 22:56:19 -03:00
pre-pkg hook: python-shebang: check for shebang in the first line only 2019-12-28 18:02:39 +01:00
README common/hooks: add support for do-<phase> hooks as suggested by Gottox. 2014-03-05 11:02:37 +01:00

HOOKS
=====

This directory contains shell hooks that are processed after or before the
specified phase. The shell hooks are simply shell snippets (must not be
executable nor contain a shebang) that are processed lexically by xbps-src.
Only files with the `.sh` extension are processed.

A shell hook must provide a `hook()` function which is the entry point to
execute it via xbps-src.

The following directories are used to set the order in which the hooks
should be processed by xbps-src:

	* pre-fetch		(before running fetch phase)
	* do-fetch		(running fetch phase)
	* post-fetch		(after running fetch phase)

	* pre-extract		(before running extract phase)
	* do-extract		(running extract phase)
	* post-extract		(after running extract phase)

	* pre-configure		(before running configure phase)
	* do-configure		(running configure phase)
	* post-configure	(after running configure phase)

	* pre-build		(before running build phase)
	* do-build		(running build phase)
	* post-build		(after running build phase)

	* pre-install		(before running install phase)
	* do-install		(running install phase)
	* post-install		(after running install phase)

	* pre-pkg		(before running pkg phase)
	* do-pkg		(running pkg phase)
	* post-pkg		(after running pkg phase)

NOTES
~~~~~
* Symlinks can be created (relative) to make a hook available in multiple phases.

* The phases do-fetch, do-extract, do-configure, do-build, and do-install can
  be overwritten by the template file. That means if a template contains a
  do_install function, the hooks defined for do-install won't be executed.
  Note that this is only true for the do-* hooks.

* the pre_* function of the template will be run *after* the corresponding
  pre-* hooks.

* the post_* function of the template will be run *before* the corresponding
  post-* hooks.