Commit Graph

6 Commits

Author SHA1 Message Date
Michael Biebl
551065d648 Add dpkg file trigger for systemd-binfmt to update binfmt registrations 2022-06-03 18:58:38 +02:00
Michael Biebl
54ebb5500e Revert "Trigger a systemctl daemon-reload when init scripts are installed or removed"
Remove the dpkg file trigger which called systemctl daemon-reload whenever
a SysV init script was installed. We have proper support in debhelper
nowadays which makes this superfluous and we want to avoid unnecessary
systemctl daemon-reload calls.
2020-11-19 22:33:24 +01:00
Adam Conrad
6495e64a1c Trigger a systemctl daemon-reload when init scripts are installed or removed
This fixes startup failures from packages which install init.d scripts with
--no-start or from "make install" third-party project installs.

Closes: #766429
2015-04-07 10:59:12 +02:00
Daniel Schaal
6853903fe2 Add handling of Message Catalog files.
This compiles the files from /usr/lib/systemd/catalog into a
binary database, which is used by journalctl to provide
additional information for log entries. journalctl only uses
the binary database in /var/lib/systemd/catalog/database.

Call journalctl --update-catalog in systemd.postinst and when
triggered by dpkg to update the Message Catalog database.
Also add systemd.postrm to remove the database on purge.

See http://www.freedesktop.org/wiki/Software/systemd/catalog/
2013-07-21 12:10:48 +02:00
Michael Biebl
47d2341620 Remove the dpkg-triggered debian-enable-units script
This was a temporary workaround for wheezy. Packages should use dh-systemd
now to properly integrate service files with systemd.
Remove the state files on upgrades.
2013-07-18 16:54:22 +02:00
Michael Biebl
d7e5781795 Use a file trigger to automatically enable service and socket units
A lot of packages simply install systemd units but do not enable them.
Running "systemctl enable" in the maintainer scripts is not really an
option since it is not guaranteed that systemd is installed. We
therefore implement a workaround for wheezy which is supposed to go away
in jessie once we have the necessary tools support in debhelper etc.

What the proposed workaround does is:
- Install a dpkg file trigger for /lib/systemd/system which triggers a
  script named /lib/systemd/debian-enable-units every time a package
  installs a systemd unit.
- Run this script also upon initial installation of systemd and once on
  upgrades from earlier releases.

The script in particular does the following:
- Run "systemctl enable" for each service or socket it finds in
  /lib/systemd/system but does that only once, so the administrator can
  disable them if wanted.
- Record the state and installed symlinks. When a package shipping
  systemd units is uninstalled, we remove those symlinks again.
- Use a blacklist for internal services.
- If systemd is not the active init, it will only create a tag file
  and next time we boot with systemd, the script will be run early
  during boot. For that we install a service named
  debian-enable-units.service which is run in basic.target.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=692150
2013-02-09 16:42:15 +01:00