This will cause breakage because the files are left there. Other
packages can add new groups which re-use the old IDs and you end up with
weird and unintentional ACLs.
See also https://wiki.debian.org/AccountHandlingInMaintainerScripts
Colin Walters [Thu, 22 Aug 2013 17:55:21 +0000 (13:55 -0400)]
polkit: Avoid race condition in scraping /proc
If a calling process execve()s a setuid program, it can appear to be
uid 0. Since we're receiving requests over DBus, avoid this by simply
passing system-bus-name as a subject.
Michael Biebl [Tue, 17 Sep 2013 21:18:04 +0000 (23:18 +0200)]
Simplify enable_udev() on initial installation
Since UDEV_ROOT support has been removed upstream, simplify
enable_udev() which is run on initial installation. We now just run
"invoke-rc.d udev start" and restart daemons whose sockets might have
been hidden by the devtmpfs.
Michael Biebl [Tue, 17 Sep 2013 20:01:54 +0000 (22:01 +0200)]
Abort udev upgrade if devtmpfs support is missing
Add preinst check to abort udev upgrade if the currently running kernel
lacks devtmpfs support. Since udev 176, devtmpfs is mandatory as udev no
longer creates any device nodes itself. This only affects self-compiled
kernels which now need CONFIG_DEVTMPFS=y. Closes: #722580
Michael Biebl [Tue, 17 Sep 2013 18:41:02 +0000 (20:41 +0200)]
Re-order upgrade version checks to improve readability
Nesting the upgrade version checks safes us a few
"dpkg --compare-versions" calls, but makes the code unnecessarily hard
to read. Since "dpkg --compare-versions" is rather cheap, re-order the
version checks to improve readability.
Michael Biebl [Tue, 17 Sep 2013 18:03:25 +0000 (20:03 +0200)]
Remove udev-udeb dependency from libudev1-udeb
This dependency was copied over from the old udev-gtk-udeb package and
no longer makes any sense since libudev1-udeb only contains a library
nowadays. It also leads to a circular dependency.
Michael Biebl [Wed, 11 Sep 2013 21:32:25 +0000 (23:32 +0200)]
Use different default paths for various binaries
Since Debian hasn't done the usr-merge (yet), various binaries are still
installed in / and not /usr.
Update the defaults in configure.ac so we don't have to build-depend on
quota, libcap2-bin, procps, kmod and kexec-tools just to get the correct
paths. Closes: #721347
Michael Biebl [Sun, 11 Aug 2013 21:10:24 +0000 (23:10 +0200)]
Generate strict dependencies between the binary packages
Use a shlibs.local file to generate strict inter-package dependencies
and add an explicit versioned dependency on libsystemd-login0 to systemd.
This ensures that e.g. libsystemd-login is always talking to the correct
version of systemd-logind. Closes: #719444
Michael Biebl [Fri, 9 Aug 2013 09:40:24 +0000 (11:40 +0200)]
Use /bin/bash as debug-shell
The /bin/sh symlink typically points to dash, which is a very basic and
not very comfortable shell. Since bash is an essential package and thus
always available, use that as debug-shell instead.
…by adding an [Install] section to tmp.mount and removing the
local-fs.target.wants symlink.
Users can use “systemctl enable tmp.mount” to enable mounting /tmp after
the next reboot and “systemctl start tmp.mount” to get /tmp mounted as
tmpfs right now (beware, files currently in /tmp will not be visible
anymore afterwards).
Michael Biebl [Wed, 24 Jul 2013 21:26:24 +0000 (23:26 +0200)]
Restart systemd-logind.service on upgrades
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
Michael Biebl [Wed, 24 Jul 2013 21:04:48 +0000 (23:04 +0200)]
Adjust package priorities
Since other packages now depend on the systemd packages, make all
packages Priority: optional, with the exception of udev and libudev1,
which remain Priority: important, and systemd-sysv, which remains
Priority: extra due to the conflict with sysvinit. Closes: #717365
Michael Biebl [Wed, 24 Jul 2013 20:38:56 +0000 (22:38 +0200)]
Add Breaks against consolekit (<< 0.4.6-1) for udev-acl
The udev-acl tool was removed from udev in version 182 and added to
consolekit. The Breaks ensures that a recent enough version of
consolekit is installed which is shipping this tool. While we will
switch to logind for dynamic device ACLs, this will ensure a smooth
upgrade path in the mean time. Closes: #717385
Michael Biebl [Wed, 24 Jul 2013 20:18:12 +0000 (22:18 +0200)]
Remove obsolete support for configurable udev root
Upstream has removed support for a configurable UDEV_ROOT in udev 176
when devtmpfs became mandatory. We already removed this from the SysV
init script in commit dbad4c2a8dcd69e310de897daf8eb150bdcec249.
Install 50-firmware.rules in the initramfs and udeb
In commit 6a1547f157703083f1352a831131f5bc76b6fb05 we switched from our
own firmware agent to the upstream one, but forgot to install
50-firmware.rules in the initramfs and the udev-udeb package.
Tom Gundersen [Mon, 22 Jul 2013 14:59:26 +0000 (16:59 +0200)]
systemd-tmpfiles-setup-dev: remain after exit
Without this, tmpfiles-setpu-dev would be re-run if any other service,
which pulls in basic.target, was started after setup-dev was finished
and before basic.target was active.
Daniel Schaal [Sat, 20 Jul 2013 04:58:42 +0000 (06:58 +0200)]
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/
Since we are keeping the old persistent network interface naming for
now, and make the new naming scheme [1] explictly opt-in [2], re-apply
this old hack to make the renaming less likely to fail.
Martin Pitt [Fri, 14 Jun 2013 10:21:38 +0000 (12:21 +0200)]
udev hwdb: Store binary database in libdir, not in /etc
Storing huge binary files in /etc/ is ugly, as this is neither user-editable
nor configuration of any kind. This is just a cache file, and does not need
backing up.
With this commit, you need to actively specify net.ifnames=1 to get
predictable network interface names:
http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
Martin Pitt [Tue, 12 Mar 2013 15:00:13 +0000 (16:00 +0100)]
Clean up closing empty sessions when not running under systemd
In logind's manager_gc(), submit "closing" session to garbage collection, to
clean them up once they are empty. This is usually triggered through
manager_cgroup_notify_empty() from a org.freedesktop.systemd1.Agent.Released
signal, but that doesn't happen when not running under systemd.
Michael Biebl [Thu, 18 Jul 2013 18:18:31 +0000 (20:18 +0200)]
Update localed to use the Debian config files
Prefer /etc/default/locale over /etc/locale.conf when writing the locale
configuration and use /etc/default/keyboard instead of
/etc/X11/xorg.conf.d/00-keyboard.conf.
We still have 100+ packages shipping SysV init scripts in rcS so it's
too early to drop support for that. We eventually might use a separate
generator for that, as this would be cleaner. But for now that will do.