#!/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
}

