#!/usr/bin/env bash name='elogind' release='4' version='255.22' url='https://github.com/elogind/elogind' description="he systemd project's logind, extracted to a standalone package" email='aliriza.keskin@pardus.org.tr' maintainer='aliriza' license=('GPLv3') source=("https://github.com/elogind/elogind/archive/refs/tags/V$version.tar.gz" "elogind.initd" "systemd.pc") depends=(acl attr audit libcap-ng libcap dbus pam) makedepends=() sha256sums=('79b5eb96bccf3a6101b35e62d0f80b2d0a47077a1507a6edc705f8cb7bdb0619' 'SKIP' 'SKIP') group=(sys.auth) uses=() arch=('x86_64') cd $name-$version setup(){ meson setup build --prefix=/usr \ --libdir=/lib64/ \ -Dmode=developer \ -Dudevrulesdir=/lib64/udev/rules.d \ -Dcgroup-controller=elogind \ -Dhalt-path=/sbin/halt \ -Dreboot-path=/sbin/reboot \ -Dpoweroff-path=/sbin/poweroff \ -Ddefault-kill-user-processes=true \ -Dpam=true \ -Dselinux=false \ -Daudit=true \ -Defi=false \ -Dpolkit=true } build(){ ninja -C build } package(){ ninja -C build install # Claim compatiblity with systemd and systemd-logind (thanks Alpine linux) ln -s libelogind.pc "$DESTDIR"/lib64/pkgconfig/libsystemd.pc ln -s libelogind.pc "$DESTDIR"/lib64/pkgconfig/libsystemd-login.pc ln -s elogind "$DESTDIR"/usr/include/systemd # Extra compatiblity support ln -s libelogind.so.0 "$DESTDIR"/lib64/libsystemd.so.0 ln -s libelogind.so.0 "$DESTDIR"/lib64/libsystemd.so.0.35.0 ln -s pam_elogind.so "$DESTDIR"/lib64/security/pam_systemd.so install ../systemd.pc "$DESTDIR"/lib64/pkgconfig/ # Install headers from elogind install -Dm644 src/systemd/sd-id128.h "$DESTDIR"/usr/include/sd-id128.h install -Dm644 src/systemd/_sd-common.h "$DESTDIR"/usr/include/_sd-common.h # openrc service mkdir -p "${DESTDIR}"/etc/init.d install ../elogind.initd "${DESTDIR}"/etc/init.d/elogind # shadow system-auth.d file mkdir -p "${DESTDIR}"/etc/pam.d/system-auth.d/ echo "session include elogind-user" > "${DESTDIR}"/etc/pam.d/system-auth.d/99-elogind # ld.so.conf mkdir -p "${DESTDIR}"/etc/ld.so.conf.d/ echo "/lib64/elogind" > "${DESTDIR}"/etc/ld.so.conf.d/elogind.conf }