Transaction triggers
Transaction triggers run in confinement to finish package configuration tasks
Transactional scope triggers (tx triggers
) are run after the new filesystem transaction has been
blitted to disk, and just before the new /usr
tree is activated. These triggers run within a specialised
container and have read-write access to the new /usr
tree, but only have read-only access to the /etc
directory.
Transaction triggers must be installed in /usr/share/moss/triggers/tx.d
with a .yaml
suffix.
Sample trigger
This simple trigger will run depmod -a 6.6.15
when any files are installed to /usr/lib/modules/6.6.15/
.
Note that identical commands (after expansion) will be collapsed automatically to a single run.
name: depmod
description: |
Update kernel module dependencies
# Define all of our handlers
handlers:
depmod:
# Run `depmod` with these arguments
run: /usr/sbin/depmod
args: ["-a", "$(version)"]
paths:
# Set up a match
"/usr/lib/modules/(version:*)/*" :
# Run these handlers for this match.
handlers:
- depmod
type: directory
To install this trigger in your recipe:
%install_file %(pkgdir)/trigger.yaml %(installroot)/usr/share/moss/triggers/tx.d/gdk_pixbuf.yaml