diff options
Diffstat (limited to 'repo/system/elogind/elogind.xibuild')
-rw-r--r-- | repo/system/elogind/elogind.xibuild | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/repo/system/elogind/elogind.xibuild b/repo/system/elogind/elogind.xibuild new file mode 100644 index 0000000..c5f1774 --- /dev/null +++ b/repo/system/elogind/elogind.xibuild @@ -0,0 +1,93 @@ +#!/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 +} |