void-packages/common/hooks
Jürgen Buchmüller c1fd6c389e hooks/do-fetch/00-distfiles.sh: contents checksum
Add support for contents checksums. This is meant to be used for tarballs
like the ones coming from https://*.googlesource.com/ which on every download
change their outer checksum due to being packaged with different date/time
stamps or similar.

If such a distfile still contains the same files as the author of a template
found, then the checksum of its contents can be specified by prepending a
commercial at (@) to the corresponding checksum="..." line.

Depending on the format of the distfile its entire contents will then be
piped into sha256sum and the resulting digest is verified against what
follows after the @.
2018-03-02 23:28:36 +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: handle .7z distfiles via 7z. 2016-01-11 11:02:44 +01:00
do-fetch hooks/do-fetch/00-distfiles.sh: contents checksum 2018-03-02 23:28:36 +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-pkg common: expand_destdir rewrite 2015-11-18 11:19:09 +01:00
post-build
post-check add hook-directories for check phase 2017-11-18 14:32:37 +01:00
post-configure
post-extract hooks/post-extract/00-patches.sh: ignore files without patch/diff suffix 2017-09-26 11:02:37 +00:00
post-fetch
post-install create-xbps-metadata-scripts: indent with tabs 2018-01-15 14:32:42 +01:00
post-pkg hooks/register-pkg: register 32bit pkgs in cross mode too. 2015-02-08 18:13:24 +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 wxWidgets: fix cross compilation 2017-12-16 01:48:46 +01:00
pre-extract
pre-fetch
pre-install xbps-src: fix hooks that are expected to be used in subpkgs. 2015-01-14 14:23:10 +01:00
pre-pkg 03-rewrite-python-shebang.sh: don't rewrite versioned python scripts (#6155) 2017-04-17 08:49:06 +02:00
README common/hooks: add support for do-<phase> hooks as suggested by Gottox. 2014-03-05 11:02:37 +01: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.