summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPlaton Ryzhikov2020-05-18 19:10:56 +0300
committerPlaton Ryzhikov2020-05-18 19:15:02 +0300
commit702f94d5e05c9336574275f36e492183bfb71961 (patch)
tree13f902e107fa3a7b99f1e16420a311a9ec00f3b9
parent37042c2623ea1e2611d3327594d7a3d22d641ebb (diff)
downloadaur-702f94d5e05c9336574275f36e492183bfb71961.tar.gz
fix devices with minor equal to 0
-rw-r--r--.SRCINFO17
-rw-r--r--PKGBUILD27
-rw-r--r--config.h254
-rw-r--r--initcpio.hook13
-rw-r--r--initcpio.install21
-rw-r--r--scan_all.patch14
6 files changed, 198 insertions, 148 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b656fde5df11..2e657147f218 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,15 +1,14 @@
pkgbase = smdev-phkr
- pkgdesc = Suckless mdev (patched version)
+ pkgdesc = Suckless mdev
pkgver = 0.2.3
- pkgrel = 2
+ pkgrel = 8
url = http://git.suckless.org/smdev/
arch = i686
arch = x86_64
+ arch = aarch64
license = MIT/X
makedepends = git
depends = mksh
- provides = smdev
- conflicts = smdev
options = strip
source = git+https://git.suckless.org/smdev#commit=8d07540
source = scan_all.patch
@@ -18,13 +17,17 @@ pkgbase = smdev-phkr
source = proceeddev
source = 00-modprobe
source = 99-remove_links
+ source = initcpio.hook
+ source = initcpio.install
sha1sums = SKIP
- sha1sums = 00721a385678a2e576606d85463ca8ab4ba4da27
+ sha1sums = a90bd08c8c482dec4b8cc063b4841db034ea7e1e
sha1sums = b300e68de6bcb6f542bb28206ab10f6ceca242bc
- sha1sums = e01d8c4f32deaed313950bfe71341f16c4ff7845
- sha1sums = 983302eaf902e0ecd77a61ae90ba0c6d9c635d3e
+ sha1sums = 03a2f92c8c4f77784b7fdec8d53589f6a6b49112
+ sha1sums = 36415dd4b3f95877a6a6c9649eb489d9ee4ed944
sha1sums = 3a5d1f975539131248fde0db5e44c29798706ea7
sha1sums = 6a5369d9e3efc4317c907cc6140e509e82a559a5
+ sha1sums = 7fe74315c9a3592c2eb66cea8cd652da04461786
+ sha1sums = b3142387784e5590c9ae56840f5eaf0dec54aa79
pkgname = smdev
diff --git a/PKGBUILD b/PKGBUILD
index 78ac9817806c..6b92b9b9af74 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,17 +3,15 @@
pkgbase=smdev-phkr
pkgname=smdev
pkgver=0.2.3
-pkgrel=2
+pkgrel=8
_rev=8d07540
-pkgdesc='Suckless mdev (patched version)'
-arch=( 'i686' 'x86_64' )
+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
license=( 'MIT/X' )
options=( 'strip' )
-provides=(smdev)
-conflicts=(smdev)
source=(
"git+https://git.suckless.org/smdev#commit=${_rev}"
'scan_all.patch'
@@ -22,15 +20,19 @@ source=(
'proceeddev'
'00-modprobe'
'99-remove_links'
+ 'initcpio.hook'
+ 'initcpio.install'
)
sha1sums=('SKIP'
- '00721a385678a2e576606d85463ca8ab4ba4da27'
+ 'a90bd08c8c482dec4b8cc063b4841db034ea7e1e'
'b300e68de6bcb6f542bb28206ab10f6ceca242bc'
- 'e01d8c4f32deaed313950bfe71341f16c4ff7845'
- '983302eaf902e0ecd77a61ae90ba0c6d9c635d3e'
+ '03a2f92c8c4f77784b7fdec8d53589f6a6b49112'
+ '36415dd4b3f95877a6a6c9649eb489d9ee4ed944'
'3a5d1f975539131248fde0db5e44c29798706ea7'
- '6a5369d9e3efc4317c907cc6140e509e82a559a5')
+ '6a5369d9e3efc4317c907cc6140e509e82a559a5'
+ '7fe74315c9a3592c2eb66cea8cd652da04461786'
+ 'b3142387784e5590c9ae56840f5eaf0dec54aa79')
prepare() {
cd "${srcdir}/${pkgname}"
@@ -41,16 +43,19 @@ prepare() {
build() {
cd "${srcdir}/${pkgname}"
+ cp ../config.h ./
make
}
package() {
cd "${srcdir}/${pkgname}"
- make PREFIX=/usr DESTDIR="$pkgdir/" install
+ make PREFIX=/usr DESTDIR="$pkgdir" install
cd "${srcdir}"
- install -m744 -D proceeddev $pkgdir/etc/smdev/proceeddev
+ 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
}
diff --git a/config.h b/config.h
index 626b963b12d5..d3eee6a57c5e 100644
--- a/config.h
+++ b/config.h
@@ -8,151 +8,153 @@ struct rule {
const char *cmd;
} rules[] = {
//tty
- { "console", "root", "tty", 0600, NULL, NULL },
- { "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][0-9]","root", "tty", 0660, NULL, NULL },
- { "vcs[0-9]*", "root", "tty", 0660, NULL, NULL },
- { "vcsa*[0-9]*", "root", "tty", 0660, NULL, NULL },
+ { "console", "root", "tty", 0600, NULL, NULL },
+ { "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][0-9]", "root", "tty", 0660, NULL, NULL },
+ { "vcs[0-9].*", "root", "tty", 0660, NULL, NULL },
+ { "vcsa*[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 },
- { "slamr", "root", "tty", 0660, NULL, NULL },
- { "slusb", "root", "tty", 0660, NULL, NULL },
- { "vport.*", "root", "root", 0660, NULL, NULL },
- { "ircomm[0-9]*", "root", "uucp", 0660, NULL, NULL },
- { "noz[0-9]*", "root", "uucp", 0660, NULL, NULL },
- { "rfcomm[0-9]*", "root", "uucp", 0660, NULL, NULL },
- { "mwave", "root", "uucp", 0660, NULL, NULL },
- { "hvc.*", "root", "uucp", 0660, NULL, NULL },
- { "hvi.*", "root", "uucp", 0660, NULL, NULL },
- { "ppox[0-9]*", "root", "uucp", 0660, NULL, NULL },
+ { "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 },
+ { "slamr", "root", "tty", 0660, NULL, NULL },
+ { "slusb", "root", "tty", 0660, NULL, NULL },
+ { "vport.*", "root", "root", 0660, NULL, NULL },
+ { "ircomm[0-9].*", "root", "uucp", 0660, NULL, NULL },
+ { "noz[0-9].*", "root", "uucp", 0660, NULL, NULL },
+ { "rfcomm[0-9].*", "root", "uucp", 0660, NULL, NULL },
+ { "mwave", "root", "uucp", 0660, NULL, NULL },
+ { "hvc.*", "root", "uucp", 0660, NULL, NULL },
+ { "hvi.*", "root", "uucp", 0660, NULL, NULL },
+ { "ppox[0-9].*", "root", "uucp", 0660, NULL, NULL },
// mem
- { "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" },
+ { "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" },
// 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/proceeddev" },
+ { "ts[0-9].+", "root", "root", 0640, "=input/", "@/etc/smdev/proceeddev" },
// 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/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" },
// 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/proceeddev" },
+ { "card[0-9].*", "root", "video", 0660, "=dri/", "@/etc/smdev/proceeddev" },
// usb
- { "bus/usb/.*", "root", "root", 0665, NULL, "@/etc/smdev/proceeddev" },
+ { "bus/usb/.*", "root", "usb", 0665, NULL, "@/etc/smdev/proceeddev" },
// printer
- { "partport[0-9]*","root","lp", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "partport_pc", "root", "lp", 0660, NULL, "@/etc/smdev/proceeddev" },
- { "lp[-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/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" },
// 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" },
- { "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/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" },
// 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/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" },
//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" },
+ { "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" },
// 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/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" },
// network
- { "-net/.*", "root", "root", 0600, NULL, "@nameif" },
- { "tun", "root", "root", 0666, "=net/", "@/etc/smdev/proceeddev" },
- { "tun[0-9]*", "root", "root", 0600, "=net/", "@/etc/smdev/proceeddev" },
- { "tap[0-9]*", "root", "root", 0600, "=net/", "@/etc/smdev/proceeddev" },
- { "rfkill", "root", "rfkill",0640, NULL, "@/etc/smdev/proceeddev" },
+ { "-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" },
// 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/proceeddev" },
+ { "msr([0-9].+)", "root", "root", 0600, "=cpu/%1/msr", "@/etc/smdev/proceeddev" },
+ { "microcode", "root", "root", 0600, "=cpu/microcode","@/etc/smdev/proceeddev" },
// fuse
- { "fuse", "root", "root", 0666, NULL, "@mount -t fusectl fusectl /sys/fs/fuse/connections"},
+ { "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/proceeddev" },
+ { "ida.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
+ { "rd.*", "root", "disk", 0660, NULL, "@/etc/smdev/proceeddev" },
// 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/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" },
//arch
- { "sgi_.*", "root", "root", 0666, NULL, "@/etc/smdev/proceeddev" },
+ { "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" },
+ { "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" },
- { ".*", "root", "root", 0660, NULL, "@/etc/smdev/proceeddev" },
+ { ".*", "root", "root", 0660, NULL, "@/etc/smdev/proceeddev" },
};
/* Fill into this table if you want to rename the network interface
diff --git a/initcpio.hook b/initcpio.hook
new file mode 100644
index 000000000000..e4ca18654089
--- /dev/null
+++ b/initcpio.hook
@@ -0,0 +1,13 @@
+#!/usr/bin/ash
+
+run_earlyhook() {
+ msg ":: Triggering early uevents..."
+ smdev -s
+}
+
+run_hook() {
+ msg ":: Triggering uevents..."
+ smdev -s
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/initcpio.install b/initcpio.install
new file mode 100644
index 000000000000..45263960654d
--- /dev/null
+++ b/initcpio.install
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+build() {
+ add_file "/etc/smdev/proceeddev"
+ add_binary /usr/bin/mksh
+ add_binary /usr/bin/smdev
+
+ add_file "/etc/smdev/add/00-modprobe"
+ [ -f /etc/smdev/add/01-uuid ] && add_file "/etc/smdev/add/01-uuid"
+ [ -f /etc/smdev/add/01-lvm ] && add_file "/etc/smdev/add/01-lvm"
+
+ add_runscript
+}
+
+help() {
+ cat <<HELPEOF
+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/scan_all.patch b/scan_all.patch
index a661a9d85860..bc51baf38d9f 100644
--- a/scan_all.patch
+++ b/scan_all.patch
@@ -1,9 +1,15 @@
+From 6d5a094b85a1a148647744eb327593d6aef9a822 Mon Sep 17 00:00:00 2001
+From: Platon Ryzhikov <ihummer63@yandex.ru>
+Date: Mon, 18 May 2020 16:58:10 +0300
+Subject: [PATCH] Scan all /sys to find uevents, they may contain info about
+ modules even if they don't describe devices
+
---
smdev.c | 127 ++++++++++++++++++++++++++++----------------------------
1 file changed, 64 insertions(+), 63 deletions(-)
diff --git a/smdev.c b/smdev.c
-index b774908..59b5485 100644
+index b774908..ff35df2 100644
--- a/smdev.c
+++ b/smdev.c
@@ -85,7 +85,7 @@ main(int argc, char *argv[])
@@ -44,7 +50,7 @@ index b774908..59b5485 100644
- if (rule->path && rule->path[0] == '>') {
- snprintf(buf, sizeof(buf), "/dev/%s", ev->devname);
- unlink(buf);
-+ if (ev->major > 0 && ev->minor > 0 && ev->devname) {
++ if (ev->major >= 0 && ev->minor >= 0 && ev->devname) {
+ /* Delete device node */
+ unlink(rpath.path);
+ /* Delete symlink */
@@ -73,7 +79,7 @@ index b774908..59b5485 100644
- if (mkpath(buf, 0755) < 0)
- eprintf("mkdir %s:", buf);
- umask(0);
-+ if (ev->major > 0 && ev->minor > 0 && ev->devname) {
++ if (ev->major >= 0 && ev->minor >= 0 && ev->devname) {
+ snprintf(buf, sizeof(buf), "%d:%d", ev->major, ev->minor);
+ if ((type = devtype(buf)) < 0)
+ return -1;
@@ -179,5 +185,5 @@ index b774908..59b5485 100644
static int
--
-2.20.1
+2.26.2