[Rpm-maint] [rpm-software-management/rpm] RFE: file trigger scriptlet arguments (Issue #2755)

Michal Domonkos notifications at github.com
Fri Jan 5 09:42:54 UTC 2024


>     * Non-trans scriptlets have should get a second argument reflecting the triggering package count

I wonder if we want the triggering package count (`arg2`) to be an *aggregate* count of all the triggering packages or just that of the *first* match?

There's a subtle difference in the semantics between regular triggers and file triggers in the way they are fired. A regular trigger can only ever be triggered by *one* package (e.g. `%triggerin -- foo, bar, baz` means "fire if any of these packages is installed"), whereas a file trigger can be triggered by *multiple* packages (e.g. `%filetriggerin -- /etc/foo.d` means "fire if any file with such a prefix is installed, regardless of which package it belongs to").

In both cases, the trigger only executes once, however the semantics of "which package triggered it" differs. Therefore, for regular triggers, `arg2` is straightforward (it's always the one triggering package), however for file triggers, it's not.

As an example, consider the following scenario:

```
# bar.spec:
%filetriggerin -- /etc/foo.d

# foo.spec:
%files
/etc/foo.d/foo.conf

# baz.spec:
%files
/etc/foo.d/baz.conf
```

If `bar` is installed first, installing `foo` or `baz` afterwards results in the trigger being run once for *each* of those, so the triggering count (`arg2`) is straighforward (same as with regular triggers).

However, if `foo` *and* `baz` are installed first, installing `bar` afterwards results in the trigger being run once for *both* of those (with both filenames served via stdin), so the trigerring count (`arg2`) is now ambiguous - it can either be the count of `foo` *or* `baz`, or it can be the sum of both.

My take: The count should be an aggregate since that enables a file trigger script to detect when *all* the files subject to the prefix are being removed (which is one of the purposes of the arguments in the first place).

Any thoughts?

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/2755#issuecomment-1878388267
You are receiving this because you are subscribed to this thread.

Message ID: <rpm-software-management/rpm/issues/2755/1878388267 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20240105/af2e7669/attachment.html>


More information about the Rpm-maint mailing list