summaryrefslogtreecommitdiff
path: root/nonsystemd/eudev
diff options
context:
space:
mode:
Diffstat (limited to 'nonsystemd/eudev')
-rw-r--r--nonsystemd/eudev/30-udev-hwdb.hook11
-rw-r--r--nonsystemd/eudev/30-udev-reload.hook11
-rw-r--r--nonsystemd/eudev/PKGBUILD98
-rw-r--r--nonsystemd/eudev/initcpio_hooks20
-rw-r--r--nonsystemd/eudev/initcpio_install27
-rw-r--r--nonsystemd/eudev/udev-default-rules.patch31
-rw-r--r--nonsystemd/eudev/udev-hook16
-rw-r--r--nonsystemd/eudev/udev-hwdb-path.patch24
8 files changed, 238 insertions, 0 deletions
diff --git a/nonsystemd/eudev/30-udev-hwdb.hook b/nonsystemd/eudev/30-udev-hwdb.hook
new file mode 100644
index 000000000..eb17c9ff2
--- /dev/null
+++ b/nonsystemd/eudev/30-udev-hwdb.hook
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/lib/udev/hwdb.d/*
+
+[Action]
+Description = Updating udev Hardware Database...
+When = PostTransaction
+Exec = /usr/share/libalpm/scripts/udev-hook hwdb
diff --git a/nonsystemd/eudev/30-udev-reload.hook b/nonsystemd/eudev/30-udev-reload.hook
new file mode 100644
index 000000000..418515daf
--- /dev/null
+++ b/nonsystemd/eudev/30-udev-reload.hook
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/lib/udev/rules.d/*
+
+[Action]
+Description = Reloading device manager configuration...
+When = PostTransaction
+Exec = /usr/share/libalpm/scripts/udev-hook udev-reload
diff --git a/nonsystemd/eudev/PKGBUILD b/nonsystemd/eudev/PKGBUILD
new file mode 100644
index 000000000..dd8d97cea
--- /dev/null
+++ b/nonsystemd/eudev/PKGBUILD
@@ -0,0 +1,98 @@
+# Maintainer: David P. <megver83@parabola.nu>
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Omar Vega Ramos <ovruni@gnu.org.pe>
+# Maintainer (Artix): artoo <artoo@artixlinux.org>
+# Contributor (Artix): Alexey D. <lq07829icatm@rambler.ru>
+# Contributor (Artix): Ivailo Monev <xakepa10@gmail.com>
+
+_udev_ver=243
+
+pkgbase=eudev
+pkgname=('eudev' 'eudev-libudev')
+pkgver=3.2.9
+pkgrel=1
+pkgdesc="The userspace dev tools (udev) forked by Gentoo"
+arch=('x86_64' 'i686' 'armv7h')
+url="http://www.gentoo.org/proj/en/eudev/"
+license=('GPL')
+makedepends=('gobject-introspection' 'gperf' 'gtk-doc' 'intltool' 'kmod' 'util-linux' 'libelf')
+options=('!libtool')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/gentoo/eudev/archive/v${pkgver}.tar.gz"
+ 'initcpio_hooks'
+ 'initcpio_install'
+ '30-udev-hwdb.hook'
+ '30-udev-reload.hook'
+ 'udev-hook'
+ 'udev-hwdb-path.patch'
+ 'udev-default-rules.patch')
+sha256sums=('7d281276b480da3935d1acb239748c2c9db01a8043aad7e918ce57a223d8cd24'
+ '892ce43218e0a458981bbce451252c8987dc398e60b8de288e7542b8f2409c13'
+ '77dd1fd318b4456409aceb077f060b87944defb07cf39d29ad1968dc6f361875'
+ '2782bd3a7686596e98bd2d3fdef9d59d7d439682b87bbcc43b1fd1f5fabb3505'
+ '13596caef6ed85b58de674ebe7c47d9c7dd676240de5cc28ef3ccee2ce1d8a90'
+ '80c8f87549374d3bc7c2831b9e069b0005cc5ef90122c2d02e78e27c9bc1dbed'
+ 'e05e468d15d09fb49343f33bc8d21c08f54db3ecff412dc35d4acb0630f869a3'
+ '13c167e448411b53b18532469e783e2e51a4c46ff4cf9c46e0481d6440b53f8d')
+
+prepare(){
+ cd "${pkgbase}-${pkgver}"
+ patch -Np 1 -i ${srcdir}/udev-hwdb-path.patch
+ patch -Np 1 -i ${srcdir}/udev-default-rules.patch
+ ./autogen.sh
+}
+
+build() {
+ cd "${pkgbase}-${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --with-rootprefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib \
+ --sbindir=/usr/bin \
+ --enable-introspection \
+ --enable-kmod \
+ --enable-manpages \
+ --enable-split-usr
+
+ make
+}
+
+check(){
+ cd "${pkgbase}-${pkgver}"
+ make -k check
+}
+
+package_eudev() {
+ provides=("udev=${_udev_ver}" )
+ depends=("eudev-libudev=$pkgver" 'kbd' 'kmod' 'hwids' 'util-linux')
+ backup=('etc/udev/udev.conf')
+
+ cd "${pkgbase}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -dm755 ${srcdir}/_libeudev
+
+ mv -v ${pkgdir}/usr/lib/libudev*.so* ${srcdir}/_libeudev
+
+ install -Dm644 "${srcdir}/initcpio_hooks" "${pkgdir}/usr/lib/initcpio/hooks/udev"
+ install -Dm644 "${srcdir}/initcpio_install" "${pkgdir}/usr/lib/initcpio/install/udev"
+
+ # pacman hooks
+ install -Dm755 ${srcdir}/udev-hook "$pkgdir"/usr/share/libalpm/scripts/udev-hook
+ install -Dm644 -t "$pkgdir"/usr/share/libalpm/hooks ${srcdir}/*.hook
+}
+
+package_eudev-libudev() {
+ pkgdesc="eudev client libraries"
+ depends=('glibc' 'libelf')
+ provides=("libudev=${_udev_ver}" 'libudev.so')
+
+ provides+=("libeudev=$pkgver")
+ conflicts+=('libeudev')
+ replaces+=('libeudev')
+
+ install -dm755 ${pkgdir}/usr/lib
+ mv -v ${srcdir}/_libeudev/libudev*.so* ${pkgdir}/usr/lib
+}
diff --git a/nonsystemd/eudev/initcpio_hooks b/nonsystemd/eudev/initcpio_hooks
new file mode 100644
index 000000000..75da7e4a8
--- /dev/null
+++ b/nonsystemd/eudev/initcpio_hooks
@@ -0,0 +1,20 @@
+#!/usr/bin/ash
+
+run_earlyhook() {
+ udevd --daemon --resolve-names=never
+ udevd_running=1
+}
+
+run_hook() {
+ msg ":: Triggering uevents..."
+ udevadm trigger --action=add --type=subsystems
+ udevadm trigger --action=add --type=devices
+ udevadm settle
+}
+
+run_cleanuphook() {
+ udevadm control --exit
+ udevadm info --cleanup-db
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/nonsystemd/eudev/initcpio_install b/nonsystemd/eudev/initcpio_install
new file mode 100644
index 000000000..610b71c3d
--- /dev/null
+++ b/nonsystemd/eudev/initcpio_install
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+build() {
+ add_file "/etc/udev/udev.conf"
+ add_binary /usr/bin/udevd
+ add_binary /usr/bin/udevadm
+
+ for rule in 50-udev-default.rules 60-persistent-storage.rules 64-btrfs.rules 80-drivers.rules; do
+ add_file "/usr/lib/udev/rules.d/$rule"
+ done
+
+ for tool in ata_id scsi_id; do
+ add_file "/usr/lib/udev/$tool"
+ done
+
+ add_runscript
+}
+
+help() {
+ cat <<HELPEOF
+This hook will use udev to create your root device node and detect the needed
+modules for your root device. It is also required for firmware loading in
+initramfs. It is recommended to use this hook.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/nonsystemd/eudev/udev-default-rules.patch b/nonsystemd/eudev/udev-default-rules.patch
new file mode 100644
index 000000000..019fac194
--- /dev/null
+++ b/nonsystemd/eudev/udev-default-rules.patch
@@ -0,0 +1,31 @@
+--- a/rules/50-udev-default.rules 2018-10-26 15:42:39.000000000 +0200
++++ b/rules/50-udev-default.rules 2019-02-20 19:33:07.196155034 +0100
+@@ -22,7 +22,7 @@
+ SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620"
+ SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620"
+ SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
+-KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
++KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="uucp"
+
+ SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
+
+@@ -57,13 +57,13 @@
+ SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
+
+ SUBSYSTEM=="block", GROUP="disk"
+-SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom"
+-SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
+-KERNEL=="sch[0-9]*", GROUP="cdrom"
+-KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
+-KERNEL=="pktcdvd", GROUP="cdrom"
++SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="optical"
++SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="optical"
++KERNEL=="sch[0-9]*", GROUP="optical"
++KERNEL=="pktcdvd[0-9]*", GROUP="optical"
++KERNEL=="pktcdvd", GROUP="optical"
+
+-SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
++SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="storage"
+ SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
+ KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
+ KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control"
diff --git a/nonsystemd/eudev/udev-hook b/nonsystemd/eudev/udev-hook
new file mode 100644
index 000000000..d9c793f45
--- /dev/null
+++ b/nonsystemd/eudev/udev-hook
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+udevd_live() {
+ if [ ! -d /run/udev ]; then
+ echo >&2 " Skipped: Device manager is not running."
+ exit 0
+ fi
+}
+
+case $1 in
+ hwdb) /usr/bin/udevadm hwdb --update ;;
+ udev-reload) udevd_live; /usr/bin/udevadm control --reload ;;
+ *) echo >&2 " Invalid operation '$1'"; exit 1 ;;
+esac
+
+exit 0
diff --git a/nonsystemd/eudev/udev-hwdb-path.patch b/nonsystemd/eudev/udev-hwdb-path.patch
new file mode 100644
index 000000000..b72a1b9d8
--- /dev/null
+++ b/nonsystemd/eudev/udev-hwdb-path.patch
@@ -0,0 +1,24 @@
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 480d22a4e..da27f15b8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -173,13 +173,13 @@ AC_SUBST([udevlibexecdir], [${rootlibexecdir}])
+ # sysconfdir paths
+ AC_SUBST([udevconfdir],[${sysconfdir}/udev])
+ AC_SUBST([udevconffile],[${udevconfdir}/udev.conf])
+-AC_SUBST([udevhwdbdir],[${udevconfdir}/hwdb.d])
+-AC_SUBST([udevhwdbbin],[${udevconfdir}/hwdb.bin])
+
+ # udevlibexecdir paths
+ AC_SUBST([udevkeymapdir],[${udevlibexecdir}/keymaps])
+ AC_SUBST([udevkeymapforceredir],[${udevkeymapdir}/force-release])
+ AC_SUBST([udevrulesdir],[${udevlibexecdir}/rules.d])
++AC_SUBST([udevhwdbdir],[${udevlibexecdir}/hwdb.d])
++AC_SUBST([udevhwdbbin],[${udevlibexecdir}/hwdb.bin])
+
+ # pkgconfigdir paths
+ AC_SUBST([pkgconfiglibdir], [${libdir}/pkgconfig])
+