4a41da0426
The libdir changes to use /usr/lib{32,64} instead of /usr/lib broke cross builds for some packages that use gir, due to issues with copying over symlinks. Since we haven't managed to track down the root cause for the installation path, a symlink is a clean enough temporary fix. This follows the style of the 00-libdir hooks. Since pre-install runs for the main package and then each subpackage, it should use PKGDESTDIR (not DESTDIR), which also enables a subpackage that installs files during pkg_install to work cleanly. As far as I can see, the previous hook was quite flawed. Since it was a pre-install hook, the check for a directory would happen *before* package installation (so nothing would happen). The only reason it did anything was because it also ran as a step before a subpackage's pkg_install (most GIR packages have a -devel subpackage), but used DESTDIR instead of PKGDESTDIR, so it checked and affected the contents of the main package. Then when the subpackage's pkg_install ran, the files would have already been copied to the correct folders. Closes #27437 |
||
---|---|---|
.. | ||
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.