From 42661809c0c64125282bd7d247af58b2af1f42da Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Wed, 8 Nov 2023 21:27:30 -0600 Subject: user/elogind: Add dracut module for uaccess We have the following in virtually all dmesg, on every bootup: [ 12.782588] systemd-udevd[369]: failed to execute '/lib/elogind/elogind-uaccess-command' '/lib/elogind/elogind-uaccess-command /dev/sr0 ': No such file or directory This is because: * Dracut renames eudev to systemd-udevd * Dracut copies the elogind udev rules to initramfs * The elogind udev rules add uaccess ACL support * uaccess ACL support requires a helper binary with eudev See also: https://github.com/elogind/elogind/pull/47 https://github.com/dracutdevs/dracut/issues/1909 https://github.com/fearedbliss/bliss-initramfs/issues/31 --- user/elogind/APKBUILD | 11 +++++++++-- user/elogind/dracut_module.sh | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100755 user/elogind/dracut_module.sh (limited to 'user/elogind') diff --git a/user/elogind/APKBUILD b/user/elogind/APKBUILD index 471b47ed9..21ab891ab 100644 --- a/user/elogind/APKBUILD +++ b/user/elogind/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox pkgname=elogind pkgver=246.10 -pkgrel=1 +pkgrel=2 pkgdesc="Session manager system" url="https://github.com/elogind/elogind/wiki" arch="all" @@ -11,7 +11,7 @@ depends="dbus eudev utmps" makedepends="meson ninja acl-dev dbus-dev docbook-xsl eudev-dev gperf libcap-dev libxslt-dev linux-headers linux-pam-dev m4 skalibs-libs-dev utmps-libs-dev" -subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-openrc" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-openrc $pkgname-dracut" install="$pkgname.post-install $pkgname.post-deinstall" source="elogind-$pkgver.tar.gz::https://github.com/elogind/elogind/archive/v$pkgver.tar.gz utmps.patch @@ -19,6 +19,7 @@ source="elogind-$pkgver.tar.gz::https://github.com/elogind/elogind/archive/v$pkg elogind.pamd elogind.confd elogind.initd + dracut_module.sh bad-tests.patch " @@ -49,9 +50,15 @@ package() { install -D -m644 "$srcdir"/elogind.confd "$pkgdir"/etc/conf.d/elogind } +dracut() { + install_if="$pkgname=$pkgver-r$pkgrel dracut" + install -D -m755 "$srcdir"/dracut_module.sh "$subpkgdir"/usr/lib/dracut/modules.d/99elogind/module-setup.sh +} + sha512sums="9db0f068ed94ec07bab4d764ccb38840af3d05a4b7c9c539721906f5381b509cb9a3cbfb0453a978210d306136368de6162578c600d522416ef2a7ac1b9f348b elogind-246.10.tar.gz cb8740386e44606cc894a1740556c5eb507a980fdfcaaaef05725179d4550920018ddc971f448ae02e95643da9f570531f8edf4f9aae4251639b492966436ede utmps.patch b5043d7bcbefdf00704d40670deafa0984899cc7be083e8d886a92137932a9f23c25749c106cfc07906166e57db32fe6c602cf1c54129faa7e5b04d6228b7c17 elogind.pamd 2c9047c054582824f8a3e71bb0a79a5621d7a92cb15c66bb7e7a8deb931037b6d3a331b86cdc9eb5ec4e7b2b725548a7ee6657e3c3193d81ba6422cd101a2491 elogind.confd bbc203a924abf65b45d7d4d2fc31baf2d4e23135d98c7c937f93a4fe2d4ce9dac3d4e0747c1e09101f8b2ce674d25d49e085bf2445e7cb28408d7d209f8f4491 elogind.initd +d5889b2757b69a5a853341a5730affeb7db4c4129514009d11f1ca010d1ccf6cbc55393bd79e0d2dd97c5af77fff75390b1e58538370d9847256eb7f7ec865ff dracut_module.sh a8bcb3c13e13a974e0492721705be808c934026bb4ee92cf280143db85563cf73921354438a6d8bd372edec7e7923894e72daf88f731150c273a82d333737f25 bad-tests.patch" diff --git a/user/elogind/dracut_module.sh b/user/elogind/dracut_module.sh new file mode 100755 index 000000000..c65bcadec --- /dev/null +++ b/user/elogind/dracut_module.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# called by dracut +check() { + require_binaries /lib/elogind/elogind-uaccess-command +} + +# called by dracut +depends() { + echo base + return 0 +} + +# called by dracut +install() { + inst /lib/elogind/elogind-uaccess-command +} + -- cgit v1.2.3-70-g09d2