summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPlaton Ryzhikov2021-06-03 12:27:27 +0300
committerPlaton Ryzhikov2021-06-03 12:28:53 +0300
commite88d1cddec9d9d18611fad277ef55aa6661c5bdc (patch)
treed53ffbb16317b2d24bf5e9f5608c9d5ad6846b02
parent702f94d5e05c9336574275f36e492183bfb71961 (diff)
downloadaur-e88d1cddec9d9d18611fad277ef55aa6661c5bdc.tar.gz
handle usb nodes correctly
-rw-r--r--.SRCINFO18
-rw-r--r--00-modprobe2
-rw-r--r--PKGBUILD44
-rw-r--r--config.h219
-rw-r--r--initcpio.install5
-rwxr-xr-x[-rw-r--r--]processdev (renamed from proceeddev)4
-rw-r--r--smdev.install8
-rw-r--r--usb_nodes.patch26
8 files changed, 182 insertions, 144 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2e657147f218..cb6e7a01520e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,20 +1,22 @@
pkgbase = smdev-phkr
pkgdesc = Suckless mdev
pkgver = 0.2.3
- pkgrel = 8
+ pkgrel = 9
url = http://git.suckless.org/smdev/
+ install = smdev.install
arch = i686
arch = x86_64
arch = aarch64
license = MIT/X
makedepends = git
- depends = mksh
+ provides = mdev
options = strip
source = git+https://git.suckless.org/smdev#commit=8d07540
source = scan_all.patch
source = glibc.patch
+ source = usb_nodes.patch
source = config.h
- source = proceeddev
+ source = processdev
source = 00-modprobe
source = 99-remove_links
source = initcpio.hook
@@ -22,12 +24,12 @@ pkgbase = smdev-phkr
sha1sums = SKIP
sha1sums = a90bd08c8c482dec4b8cc063b4841db034ea7e1e
sha1sums = b300e68de6bcb6f542bb28206ab10f6ceca242bc
- sha1sums = 03a2f92c8c4f77784b7fdec8d53589f6a6b49112
- sha1sums = 36415dd4b3f95877a6a6c9649eb489d9ee4ed944
- sha1sums = 3a5d1f975539131248fde0db5e44c29798706ea7
+ sha1sums = f0e3bfc2956d0c8885e08732cff8d0f9b6cf7103
+ sha1sums = 1f6b9327866981ffab4a275a64ee5c5249038968
+ sha1sums = d741887a118ed921528189754d886159782ca6fe
+ sha1sums = 04745465d144a8cf4e367c5a42ab8a0bc39622b3
sha1sums = 6a5369d9e3efc4317c907cc6140e509e82a559a5
sha1sums = 7fe74315c9a3592c2eb66cea8cd652da04461786
- sha1sums = b3142387784e5590c9ae56840f5eaf0dec54aa79
+ sha1sums = ea04c776d0f6b749bfd1fc421d51c5ecd07379b5
pkgname = smdev
-
diff --git a/00-modprobe b/00-modprobe
index aba5dfcb6fbc..7a23e40586e4 100644
--- a/00-modprobe
+++ b/00-modprobe
@@ -1 +1 @@
-if [[ $MODALIAS ]]; then modprobe $MODALIAS; fi
+[ "$MODALIAS" ] && modprobe "$MODALIAS"
diff --git a/PKGBUILD b/PKGBUILD
index 6b92b9b9af74..6b3391104c73 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,21 +3,24 @@
pkgbase=smdev-phkr
pkgname=smdev
pkgver=0.2.3
-pkgrel=8
+pkgrel=9
_rev=8d07540
pkgdesc='Suckless mdev'
arch=('i686' 'x86_64' 'aarch64')
url="http://git.suckless.org/smdev/"
makedepends=( 'git' )
-depends=( 'mksh' ) # mksh allows to procced scripts faster with almost bash compatible syntax
+provides=('mdev')
+#depends=( 'mksh' ) # mksh allows to procced scripts faster with almost bash compatible syntax
license=( 'MIT/X' )
options=( 'strip' )
+install='smdev.install'
source=(
"git+https://git.suckless.org/smdev#commit=${_rev}"
'scan_all.patch'
'glibc.patch'
+ 'usb_nodes.patch'
'config.h'
- 'proceeddev'
+ 'processdev'
'00-modprobe'
'99-remove_links'
'initcpio.hook'
@@ -27,35 +30,36 @@ source=(
sha1sums=('SKIP'
'a90bd08c8c482dec4b8cc063b4841db034ea7e1e'
'b300e68de6bcb6f542bb28206ab10f6ceca242bc'
- '03a2f92c8c4f77784b7fdec8d53589f6a6b49112'
- '36415dd4b3f95877a6a6c9649eb489d9ee4ed944'
- '3a5d1f975539131248fde0db5e44c29798706ea7'
+ 'f0e3bfc2956d0c8885e08732cff8d0f9b6cf7103'
+ '1f6b9327866981ffab4a275a64ee5c5249038968'
+ 'd741887a118ed921528189754d886159782ca6fe'
+ '04745465d144a8cf4e367c5a42ab8a0bc39622b3'
'6a5369d9e3efc4317c907cc6140e509e82a559a5'
'7fe74315c9a3592c2eb66cea8cd652da04461786'
- 'b3142387784e5590c9ae56840f5eaf0dec54aa79')
+ 'ea04c776d0f6b749bfd1fc421d51c5ecd07379b5')
prepare() {
cd "${srcdir}/${pkgname}"
cp "${srcdir}/config.h" config.h
patch -Np1 -i ../scan_all.patch
patch -Np1 -i ../glibc.patch
+ patch -Np1 -i ../usb_nodes.patch
}
build() {
- cd "${srcdir}/${pkgname}"
- cp ../config.h ./
- make
+ cd "${srcdir}/${pkgname}"
+ make clean
+ cp ../config.h ./
+ make
}
package() {
- cd "${srcdir}/${pkgname}"
- make PREFIX=/usr DESTDIR="$pkgdir" install
- cd "${srcdir}"
- install -m744 -D proceeddev ${pkgdir}/etc/smdev/proceeddev
- install -m644 -D 00-modprobe $pkgdir/etc/smdev/add/00-modprobe
- install -m644 -D 99-remove_links $pkgdir/etc/smdev/remove/99-remove_links
- install -m644 -D initcpio.hook $pkgdir/usr/lib/initcpio/hooks/smdev
- install -m644 -D initcpio.install $pkgdir/usr/lib/initcpio/install/smdev
+ cd "${srcdir}/${pkgname}"
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+ cd "${srcdir}"
+ install -m744 -D processdev ${pkgdir}/etc/smdev/processdev
+ install -m644 -D 00-modprobe $pkgdir/etc/smdev/add/00-modprobe
+ install -m644 -D 99-remove_links $pkgdir/etc/smdev/remove/99-remove_links
+ install -m644 -D initcpio.hook $pkgdir/usr/lib/initcpio/hooks/smdev
+ install -m644 -D initcpio.install $pkgdir/usr/lib/initcpio/install/smdev
}
-
-
diff --git a/config.h b/config.h
index d3eee6a57c5e..4b407ff6f121 100644
--- a/config.h
+++ b/config.h
@@ -12,16 +12,11 @@ struct rule {
{ "pty.*", "root", "tty", 0660, NULL, NULL },
{ "ptmx", "root", "tty", 0666, NULL, NULL },
{ "tty", "root", "tty", 0666, NULL, NULL },
- { "tty[0-9]", "root", "root", 0600, NULL, NULL },
+ { "tty[0-9]", "root", "tty", 0600, NULL, NULL },
{ "tty[0-9][0-9]", "root", "tty", 0660, NULL, NULL },
- { "vcs[0-9].*", "root", "tty", 0660, NULL, NULL },
- { "vcsa*[0-9].*", "root", "tty", 0660, NULL, NULL },
+ { "vcs*[0-9].*", "root", "tty", 0660, NULL, NULL },
// serial
- { "ttyS[0-9].*", "root", "tty", 0660, NULL, NULL },
- { "ttyUSB[0-9].*", "root", "tty", 0660, NULL, NULL },
- { "ttyACM[0-9].*", "root", "tty", 0660, NULL, NULL },
- { "ttyLTM[0-9].*", "root", "tty", 0660, NULL, NULL },
- { "ttySHSF[0-9].*","root", "tty", 0660, NULL, NULL },
+ { "tty.*", "root", "uucp", 0660, NULL, NULL },
{ "slamr", "root", "tty", 0660, NULL, NULL },
{ "slusb", "root", "tty", 0660, NULL, NULL },
{ "vport.*", "root", "root", 0660, NULL, NULL },
@@ -36,125 +31,131 @@ struct rule {
{ "null", "root", "root", 0666, NULL, NULL },
{ "zero", "root", "root", 0666, NULL, NULL },
{ "full", "root", "root", 0666, NULL, NULL },
- { "random", "root", "root", 0666, NULL, "@/etc/smdev/proceeddev" },
- { "urandom", "root", "root", 0444, NULL, "@/etc/smdev/proceeddev" },
- { "hwrandom", "root", "root", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "hw_random", "root", "root", 0660, "=hwrng", "@/etc/smdev/proceeddev" },
- { "mem", "root", "kmem", 0640, NULL, "@/etc/smdev/proceeddev" },
- { "kmem", "root", "kmem", 0640, NULL, "@/etc/smdev/proceeddev" },
- { "port", "root", "kmem", 0640, NULL, "@/etc/smdev/proceeddev" },
- { "nvram", "root", "kmem", 0640, NULL, "@/etc/smdev/proceeddev" },
+ { "random", "root", "root", 0666, NULL, "@/etc/smdev/processdev" },
+ { "urandom", "root", "root", 0444, NULL, "@/etc/smdev/processdev" },
+ { "hwrandom", "root", "root", 0660, NULL, "@/etc/smdev/processdev" },
+ { "hw_random", "root", "root", 0660, "=hwrng", "@/etc/smdev/processdev" },
+ { "mem", "root", "kmem", 0640, NULL, "@/etc/smdev/processdev" },
+ { "kmem", "root", "kmem", 0640, NULL, "@/etc/smdev/processdev" },
+ { "port", "root", "kmem", 0640, NULL, "@/etc/smdev/processdev" },
+ { "nvram", "root", "kmem", 0640, NULL, "@/etc/smdev/processdev" },
// input
- { "input/.*", "root", "input", 0660, "=input/", "@/etc/smdev/proceeddev" },
- { "ts[0-9].+", "root", "root", 0640, "=input/", "@/etc/smdev/proceeddev" },
+ { "input/.*", "root", "input", 0660, "=input/", "@/etc/smdev/processdev" },
+ { "ts[0-9].+", "root", "root", 0640, "=input/", "@/etc/smdev/processdev" },
// graphics
- { "video.*", "root", "video", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "vbi[0-9]", "root", "video", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "agpgart", "root", "video", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "pmu", "root", "video", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "fb[0-9].*", "root", "video", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "nvidia", "root", "video", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "nvidiactl", "root", "video", 0660, NULL, "@/etc/smdev/proceeddev" },
+ { "video.*", "root", "video", 0660, NULL, "@/etc/smdev/processdev" },
+ { "vchiq", "root", "video", 0660, NULL, "@/etc/smdev/processdev" },
+ { "vbi[0-9]", "root", "video", 0660, NULL, "@/etc/smdev/processdev" },
+ { "cec[0-9]", "root", "video", 0660, NULL, "@/etc/smdev/processdev" },
+ { "agpgart", "root", "video", 0660, NULL, "@/etc/smdev/processdev" },
+ { "pmu", "root", "video", 0660, NULL, "@/etc/smdev/processdev" },
+ { "fb[0-9].*", "root", "video", 0660, NULL, "@/etc/smdev/processdev" },
+ { "nvidia", "root", "video", 0660, NULL, "@/etc/smdev/processdev" },
+ { "nvidiactl", "root", "video", 0660, NULL, "@/etc/smdev/processdev" },
// dri
- { "dri/.*", "root", "video", 0660, "=dri/", "@/etc/smdev/proceeddev" },
- { "card[0-9].*", "root", "video", 0660, "=dri/", "@/etc/smdev/proceeddev" },
+ { "dri/.*", "root", "video", 0660, "=dri/", "@/etc/smdev/processdev" },
+ { "card[0-9].*", "root", "video", 0660, "=dri/", "@/etc/smdev/processdev" },
// usb
- { "bus/usb/.*", "root", "usb", 0665, NULL, "@/etc/smdev/proceeddev" },
+ { "bus/usb/.*", "root", "usb", 0664, NULL, "@/etc/smdev/processdev" },
// printer
- { "partport[0-9].*","root","lp", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "partport_pc", "root", "lp", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "lp[0-9]*", "root", "lp", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "usb/lp[0-9].*", "root", "lp", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "irlpt[0-9].*", "root"," lp", 0660, NULL, "@/etc/smdev/proceeddev" },
+ { "partport[0-9].*","root", "lp", 0660, NULL, "@/etc/smdev/processdev" },
+ { "partport_pc", "root", "lp", 0660, NULL, "@/etc/smdev/processdev" },
+ { "usb/lp[0-9].*", "root", "lp", 0660, "=usb/", "@/etc/smdev/processdev" },
+ { "lp[0-9]*", "root", "lp", 0660, NULL, "@/etc/smdev/processdev" },
+ { "irlpt[0-9].*", "root"," lp", 0660, NULL, "@/etc/smdev/processdev" },
// block
- { "sd[a-z].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "hd[a-z].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "ram[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "loop[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "control", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "mmcblk[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "md.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "mtd.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "ndb.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "gnbd.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "btibm.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "dm-.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "vd.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "sg.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "sr[0-9].*", "root", "cdrom", 0660, NULL, "@/etc/smdev/proceeddev" },//"@ln -sf $DEVNAME /dev/cdrom"
- { "fd[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
+ { "sd[a-z].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "hd[a-z].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "ram[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "loop[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "control", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "mmcblk[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "md.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "mtd.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "ndb.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "gnbd.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "btibm.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "dm-.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "vd.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "sg.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "sr[0-9].*", "root", "cdrom", 0660, NULL, "@/etc/smdev/processdev" },//"@ln -sf $DEVNAME /dev/cdrom"
+ { "fd[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
// tape
- { "ht[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "nht[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "pt[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "npt[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "pht[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "st*[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "nst*[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/proceeddev" },
+ { "ht[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/processdev" },
+ { "nht[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/processdev" },
+ { "pt[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/processdev" },
+ { "npt[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/processdev" },
+ { "pht[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/processdev" },
+ { "st*[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/processdev" },
+ { "nst*[0-9].*", "root", "tape", 0660, NULL, "@/etc/smdev/processdev" },
//block-related
- { "mapper/.*", "root", "root", 0600, "=mapper/","@/etc/smdev/proceeddev" },
- { "scsi.*/.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "bdi.*/.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "sch[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "pg[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "qft[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "nqft[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "zqft[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "nzqft[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "rawqft[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "nrawqft[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "raw[0-9].*", "root", "disk", 0660, "=raw/", "@/etc/smdev/proceeddev" },
- { "rawctl", "root", "disk", 0660, "=raw/", "@/etc/smdev/proceeddev" },
- { "aoe.*", "root", "disk", 0660, "=etherd/","@/etc/smdev/proceeddev" },
- { "bsg/.*", "root", "disk", 0660, "=bsg/", "@/etc/smdev/proceeddev" },
+ { "btrfs-control", "root", "root", 0600, NULL, "@/etc/smdev/processdev" },
+ { "loop-control", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "mapper/.*", "root", "root", 0600, "=mapper/","@/etc/smdev/processdev" },
+ { "scsi.*/.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "bdi.*/.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "sch[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "pg[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "qft[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "nqft[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "zqft[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "nzqft[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "rawqft[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "nrawqft[0-9].*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "raw[0-9].*", "root", "disk", 0660, "=raw/", "@/etc/smdev/processdev" },
+ { "rawctl", "root", "disk", 0660, "=raw/", "@/etc/smdev/processdev" },
+ { "aoe.*", "root", "disk", 0660, "=etherd/","@/etc/smdev/processdev" },
+ { "bsg/.*", "root", "disk", 0660, "=bsg/", "@/etc/smdev/processdev" },
// audio
- { "snd/.*", "root", "audio", 0660, "=snd/", "@/etc/smdev/proceeddev" },
- { "midi.*", "root", "audio", 0660, "=snd/", "@/etc/smdev/proceeddev" },
- { "seq", "root", "audio", 0660, "=snd/", "@/etc/smdev/proceeddev" },
- { "timer", "root", "audio", 0660, "=snd/", "@/etc/smdev/proceeddev" },
- { "hpet", "root", "audio", 0660, "=snd/", "@/etc/smdev/proceeddev" },
- { "adsp", "root", "audio", 0660, "=snd/", "@/etc/smdev/proceeddev" },
- { "audio", "root", "audio", 0660, "=snd/", "@/etc/smdev/proceeddev" },
- { "dsp", "root", "audio", 0660, "=snd/", "@/etc/smdev/proceeddev" },
- { "mixer", "root", "audio", 0660, "=snd/", "@/etc/smdev/proceeddev" },
- { "sequencer.*", "root", "audio", 0660, "=snd/", "@/etc/smdev/proceeddev" },
- { "timer", "root", "audio", 0660, "=snd/", "@/etc/smdev/proceeddev" },
- { "pcm.*", "root", "audio", 0660, "=snd/", "@/etc/smdev/proceeddev" },
+ { "snd/.*", "root", "audio", 0660, "=snd/", "@/etc/smdev/processdev" },
+ { "midi.*", "root", "audio", 0660, "=snd/", "@/etc/smdev/processdev" },
+ { "seq", "root", "audio", 0660, "=snd/", "@/etc/smdev/processdev" },
+ { "timer", "root", "audio", 0660, "=snd/", "@/etc/smdev/processdev" },
+ { "hpet", "root", "audio", 0660, "=snd/", "@/etc/smdev/processdev" },
+ { "adsp", "root", "audio", 0660, "=snd/", "@/etc/smdev/processdev" },
+ { "audio", "root", "audio", 0660, "=snd/", "@/etc/smdev/processdev" },
+ { "dsp", "root", "audio", 0660, "=snd/", "@/etc/smdev/processdev" },
+ { "mixer", "root", "audio", 0660, "=snd/", "@/etc/smdev/processdev" },
+ { "sequencer.*", "root", "audio", 0660, "=snd/", "@/etc/smdev/processdev" },
+ { "timer", "root", "audio", 0660, "=snd/", "@/etc/smdev/processdev" },
+ { "pcm.*", "root", "audio", 0660, "=snd/", "@/etc/smdev/processdev" },
// network
{ "-net/.*", "root", "network", 0660, NULL, "@nameif" },
- { "tun", "root", "network", 0666, "=net/", "@/etc/smdev/proceeddev" },
- { "tun[0-9].*", "root", "network", 0660, "=net/", "@/etc/smdev/proceeddev" },
- { "tap[0-9].*", "root", "network", 0660, "=net/", "@/etc/smdev/proceeddev" },
- { "rfkill", "root", "rfkill",0640, NULL, "@/etc/smdev/proceeddev" },
+ { "tun", "root", "network", 0666, "=net/", "@/etc/smdev/processdev" },
+ { "tun[0-9].*", "root", "network", 0660, "=net/", "@/etc/smdev/processdev" },
+ { "tap[0-9].*", "root", "network", 0660, "=net/", "@/etc/smdev/processdev" },
+ { "rfkill", "root", "rfkill", 0640, NULL, "@/etc/smdev/processdev" },
// cpu
- { "cpu([0-9].+)", "root", "root", 0444, "=cpu/%1/cpuid", "@/etc/smdev/proceeddev" },
- { "msr([0-9].+)", "root", "root", 0600, "=cpu/%1/msr", "@/etc/smdev/proceeddev" },
- { "microcode", "root", "root", 0600, "=cpu/microcode","@/etc/smdev/proceeddev" },
+ { "cpu([0-9].+)", "root", "root", 0444, "=cpu/%1/cpuid", "@/etc/smdev/processdev" },
+ { "msr([0-9].+)", "root", "root", 0600, "=cpu/%1/msr", "@/etc/smdev/processdev" },
+ { "microcode", "root", "root", 0600, "=cpu/microcode","@/etc/smdev/processdev" },
// fuse
{ "fuse", "root", "root", 0666, NULL, "@mount -t fusectl fusectl /sys/fs/fuse/connections"},
// raid controllers
- { "cciss.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "ida.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "rd.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
+ { "cciss.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "ida.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "rd.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
// misc
- { "ppp", "root", "root", 0000, NULL, "@/etc/smdev/proceeddev" },
- { "kvm", "root", "kvm", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "rtc", "root", "root", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "rtc[0-9]*", "root", "root", 0664, NULL, "@/etc/smdev/proceeddev" },
- { "mmtimer", "root", "root", 0644, NULL, "@/etc/smdev/proceeddev" },
- { "rflash[0-9]*", "root", "root", 0400, NULL, "@/etc/smdev/proceeddev" },
- { "rrom[0-9]*", "root", "root", 0400, NULL, "@/etc/smdev/proceeddev" },
- { "auer[0-9]*", "root", "root", 0660, "=usb/", "@/etc/smdev/proceeddev" },
- { "sxctl", "root", "root", 0660, "=specialix_sxctl/", "@/etc/smdev/proceeddev" },
- { "rioctl", "root", "root", 0660, "=specialix_rioctl/", "@/etc/smdev/proceeddev" },
+ { "ppp", "root", "root", 0000, NULL, "@/etc/smdev/processdev" },
+ { "kvm", "root", "kvm", 0660, NULL, "@/etc/smdev/processdev" },
+ { "vhost-net", "root", "kvm", 0666, NULL, "@/etc/smdev/processdev" },
+ { "vhost-vsock", "root", "kvm", 0666, NULL, "@/etc/smdev/processdev" },
+ { "rtc", "root", "root", 0660, NULL, "@/etc/smdev/processdev" },
+ { "rtc[0-9]*", "root", "root", 0664, NULL, "@/etc/smdev/processdev" },
+ { "mmtimer", "root", "root", 0644, NULL, "@/etc/smdev/processdev" },
+ { "rflash[0-9]*", "root", "root", 0400, NULL, "@/etc/smdev/processdev" },
+ { "rrom[0-9]*", "root", "root", 0400, NULL, "@/etc/smdev/processdev" },
+ { "auer[0-9]*", "root", "root", 0660, "=usb/", "@/etc/smdev/processdev" },
+ { "sxctl", "root", "root", 0660, "=specialix_sxctl/", "@/etc/smdev/processdev" },
+ { "rioctl", "root", "root", 0660, "=specialix_rioctl/", "@/etc/smdev/processdev" },
//arch
- { "sgi_.*", "root", "root", 0666, NULL, "@/etc/smdev/proceeddev" },
- { "iseries/ibmsis.*","root","disk",0660, NULL, "@/etc/smdev/proceeddev" },
- { "iseries/nvt.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "iseries/vt.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "iseries/vtty.*", "root","disk", 0660, NULL, "@/etc/smdev/proceeddev" },
+ { "sgi_.*", "root", "root", 0666, NULL, "@/etc/smdev/processdev" },
+ { "iseries/ibmsis.*","root","disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "iseries/nvt.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "iseries/vt.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
+ { "iseries/vtty.*", "root", "disk", 0660, NULL, "@/etc/smdev/processdev" },
- { ".*", "root", "root", 0660, NULL, "@/etc/smdev/proceeddev" },
+ { ".*", "root", "root", 0660, NULL, "@/etc/smdev/processdev" },
};
/* Fill into this table if you want to rename the network interface
diff --git a/initcpio.install b/initcpio.install
index 45263960654d..bd15e6da0d89 100644
--- a/initcpio.install
+++ b/initcpio.install
@@ -1,8 +1,7 @@
#!/bin/bash
build() {
- add_file "/etc/smdev/proceeddev"
- add_binary /usr/bin/mksh
+ add_file "/etc/smdev/processdev"
add_binary /usr/bin/smdev
add_file "/etc/smdev/add/00-modprobe"
@@ -17,5 +16,3 @@ help() {
This hook will use smdev to process device uevents. It prepares your root device and adds some else device nodes.
HELPEOF
}
-
-# vim: set ft=sh ts=4 sw=4 et:
diff --git a/proceeddev b/processdev
index a3210fd21c39..4d6e1c9ee39d 100644..100755
--- a/proceeddev
+++ b/processdev
@@ -1,5 +1,5 @@
-#!/bin/mksh
+#!/bin/sh
for cond in $(ls /etc/smdev/$ACTION); do
. /etc/smdev/$ACTION/$cond
-done
+done &
diff --git a/smdev.install b/smdev.install
new file mode 100644
index 000000000000..c2cc6d104ab1
--- /dev/null
+++ b/smdev.install
@@ -0,0 +1,8 @@
+post_install() {
+ id cdrom &>/dev/null || {
+ groupadd cdrom
+ }
+ id cdrom &>/dev/null || {
+ groupadd usb
+ }
+}
diff --git a/usb_nodes.patch b/usb_nodes.patch
new file mode 100644
index 000000000000..9aa89f36cfde
--- /dev/null
+++ b/usb_nodes.patch
@@ -0,0 +1,26 @@
+From 4c7b9620a746c35bb943cc40b27d729e714884d1 Mon Sep 17 00:00:00 2001
+From: Platon Ryzhikov <ihummer63@yandex.ru>
+Date: Thu, 3 Jun 2021 10:26:35 +0300
+Subject: [PATCH] Create USB nodes correctly
+
+Linux kernel creates USB devices with nodes like bus/usb/002/007
+---
+ smdev.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/smdev.c b/smdev.c
+index b774908..b9321df 100644
+--- a/smdev.c
++++ b/smdev.c
+@@ -185,7 +185,7 @@ parsepath(struct rule *rule, struct rulepath *rpath,
+ if (!rule->path) {
+ strlcpy(rpath->name, basedevname, sizeof(rpath->name));
+ snprintf(rpath->path, sizeof(rpath->path), "/dev/%s",
+- rpath->name);
++ devname);
+ return;
+ }
+
+--
+2.31.1
+