[^2]: And if Avahi-daemon is no more installed, the default for Mate
is still to use PulseAudio. You can get rid of the PulseAudio daemon
-by replacing package *mate-settings daemon-pulse* by package
+by replacing package *mate-settings-daemon-pulse* by package
*mate-settings-daemon-gstream*, then suppressing package *pulseaudio*.
The installed systemd related packages are then the following:
The mandatory dependencies figure is especially important for
*libsystemd0*, *libudev1* and *udev*. *libsystemd0* is mostly used to
ensure systemd is present, and the additional functionality offered in
-that case is (for now...) limited. The lack of functionality is
-probably higher if *libudev1* is present but not *udev*, as we have
-been living with *udev* since a long time.
+that case is (for now...) limited.
-So *udev* development taken over by systemd is the real trouble here;
-but more about that in the conclusion.
+We have been living with *udev* since a long time and it is needed by
+*initramfs-tools* and several desktop packages, so it is difficult to
+get rid of it. The fact that *udev* development was taken over by
+systemd is the real trouble here; but more about that in the conclusion.
## Debian Jessie with Mate and SysV init
[[!img dep-systemd.png size=600x]]
-## Debian Jessie with Mate, SysV init and *consolekit*
-
-Exploring the packages dependencies in
-[aptitude](https://wiki.debian.org/Aptitude) gives you the following
-alternative set of packages dependencies:
-
-[[!img dep-consolekit.png size=600x]]
-
-where package *consolekit* replaces *systemd* at several
-places. Notice that it is not possible to change/suppress the
-dependency of *udisks2* and *policykit-1*.
-
-So let's go to change to the above figure by installing *consolekit* [^3],
-as a first step to limit your systemd exposure.
-
-[^3]: In the process of installing *consolekit*, you may have lost (or
-not) the ability to resume/suspend from your Mate desktop; the
-conditions under which it happens are not clear for me at the
-moment. But continuing until the end what I suggest in this article
-will recover eventually that functionality.
-
## Debian Jessie with Mate, SysV init and a modified *libpam-systemd*
As *libpam-systemd* is the only package left depending on *systemd*,
-the idea is here to modify *libpam-systemd* to:
-
-1. Restore resume/suspend functionality if it's lost
-2. Make the new package depend no more on package *systemd*, so you
- can get rid of it
+the idea is here to modify *libpam-systemd* to get rid of it.
To do that, I took the Debian systemd source, which I modified to
build a new package *libpam-systemd*. The main steps were the
For your convenience, all of the source files and the .deb package
(for i386) are here:
- [[systemd_215-17+deb8u2bu1.dsc]]
+[[systemd_215-17+deb8u7bu1.dsc]]
-[[systemd_215-17+deb8u2bu1_i386.changes]]
+[[systemd_215-17+deb8u7bu1.tar.gz]]
-[[systemd_215-17+deb8u2bu1.tar.gz]]
+[[systemd_215-17+deb8u7bu1_i386.changes]]
-[[libpam-systemd_215-17+deb8u2bu1_i386.deb]]
+[[libpam-systemd_215-17+deb8u7bu1_i386.deb]]
If you have installed the needed development packages, it's easy to
-rebuild file "libpam-systemd_215-17+deb8u2bu1_i386.deb" with these
+rebuild file "libpam-systemd_215-17+deb8u7bu1_i386.deb" with these
simple commands:
- # the 3 source files have to be downloaded in your current working directory
- dpkg-source -x systemd_215-17+deb8u2bu1.dsc
+ # the 2 source files have to be downloaded in your current working directory
+ dpkg-source -x systemd_215-17+deb8u7bu1.dsc
cd systemd-215
dpkg-buildpackage -rfakeroot
cd ..
method to do it is to run:
mkdir -p ~/my-repo/dists/jessie/main/binary-i386
- mv libpam-systemd_215-17+deb8u2bu1_i386.deb ~/my-repo/
- dpkg-scanpackages ~/my-repo /dev/null | gzip > ~/my-repo/dists/jessie/main/binary-i386/Packages.gz
+ mv libpam-systemd_215-17+deb8u7bu1_i386.deb ~/my-repo/
+ (cd ~/my-repo; dpkg-scanpackages . /dev/null | gzip > dists/jessie/main/binary-i386/Packages.gz)
Notice that "dpkg-scanpackages" is available through package
*dpkg-dev*.
For a more organized solution to avoid systemd in Debian, you can also
look at the [Devuan distribution](https://devuan.org/), a fork of Debian;
*vdev* is here also a candidate for *udev* replacement.
+
+Meanwhile, the last Devuan release has shipped with [*eudev*](https://wiki.gentoo.org/wiki/Eudev),
+a *udev* fork pushed mainly by Gentoo.