3.3 Hooks

Hooks can be used in order to change the runtime behaviour of the package manager. There are a variety of package hooks, mostly self explanatory:

pre-build

Run just before the build script is run

post-build

Run after the build script is run successfully

build-fail

Run if the build script fails

pre-test

Run before the test script is run

test-fail

Run if the test script fails

pre-install

Run before a package is installed for each package

post-install

Run after a package is installed for each package

end-install

Run after all given packages are installed

pre-remove

Run before a package is removed for each package

post-remove

Run after a package is removed for each package

end-remove

Run after all given packages are removed

pre-fetch

Run before all repositories are fetched

post-fetch

Run after all repositories are fetched

post-package

Run after a tarball for a package is created

In order to use hooks, you will need to set the ‘CPT_HOOK’ variable pointing to your hook file. Your hook file MUST be a POSIX shell script as its contents are sourced by the package manager.

The hook is given 3 variables when it is executed. Those are:

$TYPE

The type of the hook, (‘pre-build’, ‘post-build’, etc.)

$PKG

The package that ‘cpt’ is currently working on. Can be null.

$DEST

The destination of the operation. Can be null.