Turns out nested package manager processes would wipe the cache
earlier than expected when installing packages.
As all these nested processes are involved in is installation,
this changes pkg_clean to have them only wipe tar_dir (the only
directory they use).
All temporary files now have unique names and reuse of the same
file for multiple purposes has been removed.
This prevents issues where a failed write to a log file used
in multiple places can cause prior data to be read elsewhere
in the package manager.
Hooks installed to /var/db/kiss/hooks can be accessed via their
basename. Usage is as follows.
$ ls -1 /var/db/kiss/hooks
no-docs
shell-on-exit
$ export KISS_HOOK=no-docs:shell-on-exit:/home/dylan/bin/kiss_hook
See #229
This adds support for replacement of simple markers with
corresponding values. To handle cases where a replacement
is not 1:1, various transformations are made available.
- VERSION : The full version string (first field in version file).
- MAJOR : First component separated by '.'.
- MINOR : Second component separated by '.'.
- PATCH : Third component separated by '.'.
- IDENT : All remaining components separated by '.+-'.
- PKG : The name of the current package.
NOTE: This may be reverted. Depends on how good the benefits
are. Will do an evaluation of the repositories.
This file can now be written in any language. The only requirement
now is that it be executable. The variable originally exported in
the environment are passed as command-line arguments to KISS_HOOK.
We can now expand on the information we want to explicitly pass on
to hooks via arguments or the environment. Let me know what
information you would like exposed.