Package: runit
Version: 2.1.2-54
Severity: important

Hi Lorenzo,

The runit package declares quite broad trigger interest:

| interest-noawait /usr/sbin
| interest-noawait /usr/bin
| interest-noawait /etc/init.d
| interest-noawait /lib/systemd/system

Would you be able to shed some light on why it does so?

In the mean time, let me explain why I am looking at this. I'm working
on finalizing the /usr-merge transition for Freexian SARL and triggers
are something that is impacted and runit is affected.

A trigger on /usr/sbin and /usr/bin misses out on files installed into
those locations via /sbin or /bin. Even if those files end up in the
same place due to the aliasing symlinks, dpkg knows them by the location
used in the data.tar of the .deb and if that happens to not be the /usr
one, it will skip a trigger activation, which may be a problem to runit
depending on why it declares such a broad trigger interest. In general,
such broad trigger interest seems dubious to me. Can you narrow it down
maybe?

The trigger interest for /etc/init.d is totally unaffected by the
/usr-merge, but the one for /lib/systemd/system will get broken.
Currently, packages must install their unit files to the aliased
location (due to the file move moratorium and the way debhelper
implements that) and runit will get properly activated (except for a
minority of units that happen to ship in the /usr location already). As
packages move their files from / to /usr, this trigger interest will
become ineffective and miss activations. This problem is captured in
DEP17 section P2 (a draft of this document is available at
https://subdivi.de/~helmut/dep17.html). We're in the process of
selecting mitigations for the various problems, but it already is clear
that the preferred mitigation for this problem is duplicating triggers
(M12), because this mitigation is safe regardless of the other
mitigations to be selected. So your trigger file should likely look like
this:

| ...
| interest-noawait /usr/lib/systemd/system
| # Duplicate trigger interest according to DEP17-M12 until forky is
| # released.
| interest-noawait /lib/systemd/system

Depending on your answers why you activate on /usr/bin and /usr/sbin you
may opt for similarly duplicating those triggers.

Note that this issue is actionable now. It will become release critical
once we lift the file move moratorium. I hope that to happen in two
months as the necessary preparations (one of which is this bug) are
ready.

If you have any questions, don't hesitate to ask.

Helmut

Reply via email to