summaryrefslogtreecommitdiff
path: root/nonsystemd
diff options
context:
space:
mode:
authorDavid P <megver83@parabola.nu>2019-11-13 18:59:34 -0300
committerDavid P <megver83@parabola.nu>2019-11-13 18:59:34 -0300
commit8df38ad4ea16fdb7502cd41a076e735d78a9ca18 (patch)
tree8ff71e01ff378224ca21b0cfe521e19a791d1c45 /nonsystemd
parente0f289a70a7f05c2ed1024862d2d73d32205f08d (diff)
addpkg: nonsystemd/elogind 241.3-1
Signed-off-by: David P <megver83@parabola.nu>
Diffstat (limited to 'nonsystemd')
-rw-r--r--nonsystemd/elogind/PKGBUILD90
-rw-r--r--nonsystemd/elogind/elogind.confd7
-rw-r--r--nonsystemd/elogind/elogind.initd25
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 $?
+}