origin of this project: to take the excellent logind functionality
from systemd and provide it as a standalone package.
-We like systemd. We realize that there are people out there that hate
-it. You're welcome to use elogind for whatever purpose you like --
+You're welcome to use elogind for whatever purpose you like --
as-is, or as a jumping-off point for other things -- but please don't
-use it as part of some anti-systemd vendetta. Systemd hackers are
-smart folks that are trying to solve interesting problems on the free
-desktop, and their large adoption is largely because they solve
-problems that users and developers of user-focused applications care
-about. We are appreciative of their logind effort and think that
-everyone deserves to run it if they like, even if they use a different
-PID 1.
+use it as part of some anti-systemd vendetta. We are appreciative of
+the systemd developers logind effort and think that everyone deserves
+to run it if they like. Not matter what kind of PID1 they use.
Differences relative to systemd
-------------------------------
If no controller is in place, configure will determine, that elogind
should be its own controller, which will be a very limited one.
-This approach shoudl generally work, but if you just have no cgroup
+This approach should generally work, but if you just have no cgroup
controller in place, yet, or if you are currently switching to
another one, this approach will fail.
in charge.
However, if you set the controller at configure time to something
-different than is in place, elogind will not start until that
+different than what is in place, elogind will not start until that
controller is actively used as the primary controller.
License
LGPLv2.1+ for all code
- - except src/shared/MurmurHash2.c which is Public Domain
- - except src/shared/siphash24.c which is CC0 Public Domain
- - except src/journal/lookup3.c which is Public Domain
+ - except src/basic/siphash24.c which is CC0 Public Domain
Dependencies
------------
- glibc >= 2.14
+ glibc >= 2.16
libcap
- libmount >= 2.20 (from util-linux)
- libseccomp >= 1.0.0 (optional)
+ libmount >= 2.27.1 (from util-linux)
+ (util-linux < 2.29 *must* be built with --enable-libmount-force-mountinfo,
+ and later versions without --enable-libmount-support-mtab.)
+ libseccomp >= 2.3.1 (optional)
libblkid >= 2.24 (from util-linux) (optional)
PAM >= 1.1.2 (optional)
libacl (optional)
libselinux (optional)
- make, gcc, and similar tools
+ libpython (optional)
+ pkg-config
+ gperf >= 3.1
+ docbook-xsl (optional, required for documentation)
+ xsltproc (optional, required for documentation)
+ python-lxml (optional, required to build the indices)
+ python, meson, ninja
+ gcc, awk, sed, grep, m4, and similar tools
During runtime, you need the following additional dependencies:
+ util-linux >= v2.27.1 required
dbus >= 1.4.0 (strictly speaking optional, but recommended)
+ NOTE: If using dbus < 1.9.18, you should override the default
+ policy directory (--with-dbuspolicydir=/etc/dbus-1/system.d).
PolicyKit (optional)
-When building from git, you need the following additional
-dependencies:
+ To build in directory build/:
+ meson build/ && ninja -C build
- pkg-config
- docbook-xsl
- xsltproc
- automake
- autoconf
- libtool
- intltool
- gperf
- gtkdocize (optional)
+ Any configuration options can be specified as -Darg=value... arguments
+ to meson. After the build directory is initially configured, the configuration
+ can be changed with:
+ meson configure -Darg=value... build/
+ 'meson configure' without any arguments will print out available options and
+ their current values.
+
+ Useful commands:
+ ninja -v some/target
+ ninja test
+ sudo ninja install
+ DESTDIR=... ninja install
+
+ A tarball can be created with:
+ git archive --format=tar --prefix=elogind-238/ v238 | xz > elogind-238.tar.xz