#!/bin/sh MAKEDEPS="make docbook4-xml docbook-xsl docbook-dtd libxslt util-linux glib acl m4" DEPS="pam gperf eudev" PKG_VER=246.10 SOURCE=https://github.com/elogind/elogind/archive/v$PKG_VER/elogind-$PKG_VER.tar.gz ADDITIONAL=" id-nobody.patch mips.patch ppc64-bad-tuple.patch ppcle.patch elogind.initd " DESC="The standalone logind daemon" prepare () { sed -i '/Disable polkit/,+8 d' meson.build for p in *.patch; do patch -Np1 -i $p done # skip the check that the source tree is "too far" # (the assert_cc line) sed -i '83d' src/basic/log.h # remove -v options sed -i 's/-v/-/g' tools/meson-symlink_headers.sh } build () { # TODO re-enable BUILD_MANS meson \ -Dcgroup-controller=elogind \ -Dhalt-path=/sbin/halt \ -Drootlibexecdir=/usr/libexec/elogind \ -Dreboot-path=/sbin/reboot \ -Ddefault-hierarchy=hybrid \ -Ddefault-kill-user-processes=false \ -Dpolkit=false \ -Dman=false \ build ninja -C build } package () { DESTDIR="$PKG_DEST" meson install --no-rebuild -C build ln -sf libelogind.pc $PKG_DEST/usr/lib/pkgconfig/libsystemd.pc && ln -sf elogind $PKG_DEST/usr/include/systemd install -Dm755 elogind.initd $PKG_DEST/etc/init.d/elogind sed -e '/\[Login\]/a KillUserProcesses=no' \ -i $PKG_DEST/etc/elogind/logind.conf cat >> $PKG_DEST/etc/pam.d/system-session << "EOF" && # Begin elogind addition session required pam_loginuid.so session optional pam_elogind.so # End elogind addition EOF cat > $PKG_DEST/etc/pam.d/elogind-user << "EOF" # Begin /etc/pam.d/elogind-user account required pam_access.so account include system-account session required pam_env.so session required pam_limits.so session required pam_unix.so session required pam_loginuid.so session optional pam_keyinit.so force revoke session optional pam_elogind.so auth required pam_deny.so password required pam_deny.so # End /etc/pam.d/elogind-user EOF } postinstall () { rc-update add elogind rc-service elogind start }