This does not fix the root cause of the reload failures, but at least causes
fewer packages to be in a broken state after upgrade, so that a reboot or
apt-get -f install have a much higher chance in succeeding.
This is more defensive against bugs like https://launchpad.net/bugs/1502097https://launchpad.net/bugs/1447654.
Retrigger cleanup of org.freedesktop.machine1.conf and
hwclock-save.service now that dpkg has been fixed to correctly pass the
old version to postinst on upgrade.
Closes: #802545
These send DNS server updates from networkd to resolvconf, if installed and
enabled. As we removed if-up.d/ integration, resolvconf is not otherwise being
updated.
Adjust the test suite as the previous commit stopped waiting for if-up.d/ to
have run, so now we need to wait for resolvconf to finish.
About half of the existing hooks are not relevant or even actively detrimental
when running with networkd. For the relevant ones, a lot of them should be
fixed in the projects themselves (using IP_FREEBIND etc.).
This has also caused some random hangs when restarting networkd or on shutdown,
by triggering #774153. While this needs to be fixed anyway, it makes this bug
much more apparent.
Closes: #798625
Drop networkd-if-up.d@.service and its invocation from net.agent again. It does
not work when restarting networkd and requires too much overhead.
Instead, add a suid root helper systemd-networkd-dispatcher which calls
run-parts, and patch networkd to run the wrapper at the appropriate time.
Add reference to LP: #1492129.
Also remove the creation of the systemd-journal-remote group from
systemd.postinst. This is no longer needed as the tmpfiles snippet
requiring that group is now shipped by the systemd-journal-remote
package.
This reverts commit daf17c2766.
This would cause errors like "already exists as a non-system group" to go
unnoticed. We really should go back to --quiet and fix adduser (#763055).
There are still situations where it becomes active through dependencies from
other units, which is surprising, hides existing data in /tmp during runtime,
and it isn't safe to have a tmpfs /tmp on every install scenario.
- d/rules: Ship tmp.mount in /usr/share/systemd/ instead of
/lib/systemd/systemd.
- systemd.postinst: When tmp.mount already was enabled, install tmp.mount
into /etc and keep it enabled.
- systemd.postinst: When enabling tmp.mount because of RAMTMP=yes, copy it
from /usr/share.
- Drop Don-t-mount-tmp-as-tmpfs-by-default.patch and
PrivateTmp-shouldn-t-require-tmpfs.patch, not necessary any more.
Closes: #783509
This fixes startup failures from packages which install init.d scripts with
--no-start or from "make install" third-party project installs.
Closes: #766429
This is now done automatically by tmpfiles.d/systemd.conf. If the admin already
set up the directory according to earlier README.Debian, the ACL is already in
place, and if it does not exist it won't get filled until after the next boot
anyway.
This currently can't be done without losing the current journal and breaking
attached processes. So only restart it from upgrades < 215-3 (where the socket
location got moved) as an one-time upgrade path from wheezy.
Closes: #771122
The /dev/log socket and /dev/initctl FIFO have been moved to /run and
replaced by symlinks. Create the symlinks manually on upgrades as well.
Closes: #761340
* Use adduser in quiet mode when creating the system users/groups to avoid
warning messages about the missing home directories. Those are created
dynamically during runtime.
* Set the gecos field when creating the system users.
Closes: #759175
The CreateSession D-Bus API of systemd-logind changed between v44 and
v204 [1]. As result, newer versions of libpam-systemd fail to register a
new session if they talk to the old systemd-logind process.
Restarting systemd-logind.service when upgrading from v44 means we will
lose existing sessions, but as wheezy still has ConsoleKit as default,
this shouldn't matter that much. Closes: #717403
[1] https://bugs.freedesktop.org/show_bug.cgi?id=67131
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/
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.
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