summaryrefslogtreecommitdiff
path: root/nonsystemd/elogind/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'nonsystemd/elogind/PKGBUILD')
-rw-r--r--nonsystemd/elogind/PKGBUILD131
1 files changed, 74 insertions, 57 deletions
diff --git a/nonsystemd/elogind/PKGBUILD b/nonsystemd/elogind/PKGBUILD
index de706a693..568b57669 100644
--- a/nonsystemd/elogind/PKGBUILD
+++ b/nonsystemd/elogind/PKGBUILD
@@ -1,49 +1,64 @@
-# 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>
-
-# This package comes from Artix
-# Parabola changes:
-# - elogind and libelogind: do not provide {lib,}elogind=$pkgver, it's ridiculous
-# - elogind: do not provide systemd-tools, openrc will conflict it
-# - libelogind: make libsystemd.so a copy of libelogind.so instead of linking it,
-# so in that way it will provide the correct version according to the
-# architecture (libsystemd.so=0-64 or libsystemd.so=0-32)
-# - remove prepare()
+# Maintainer (artix): artoo <artoo@artixlinux.org>
+
+
+# Parabola changes and rationale:
+# - provide 'systemd', 'libsystemd', and 'libsystemd-standalone'
+# - libelogind: symlinks to libsystemd libs
+
pkgbase=elogind
pkgname=('elogind' 'libelogind')
-pkgver=243.7
+pkgver=252.9
pkgrel=2
pkgdesc="The systemd project's logind, extracted to a standalone package"
-arch=('x86_64' 'i686' 'armv7h')
+arch=('x86_64')
+arch+=('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')
+makedepends=('acl' 'libacl.so' 'audit' 'libaudit.so' 'dbus' 'pam' 'gperf' 'kexec-tools'
+ 'libcap' 'libcap.so' 'udev' 'util-linux' 'libmount.so'
+ 'docbook-xsl' 'intltool' 'meson' 'openrc' 'python-jinja' )
source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/elogind/elogind/archive/v${pkgver}.tar.gz"
- 'elogind.confd' 'elogind.initd')
-sha256sums=('941fde1ffbdf51d61e47fcebc49e2fc2b1347fcf3b0522bfa9d65ad5da653e53'
- '344db76bf8aadfba4363c63aacd93c945a647bd5e425d756cbfd9cb4453afc66'
- '2fc375b3aa61cb63b16c55840acaa69d26b16a01d393ee129d77c804efdac278')
+ 'elogind-252-docs.patch')
+sha256sums=('7af8caa8225a406e77fb99c9f33dba5e1f0a94f0e1277c9d91dcfc016f116d85'
+ 'c4153ec89c4deee33e019c168a71b7f1052ff5b24dc747a847cf295a4b54749f')
+
+prepare() {
+ cd ${pkgbase}-${pkgver}
+ patch -Np 1 -i ../elogind-252-docs.patch
+}
build() {
local meson_options=(
+ -Dshared-lib-tag="${pkgver}-${pkgrel}"
+ -Dmode=release
+
+ -Dsbat-distro='parabola'
+ -Dsbat-distro-summary='Parabola GNU/Linux-libre'
+ -Dsbat-distro-pkgname="${pkgname}"
+ -Dsbat-distro-version="${pkgver}"
+ -Dsbat-distro-url="https://www.parabola.nu/packages/nonsystemd/${CARCH}/${pkgname}/"
+
-Drootlibdir=/usr/lib
-Drootlibexecdir=/usr/lib/elogind
-Ddbuspolicydir=/usr/share/dbus-1/system.d
+ -Dudevrulesdir=/usr/lib/udev/rules.d
-Ddocdir=/usr/share/doc/elogind
-Ddefault-hierarchy=hybrid
-Dcgroup-controller=openrc
-Ddefault-kill-user-processes=false
+ -Dman=true
+ -Dsmack=true
+ -Daudit=true
+ -Dpolkit=true
+ -Dinstall-sysconfdir=true
+ -Dutmp=true
)
- arch-meson "$pkgbase-${pkgver}" build "${meson_options[@]}"
+ arch-meson "${pkgbase}-${pkgver}" build "${meson_options[@]}"
- ninja -C build
+ meson compile -C build
}
check(){
@@ -52,44 +67,46 @@ check(){
package_elogind() {
pkgdesc="The systemd project's logind, extracted to a standalone package"
- provides=("systemd=${pkgver}")
- 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"
+ depends=('glibc' 'gcc-libs' 'acl' 'libacl.so' 'audit' 'libaudit.so' 'dbus'
+ 'kexec-tools' 'libcap' 'libcap.so'
+ 'libelogind' 'pam' 'udev' 'util-linux' 'libmount.so')
+ provides=('logind')
+ optdepends=('polkit: allow administration as unprivileged user')
+ backup=('etc/elogind/logind.conf'
+ 'etc/elogind/sleep.conf')
+
+ # systemd compatibility
+ provides+=("systemd=$pkgver")
+ conflicts+=('systemd')
+
+ meson install -C build --destdir "${pkgdir}"
+
+ install -dm755 "${srcdir}"/_libelogind
+ mv -v "${pkgdir}"/usr/lib/libelogind*.so* "${srcdir}"/_libelogind
+ mv -v "${pkgdir}"/usr/lib/pkgconfig "${srcdir}"/_libelogind/
+ mv -v "${pkgdir}"/usr/include "${srcdir}"/_libelogind/
+ mv -v "${pkgdir}"/usr/share/man/man3 "${srcdir}"/_libelogind/
}
package_libelogind(){
pkgdesc="elogind client libraries"
- groups=('base-devel')
- provides=('libelogind.so'
- "libsystemd=${pkgver}" "systemd-libs=${pkgver}"
- 'libsystemd.so')
- conflicts+=('libsystemd.so')
- depends=('libcap' 'libudev')
+ depends=('glibc' 'gcc-libs' 'libcap' 'libcap.so' 'libudev')
+ provides=('libelogind.so' 'liblogind')
- cd ${pkgbase}-${pkgver}
+ # libsystemd compatibility
+ provides+=('libsystemd.so' "libsystemd=${pkgver}"
+ "libsystemd-standalone=${pkgver}" "systemd-libs=${pkgver}")
+ conflicts+=('libsystemd.so' 'libsystemd' 'systemd-libs')
+
+ install -dm755 "${pkgdir}"/usr/{lib,share/man}
+ mv -v "${srcdir}"/_libelogind/libelogind*.so* "${pkgdir}"/usr/lib
+ mv -v "${srcdir}"/_libelogind/pkgconfig "${pkgdir}"/usr/lib/
+ mv -v "${srcdir}"/_libelogind/include "${pkgdir}"/usr/
+ mv -v "${srcdir}"/_libelogind/man3 "${pkgdir}"/usr/share/man
- install -dm755 ${pkgdir}/usr/lib
- mv ${srcdir}/_libelogind/libelogind*.so* ${pkgdir}/usr/lib
+ # HACK: (re)install libelogind.so as libsystemd.so so their lib versions match
+ install -m755 "${pkgdir}"/usr/lib/lib{elogind,systemd}.so
+ ln -sfv libsystemd.so "${pkgdir}"/usr/lib/libsystemd.so.0
- install -m755 ${pkgdir}/usr/lib/libelogind.so ${pkgdir}/usr/lib/libsystemd.so
- ln -sfv libsystemd.so ${pkgdir}/usr/lib/libsystemd.so.0
+ ln -sfv libelogind.pc "${pkgdir}"/usr/lib/pkgconfig/libsystemd.pc
}