[Bug 1616422] Re: [trusty SRU/FFE] Add systemd binary package for snapd
Martin Pitt
martin.pitt at ubuntu.com
Thu Sep 15 10:56:46 UTC 2016
Thomas discovered another problem:
# apt-get remove colord
Removing colord (1.0.6-1) ...
Failed to issue method call: Unit colord.service not loaded.
dpkg: error processing package colord (--remove):
subprocess installed pre-removal script returned error exit status 5
Failed to issue method call: Unit colord.service failed to load: No such file or directory. See system logs and 'systemctl status colord.service' for details.
Errors were encountered while processing:
colord
E: Sub-process /usr/bin/dpkg returned an error code (1)
The autogenerated prerm has:
if [ -d /run/systemd/system ]; then
deb-systemd-invoke stop colord.service >/dev/null
fi
This previously was a no-op in trusty as systemd never ran as pid 1 and
thus /run/systemd/system does not exist. But it does exist now with the
deputy init, and:
- We added a patch to ignore units shipped by packages (in
/lib/systemd/system)
- colord *only* ships a systemd unit, not a corresponding SysV script
(as it's D-Bus activated), and thus this uses dh_systemd_start/deb-
systemd-invoke instead of dh_installinit/invoke-rc.d.
As we don't ever expect deb-systemd-invoke to actually do something on
trusty, I propose to just replace it with a /bin/true symlink. This is
more robust and more efficient than trying to detect within it if
systemd runs as deputy init.
** Changed in: init-system-helpers (Ubuntu Trusty)
Status: New => In Progress
** Changed in: init-system-helpers (Ubuntu Trusty)
Assignee: (unassigned) => Martin Pitt (pitti)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1616422
Title:
[trusty SRU/FFE] Add systemd binary package for snapd
Status in init-system-helpers package in Ubuntu:
Invalid
Status in systemd package in Ubuntu:
Invalid
Status in init-system-helpers source package in Trusty:
In Progress
Status in systemd source package in Trusty:
In Progress
Bug description:
Rationale: For backporting snapd to 14.04 LTS, we need to provide
systemd's service manager (not just logind and auxiliary services like
logind or timesyncd). upstart will continue to do the actual booting,
and systemd will act as a "deputy init" which by default does not ship
with/start any services by itself. We will only support this on server
(at the first iteration at least), not on desktops.
Regression potential: This is a new binary package in universe, so
existing systems are unaffected (provided that we ensure that the
other binary packages do not change and there are no code changes that
affect processes other than the "deputy pid 1" service manager). So
for plain upgrades the regression potential is very low. However,
there is a medium potential for breakage when actually installing the
new systemd package, as it might interfere with upstart jobs or other
running processes, cause boot/shutdown hangs, etc.
Test plan:
1. Dist-upgrade a trusty installation to the proposed versions. Ensure this does not pull in "systemd", and that booting, shutdown, desktop startup, suspend on lid close, resume, logout, and user switching all still work.
2. Install the "systemd" binary package (this will replace/remove
systemd-shim). Verify that you can talk to the service manager with
"sudo systemctl status". Check that booting and shutdown continues to
work without (significant) delays.
3. Ensure that "sudo journalctl" works and that "sudo systemctl
status systemd-journald" is running and has a few lines of log at the
end (unlike what you get when you run systemctl as user).
4. Install a package that ships a systemd .service file, such as
"haveged". Ensure that the service file is ignored, "pgrep -af
haveged" should only have *one* process and "systemctl status haveged"
should not be running (it should not exist, or not be enabled and be
inactive).
The only services that are running are expected to be systemd-
journald.service and systemd-journald.socket.
5. Ensure that the standard targets are active, as that is where
third-party/snap services hook into:
systemctl status sysinit.target multi-user.target default.target
6. Install snapd (not in trusty yet, e. g. from Thomas' PPA) and
ensure you can install a snap, and its services start after installing
the snap and after rebooting.
7. Run "sudo apt-get install --reinstall systemd" to ensure that
upgrades to newer systemd trusty versions work. The running systemd
should *not* be restarted as that would disrupt snapd and its services
(verify that the pid in "initctl status systemd" is the same before
and after the upgrade).
8. Run "sudo apt install -y colord && sudo apt purge -y colord". This
should succeed.
9. Dist-upgrade to 16.04 to ensure that there are no file conflicts,
dependency issues, etc.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/init-system-helpers/+bug/1616422/+subscriptions
More information about the foundations-bugs
mailing list