[systemd-devel] Antw: Re: suggestion: auto reload as the default to help packagers?

Michael Chapman mike at very.puzzling.org
Mon Jun 3 08:24:16 UTC 2019


On Mon, 3 Jun 2019, Andrei Borzenkov wrote:
> 03.06.2019 10:15, Ulrich Windl пишет:
> >>>> Michael Chapman <mike at very.puzzling.org> schrieb am 31.05.2019 um 13:28 in
> > Nachricht <alpine.LFD.2.21.1905312123080.3180 at beren.home>:
> >> On Fri, 31 May 2019, Reindl Harald wrote:
> >>> Am 31.05.19 um 12:31 schrieb Michael Chapman:
> >>>> For RPM on Fedora, the systemd package has %transfiletriggerin and 
> >>>> %transfiletriggerun scriptlets that run automatically at the end of the 
> >>>> RPM transaction if units were installed or removed. This is the cleanest 
> >>>> approach since it means all changes from all updated packages are applied 
> >>>> at once.
> >>>
> >>> sadly that's all theory given that all services in Fedora are
> >>> automatically hard restartet when packages are updated and "at the end"
> >>> is too late when the service got restarted with the old unit but new binary
> >>
> >> I actually got it slightly wrong: %transfiletriggerin and 
> >> %transfiletriggerun occur in the _middle_ of the transaction, in between 
> 
> That's not what source says:
> 
> https://github.com/rpm-software-management/rpm/blob/096ec07465f6d223a1e9d68b688889e2fab103f7/lib/transaction.c#L1660
> 
> The sequence is
> 
> %pretrans
> %transfiletriggerun
> actual transaction
> %posttrans
> %transfiletriggerpostun
> %transfiletriggerin
> 
> Are you sure you do not mix up %transfiletrigger and %filetrigger?

Quite possible. I really wish the %_docdir/triggers shipped in RPM 
was updated to describe file triggers properly.

Regardless, I'm pretty sure that the way systemd is using these things is 
correct. I certainly have never seen any issues in services being 
restarted with "old" unit configs.


More information about the systemd-devel mailing list