[pacman-dev] [RFC] alpmtrigger: triggering events after all packages got installed...

Marc - A. Dahlhaus [ Administration | Westermann GmbH ] mad at wol.de
Fri Sep 11 05:18:09 EDT 2009


Hello List,


currently i'm working on adding a trigger infrastructure to
libaplm/pacman to get rid of workload during upgrades or installations
that runs more than a single time.

Good examples for such jobs would be:

- depmod after module installations
- mkinitramfs after module installations
- catalog-updates for fonts or infopages
etc...


My current plan is to create a helper script called "alpmtrigger"
wich handles the work of setting the triggers and executing the triggers
after pacman is done with installation.

How would it work?
Draft:

A package that adds a trigger to the system installs a trigger script
that do all the work needed into a "/usr/share/pacman/alpmtrigger" dir.

inside of a packages install-helper we would call
"alpmtrigger pkgtrigger" to set the trigger "pkgtrigger" active.
alpmtrigger would do "touch /var/somewhere/alpmtrigger/pkgtrigger" wich
would create the file if it not exists already.

A hook to execute "alpmtrigger" (without params?) would need to be added
after the _alpm_run_chroot(root, "/sbin/ldconfig"); call in function
_alpm_ldconfig inside of lib/libalpm/util.c to actualy scan the contents
of /var/somewhere/alpmtrigger, and for each filename in it check
if /usr/share/pacman/alpmtrigger/filename exists and if it is and is
executable run the trigger. After the trigger is done and retuned
without error, the file /var/somewhere/alpmtrigger/filename gets
removed.

Any suggestions, comments or somebody else working on such a thing?



Marc





More information about the pacman-dev mailing list