diff options
Diffstat (limited to 'main/eudev')
-rw-r--r-- | main/eudev/78-sound-card.rules_Import_ID_PATH_early.patch | 42 | ||||
-rw-r--r-- | main/eudev/APKBUILD | 83 | ||||
-rw-r--r-- | main/eudev/eudev-hwids.trigger | 5 | ||||
-rw-r--r-- | main/eudev/no-sgx.patch | 17 | ||||
-rw-r--r-- | main/eudev/setup-udev | 28 |
5 files changed, 124 insertions, 51 deletions
diff --git a/main/eudev/78-sound-card.rules_Import_ID_PATH_early.patch b/main/eudev/78-sound-card.rules_Import_ID_PATH_early.patch new file mode 100644 index 00000000000..d17fac07766 --- /dev/null +++ b/main/eudev/78-sound-card.rules_Import_ID_PATH_early.patch @@ -0,0 +1,42 @@ +From 917ae648f61681257000c3a1f0aca3fbd646563a Mon Sep 17 00:00:00 2001 +From: Johannes Nixdorf <mixi@shadowice.org> +Date: Fri, 22 Dec 2023 10:27:08 +0100 +Subject: [PATCH] 78-sound-card.rules: Import ID_PATH early + +Pipewire requires ID_PATH to use the same device names as with systemd's +udev. Some rules, such as the ones in asahi-audio [1] use those names, and +fail if they don't match [2]. + +On systemd's udev this is instead imported in 71-seat.rules, which we don't +have. + +[1]: https://github.com/AsahiLinux/asahi-audio +[2]: https://github.com/AsahiLinux/asahi-audio/issues/16 + +Signed-off-by: Johannes Nixdorf <mixi@shadowice.org> +--- + rules/78-sound-card.rules | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/rules/78-sound-card.rules b/rules/78-sound-card.rules +index f2fc27739..c49bd1d4e 100644 +--- a/rules/78-sound-card.rules ++++ b/rules/78-sound-card.rules +@@ -38,6 +38,8 @@ KERNEL!="card*", GOTO="sound_end" + ENV{SOUND_INITIALIZED}="1" + + IMPORT{builtin}="hwdb" ++IMPORT{builtin}="path_id" ++ + SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id" + SUBSYSTEMS=="usb", GOTO="skip_pci" + +@@ -62,8 +64,6 @@ LABEL="skip_pci" + ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="?*", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_USB_INTERFACE_NUM}" + ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}" + +-IMPORT{builtin}="path_id" +- + # The values used here for $SOUND_FORM_FACTOR and $SOUND_CLASS should be kept + # in sync with those defined for PulseAudio's src/pulse/proplist.h + # PA_PROP_DEVICE_FORM_FACTOR, PA_PROP_DEVICE_CLASS properties. diff --git a/main/eudev/APKBUILD b/main/eudev/APKBUILD index d48ebc4ab8d..bc8b48ddd0f 100644 --- a/main/eudev/APKBUILD +++ b/main/eudev/APKBUILD @@ -1,33 +1,46 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> -# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Ariadne Conill <ariadne@dereferenced.org> pkgname=eudev -pkgver=3.2.9 -pkgrel=1 -pkgdesc="OpenRC compatible fork of systemd-udev" -url="https://wiki.gentoo.org/wiki/Project:Eudev" +pkgver=3.2.14 +_pkgver=${pkgver/_pre/-pre} +pkgrel=2 +pkgdesc="init system agnostic fork of systemd-udev" +url="https://github.com/eudev-project/eudev" arch="all" -options="!checkroot" -license="GPL-2.0" +license="GPL-2.0-or-later" depends="udev-init-scripts" replaces="udev" provides="udev=176" -makedepends="gperf glib-dev linux-headers kmod-dev gobject-introspection-dev - util-linux-dev" +provider_priority=100 +makedepends=" + gperf + glib-dev + linux-headers + kmod-dev + gobject-introspection-dev + util-linux-dev + " checkdepends="tree xz perl" subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-openrc - $pkgname-netifnames::noarch" + $pkgname-netifnames::noarch $pkgname-rule-generator::noarch $pkgname-hwids" triggers="eudev.trigger=/lib/udev/rules.d:/usr/lib/udev/rules.d" -source="https://dev.gentoo.org/~blueness/eudev/eudev-$pkgver.tar.gz +source="https://github.com/eudev-project/eudev/releases/download/v$_pkgver/eudev-$_pkgver.tar.gz default-rules.patch load-fbcon.patch + no-sgx.patch + 78-sound-card.rules_Import_ID_PATH_early.patch udev-postmount.initd - setup-udev " +builddir="$srcdir"/"$pkgname"-"$_pkgver" + +prepare() { + default_prepare + update_config_sub +} build() { - # we need disable kmod til busybox depmod generates binary formats: - # modules.dep.bin modules.alias.bin modules.symbols.bin - # modules.builtin.bin + CFLAGS="$CFLAGS -flto=auto" \ ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -38,7 +51,6 @@ build() { --libdir=/usr/lib \ --enable-split-usr \ --enable-manpages \ - --disable-hwdb \ --enable-kmod \ --exec-prefix=/ \ --bindir=/bin @@ -55,8 +67,6 @@ package() { install -Dm755 "$srcdir"/udev-postmount.initd \ "$pkgdir"/etc/init.d/udev-postmount - install -Dm755 "$srcdir"/setup-udev \ - "$pkgdir"/sbin/setup-udev } dev() { @@ -78,14 +88,41 @@ libs() { netifnames() { pkgdesc="udev rules for systemd-style interface names" + depends="!$pkgname-rule-generator" + + amove lib/udev/rules.d/80-net-name-slot.rules +} + +generator() { + pkgdesc="generate udev net persistance rules" + depends="!$pkgname-netifnames" + + # Since we didn't enable rules-generator which disables netifnames, we + # install the rule-generator files. + sed -i 's/"write_net_rules"/"\/lib\/udev\/rule_generator\/write_net_rules"/' \ + "$builddir"/rule_generator/75-persistent-net-generator.rules + install -Dm644 "$builddir"/rule_generator/75-persistent-net-generator.rules \ + "$subpkgdir"/lib/udev/rules.d/75-persistent-net-generator.rules + install -Dm755 "$builddir"/rule_generator/write_net_rules \ + "$subpkgdir"/lib/udev/rule_generator/write_net_rules + install -Dm755 "$builddir"/rule_generator/rule_generator.functions \ + "$subpkgdir"/lib/udev/rule_generator.functions +} + +hwids() { + pkgdesc="Hardware identification databases (from eudev)" + provides="hwids-udev=$pkgver-r$pkgrel" + install_if="hwdata eudev=$pkgver-r$pkgrel" + triggers="eudev-hwids.trigger=/lib/udev/hwdb.d:/etc/udev/hwdb.d:/usr/lib/udev/hwdb.d" - mkdir -p "$subpkgdir"/lib/udev/rules.d - mv "$pkgdir"/lib/udev/rules.d/80-net-name-slot.rules \ - "$subpkgdir"/lib/udev/rules.d/ + amove etc/udev/hwdb.d } -sha512sums="09e49fff9848e72507ef14b9d4cfab2d1443f16d5b3d54d2b0e4f6b04c471ca41f09200cb8772e9f850f0dc4a574a7ec7eede7ce11cbabda65e210a89287531f eudev-3.2.9.tar.gz +sha512sums=" +1e7593b53c5508a99fe7ff5d24d1d09b3753d9cfba086e7d8cc6ab80cc88013ec687dc4f1eac7b7889051f4e5fd5c40d2b87f5f2d948479d679c8836014d08e0 eudev-3.2.14.tar.gz 683e3c26ca4f058303f8db7d4977e436d728386ee6866719c4f11ff31db27572d3f486f51d3173310e1ec2cf995fa4c396f2415bdf45dabdd80e6e55e798a314 default-rules.patch ff5928fd555e095d9f3234dd004ac4c5925405d308777e9b018e8e03112cd109935b51d75a3bc4a2a1018eb486e8a5e5ef6ee978860002a8fff93b116e9721f5 load-fbcon.patch +1558800e4132ed2c10b37805fca044ff3129cdfebec71d3e758143fab9ffda824e86d52960926a9042b21fc22f0cda8fe6690484913bd7c3dc4436af92923efe no-sgx.patch +8872f124267485d682dea9c7c47aaa8c228aadef90981c430af7ca7f7025b344d2c3c07c653241190a3f44096aa1d3aff990dd05210f5b278d999d6fede659b5 78-sound-card.rules_Import_ID_PATH_early.patch 8ef1b911843ab13acb1c1b9b7a0a5cd76659f395c3db9e579429556f23eacebb414507dc0231e2455e7589bc70054fa1e6b6dd93dd833f7101c0da0597aabf88 udev-postmount.initd -4e57349a9516d495a6eb6dd437e179c1f990b437c4e671667f64d4361fcd827a2172e4ca120fbd324ca29e9acc65a361cd22a75b8dd8437389cc19ba62198f83 setup-udev" +" diff --git a/main/eudev/eudev-hwids.trigger b/main/eudev/eudev-hwids.trigger new file mode 100644 index 00000000000..b1516251b05 --- /dev/null +++ b/main/eudev/eudev-hwids.trigger @@ -0,0 +1,5 @@ +#!/bin/sh + +udevadm hwdb --update + +exit 0 diff --git a/main/eudev/no-sgx.patch b/main/eudev/no-sgx.patch new file mode 100644 index 00000000000..e06ae141b5c --- /dev/null +++ b/main/eudev/no-sgx.patch @@ -0,0 +1,17 @@ +see https://gitlab.alpinelinux.org/alpine/aports/-/issues/15043 +we don't have sgx support +-- +diff --git a/rules/50-udev-default.rules b/rules/50-udev-default.rules +index ff50cb8..2cbd96e 100644 +--- a/rules/50-udev-default.rules ++++ b/rules/50-udev-default.rules +@@ -39,9 +39,6 @@ SUBSYSTEM=="cec", GROUP="video" + SUBSYSTEM=="drm", KERNEL=="renderD*", GROUP="video", MODE="0666" + SUBSYSTEM=="kfd", GROUP="video", MODE="0666" + +-SUBSYSTEM=="misc", KERNEL=="sgx_enclave", GROUP="sgx", MODE="0660" +-SUBSYSTEM=="misc", KERNEL=="sgx_vepc", GROUP="sgx", MODE="0660" +- + # When using static_node= with non-default permissions, also update + # tmpfiles.d/static-nodes-permissions.conf.in to keep permissions synchronized. + diff --git a/main/eudev/setup-udev b/main/eudev/setup-udev deleted file mode 100644 index 1b1c5664bca..00000000000 --- a/main/eudev/setup-udev +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -while getopts "hn" opt; do - case "$opt" in - h) echo "remove mdev and enable udev from boot" - echo "usage: $0 [-n]" - echo "options:" - echo " -n Do not start udev" - ;; - n) dryrun=1 - ;; - esac -done - -rm -f /etc/runlevels/sysinit/hwdrivers /etc/runlevels/sysinit/mdev - -for i in sysinit/udev-trigger sysinit/udev default/udev-postmount; do - if ! [ -e /etc/runlevels/$i ]; then - ln -s /etc/init.d/${i#*/} /etc/runlevels/$i - fi -done - -if [ -z "$dryrun" ] && ! rc-service --quiet udev status; then - rc-service udev start - rc-service udev-postmount start - rc-service udev-trigger start - rc-service udev-settle start -fi |