diff options
Diffstat (limited to 'nonsystemd/elogind/PKGBUILD')
-rw-r--r-- | nonsystemd/elogind/PKGBUILD | 131 |
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 } |