509f79078c
Extracting to temporary directory then renaming to real $wrksrc, will make the do-extract steps works atomicity. Either $wrksrc is there and complete, or it's not there. Accidentally, this change has a side effect, we can no longer care about the name of top-level components of a tarball, since we will rename the top level directory in question to $wrksrc. IOW, we don't need to set $wrksrc any longer. The side effect of above side effect: we can starting to build multiple packages that have same top-level's name without clean from now on. In another hand, we only rename the inner directory if the extracted file hierarchy has single top-level directory, we will use the renamed-temporary directory as the $wrksrc, $create_wrksrc variable is no longer relevant, and do-clean will always work probably instead of leaving some trash behind like before. |
||
---|---|---|
.. | ||
do-build | ||
do-check | ||
do-configure | ||
do-extract | ||
do-fetch | ||
do-install | ||
do-patch | ||
do-pkg | ||
post-build | ||
post-check | ||
post-configure | ||
post-extract | ||
post-fetch | ||
post-install | ||
post-patch | ||
post-pkg | ||
pre-build | ||
pre-check | ||
pre-configure | ||
pre-extract | ||
pre-fetch | ||
pre-install | ||
pre-patch | ||
pre-pkg | ||
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.