[pacman-dev] Hooks for pacman
Allan McRae
allan at archlinux.org
Thu Jan 22 10:15:03 EST 2009
Hi all,
A new feature I am ever so slightly obsessed about at the moment is the
possibility of having hooks in pacman for doing common tasks in install
files. e.g. adding info pages to directory, updating
font/icon/.desktop cache, gconf stuff...
So, how would this be implemented? Here is my outline:
Two types of hooks would be needed for both install and remove. One
type that is run for every matching file (e.g. info install) and one
type that is run once per transaction (e.g. font cache update). These
could be stored in /etc/pacman.d/hooks/ with an index of hooks in
/etc/pacman.d/hooks.conf. The .conf file could look something like:
[add]
PerFile = infopage /usr/share/info/
PerTrans = fontcache /usr/share/fonts/
[remove]
...
That needs improvement, but that covers the information that needs
presented - whether the hook is run per file or per transaction, the
name of the hook and the directory whose files set off this hook. Maybe
the conditions that set the hook off should be in the actual hook file.
I guess the actual hook would look look just like:
hook()
{
do stuff here...
}
I figure we must already generate a list of all the files being
added/removed during conflict checks, so we would "just" need to scan
that list for what hooks need to be run and actually run them.
Anyway, I thought I would post this idea here so I could get more
feedback on the implementation and maybe convince someone to code it...
Allan
More information about the pacman-dev
mailing list