diff options
-rw-r--r-- | nonsystemd/elogind/PKGBUILD | 90 | ||||
-rw-r--r-- | nonsystemd/elogind/elogind.confd | 7 | ||||
-rw-r--r-- | nonsystemd/elogind/elogind.initd | 25 |
3 files changed, 122 insertions, 0 deletions
diff --git a/nonsystemd/elogind/PKGBUILD b/nonsystemd/elogind/PKGBUILD new file mode 100644 index 000000000..86ceb6c19 --- /dev/null +++ b/nonsystemd/elogind/PKGBUILD @@ -0,0 +1,90 @@ +# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> +# Maintainer: David P. <megver83@parabola.nu> +# Contributor: Luke Shumaker <lukeshu@parabola.nu> +# Maintainer (Artix): artoo <artoo@artixlinux.org> + +pkgbase=elogind +pkgname=('elogind' 'libelogind') +pkgver=241.3 +pkgrel=1 +pkgdesc="The systemd project's logind, extracted to a standalone package" +arch=('x86_64' 'i686' 'armv7h') +url="https://github.com/elogind/elogind" +license=('GPL' 'LGPL2.1') +conflicts=('systemd-libsystemd') +makedepends=('intltool' 'libtool' 'gperf' 'gtk-doc' 'polkit' 'dbus' + 'libseccomp' 'meson' 'kexec-tools' 'openrc') +options=('!libtool') +source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/elogind/elogind/archive/v${pkgver}.tar.gz" + 'elogind.confd' 'elogind.initd') +sha256sums=('d6a465479c8a629d49ea9374f6199b0c60e7e42eade0fcd8265fc37085386365' + '344db76bf8aadfba4363c63aacd93c945a647bd5e425d756cbfd9cb4453afc66' + '2fc375b3aa61cb63b16c55840acaa69d26b16a01d393ee129d77c804efdac278') + +prepare() { + cd ${pkgbase}-${pkgver} +} + +build() { + local meson_options=( + -Drootlibdir=/usr/lib + -Drootlibexecdir=/usr/lib/elogind + -Ddbuspolicydir=/usr/share/dbus-1/system.d + -Ddocdir=/usr/share/doc/elogind + -Ddefault-hierarchy=hybrid + -Dcgroup-controller=openrc +# -Ddefault-kill-user-processes=false + ) + + arch-meson "$pkgbase-${pkgver}" build "${meson_options[@]}" + + ninja -C build +} + +check(){ + meson test -C build +} + +package_elogind() { + pkgdesc="The systemd project's logind, extracted to a standalone package" + provides=("elogind=${pkgver}" "systemd=${pkgver}") # do not provide "systemd-tools=${pkgver}" because openrc will conflict + depends=('pam' 'dbus' 'libseccomp' 'libelogind' 'kexec-tools' 'udev') + optdepends=('polkit: polkit support') + backup=('etc/elogind/logind.conf') + + provides+=("${pkgname}-openrc") + conflicts+=('systemd-udev' "${pkgname}-openrc") + replaces=("${pkgname}-openrc") + + DESTDIR="$pkgdir" meson install -C build + + ln -sfv libelogind.pc ${pkgdir}/usr/lib/pkgconfig/libsystemd.pc + + install -dm755 ${srcdir}/_libelogind + mv -v ${pkgdir}/usr/lib/libelogind*.so* ${srcdir}/_libelogind + + # Init scripts + install -Dm755 ${srcdir}/elogind.initd ${pkgdir}/etc/init.d/elogind + install -Dm755 ${srcdir}/elogind.confd ${pkgdir}/etc/conf.d/elogind + + install -d "${pkgdir}/etc/runlevels/boot" + ln -sf "/etc/init.d/elogind" "${pkgdir}/etc/runlevels/boot/elogind" +} + +package_libelogind(){ + pkgdesc="elogind client libraries" + groups=('base-devel') + provides=('libelogind.so' "libelogind=${pkgver}" + "libsystemd=${pkgver}" "systemd-libs=${pkgver}" + 'libsystemd.so=0-64') + conflicts+=('libsystemd.so') + depends=('libcap' 'libudev') + + cd ${pkgbase}-${pkgver} + + install -dm755 ${pkgdir}/usr/lib + mv ${srcdir}/_libelogind/libelogind*.so* ${pkgdir}/usr/lib + + ln -sfv libelogind.so ${pkgdir}/usr/lib/libsystemd.so + ln -sfv libsystemd.so ${pkgdir}/usr/lib/libsystemd.so.0 +} diff --git a/nonsystemd/elogind/elogind.confd b/nonsystemd/elogind/elogind.confd new file mode 100644 index 000000000..167260a42 --- /dev/null +++ b/nonsystemd/elogind/elogind.confd @@ -0,0 +1,7 @@ +# /etc/conf.d/elogind: config file for /etc/init.d/elogind + +# this is the elogind executable +ELOGIND_EXEC="/usr/lib/elogind/elogind" + +# this is where elogind will store its pid file +ELOGIND_PIDFILE="/run/elogind.pid" diff --git a/nonsystemd/elogind/elogind.initd b/nonsystemd/elogind/elogind.initd new file mode 100644 index 000000000..3329699fc --- /dev/null +++ b/nonsystemd/elogind/elogind.initd @@ -0,0 +1,25 @@ +#!/usr/bin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need dbus + + # Make sure elogind is up before xdm starts any dm + before xdm +} + +start() { + ebegin "Starting elogind" + + start-stop-daemon --start --quiet \ + --pidfile "${ELOGIND_PIDFILE}" \ + --exec "${ELOGIND_EXEC}" -- --daemon + eend $? +} + +stop() { + ebegin "Stopping elogind" + start-stop-daemon --stop --quiet --pidfile "${ELOGIND_PIDFILE}" + eend $? +} |