void-packages/common/hooks
Érico Nogueira 6303c2e6ce common/hooks: speed up generate-runtime-deps.
Instead of using file(1) to check for ELF files, just read bytes
directly from the file and check if they are the ELF magic bytes.

Should probably be factored out into a common function that can be used
in other places, if necessary.

Also use awk instead of "grep|awk" for some minor speedup.
2021-07-22 11:56:26 -03:00
..
do-build
do-check
do-configure
do-extract
do-fetch
do-install
do-patch do-patch: switch default patch_args to -Np1 2021-06-20 13:17:29 +07:00
do-pkg xbps-src: remove noarch 2021-01-20 13:09:59 +01:00
post-build
post-check
post-configure
post-extract
post-fetch
post-install common/hooks/post-install: show error in $STRIPCMD in 06-strip-and-debug. 2021-07-04 22:29:17 +02:00
post-patch
post-pkg xbps-src: remove noarch 2021-01-20 13:09:59 +01:00
pre-build
pre-check
pre-configure wrapper: valac: pass --vapidir after real arguments 2021-01-24 12:45:14 +07:00
pre-extract
pre-fetch
pre-install common/00-libdir: only create lib{32,64} symlink if not exists 2021-02-10 14:38:59 +01:00
pre-patch
pre-pkg common/hooks: speed up generate-runtime-deps. 2021-07-22 11:56:26 -03:00
README

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.