From Fedora Project Wiki
(Created page with "= Systemd file triggers <!-- The name of your change proposal --> = == Summary == systemd daemon-reload is invoked once per rpm transaction. == Owner == <!-- For change pro...")
 
Line 96: Line 96:


== Documentation ==
== Documentation ==
* https://github.com/systemd/systemd/pull/1893
* https://bugzilla.redhat.com/show_bug.cgi?id=1282115
* http://www.rpm.org/wiki/FileTriggers


== Release Notes ==
== Release Notes ==

Revision as of 00:26, 15 November 2015

Systemd file triggers

Summary

systemd daemon-reload is invoked once per rpm transaction.

Owner

Current status

  • Targeted release: Fedora 24
  • Last updated: 2015-11-15
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

Instead of having every package which carries a systemd unit call systemctl daemon-reload on its own, systemd is reloaded just once after installation of all packages, using rpm file triggers on /usr/lib/systemd/system, /etc/systemd/system.

Packages still have to call systemctl preset as necessary, and try-restart on their own unit if appropriate. RPM macros provided by systemd are modified to remove all calls to daemon-reload from them. No changes to packages using those macros are required, but a rebuild is necessary to remove the calls to systemctl daemon-reload.

Benefit to Fedora

Faster installation of packages.

Scope

  • Proposal owners:

Update the macros provided by systemd and add appropriate file triggers.

  • Other developers: potentially rebuild some packages.
  • Release engineering: N/A
  • Policies and guidelines: N/A
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

Packages have to be rebuilt to use the new macros. Until that happens, extra reloads will be issued. In addition, the difference in behaviour will happen on the next update, since during the first upgrade after the change old scriptlets will be used.

How To Test

Upgrade packages. Look for systemd[1]: Reloading.. Verify that the reload happens at least once, and that the reload happens before upgraded units are restarted (units should be restarted to use the new binaries and daemon-reload should happen first so that updated units are used if they changed).

User Experience

N/A (not user visible)

Dependencies

Contingency Plan

  • Contingency mechanism: Restore old macros, rebuild all packages using systemd macros (everything which BR:systemd ?).
  • Contingency deadline: beta
  • Blocks release? No
  • Blocks product? No

Documentation

Release Notes