commit e83083ea00d1fbb8c53244746f8cea78d84d68a3
parent 3dc20a21f2b729b7c9ac2a1e00f0b4e3f68963a5
Author: Clayton Craft <clayton@craftyguy.net>
Date: Fri, 4 Oct 2024 14:06:39 -0700
makefile: add PREFIX and use it to generate paths in mdev.conf
Note that the default behavior is still the current behavior: stuff is installed
to /lib/mdev. This can be changed by setting PREFIX
fixes #4
Diffstat:
| M | .gitignore | | | 1 | + |
| M | Makefile | | | 10 | +++++++--- |
| D | mdev.conf | | | 153 | ------------------------------------------------------------------------------- |
| A | mdev.conf.in | | | 153 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
4 files changed, 161 insertions(+), 156 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1,2 +1,3 @@
Kyuafile
tests/Kyuafile
+mdev.conf
diff --git a/Makefile b/Makefile
@@ -2,11 +2,15 @@
SCRIPTS = dvbdev persistent-storage ptpdev usbdev
CONF = mdev.conf
-libexecdir = /lib/mdev
+PREFIX =
+libexecdir = $(PREFIX)/lib/mdev
sysconfdir = /etc
.PHONY: all
-all:
+all: $(CONF)
+
+$(CONF): $(CONF).in
+ sed -e 's|@LIBEXECDIR@|$(libexecdir)|g' $< > $@
tests/Kyuafile: $(wildcard tests/*_test)
echo "syntax(2)" > $@.tmp
@@ -28,7 +32,7 @@ check: tests/Kyuafile Kyuafile
.PHONY: clean
clean:
- rm -f tests/Kyuafile Kyuafile
+ rm -f tests/Kyuafile Kyuafile $(CONF)
.PHONY: install
install: $(SCRIPTS) $(CONF)
diff --git a/mdev.conf b/mdev.conf
@@ -1,153 +0,0 @@
-#
-# This is a sample mdev.conf.
-#
-
-# Devices:
-# Syntax: %s %d:%d %s
-# devices user:group mode
-
-$MODALIAS=.* root:root 0660 @modprobe -q -b "$MODALIAS"
-
-# null does already exist; therefore ownership has to be changed with command
-null root:root 0666 @chmod 666 $MDEV
-zero root:root 0666
-full root:root 0666
-
-random root:root 0666
-urandom root:root 0444
-hwrandom root:root 0660
-
-console root:tty 0600
-
-# load frambuffer console when first frambuffer is found
-fb0 root:video 0660 @modprobe -q -b fbcon
-
-fd0 root:floppy 0660
-kmem root:kmem 0640
-mem root:kmem 0640
-port root:kmem 0640
-ptmx root:tty 0666
-
-# Kernel-based Virtual Machine.
-kvm root:kvm 660
-
-# ram.*
-ram([0-9]*) root:disk 0660 >rd/%1
-loop([0-9]+) root:disk 0660 >loop/%1
-
-# persistent storage
-dasd.* root:disk 0660 */lib/mdev/persistent-storage
-mmcblk.* root:disk 0660 */lib/mdev/persistent-storage
-nbd.* root:disk 0660 */lib/mdev/persistent-storage
-nvme.* root:disk 0660 */lib/mdev/persistent-storage
-sd[a-z].* root:disk 0660 */lib/mdev/persistent-storage
-sr[0-9]+ root:cdrom 0660 */lib/mdev/persistent-storage
-vd[a-z].* root:disk 0660 */lib/mdev/persistent-storage
-xvd[a-z].* root:disk 0660 */lib/mdev/persistent-storage
-
-md[0-9] root:disk 0660
-
-tty root:tty 0666
-tty[0-9] root:root 0600
-tty[0-9][0-9] root:tty 0660
-ttyS[0-9]* root:dialout 0660
-ttyGS[0-9] root:root 0660
-pty.* root:tty 0660
-vcs[0-9]* root:tty 0660
-vcsa[0-9]* root:tty 0660
-
-# rpi bluetooth
-#ttyAMA0 root:tty 660 @btattach -B /dev/$MDEV -P bcm -S 115200 -N &
-
-ttyACM[0-9] root:dialout 0660 @ln -sf $MDEV modem
-ttyUSB[0-9] root:dialout 0660 @ln -sf $MDEV modem
-ttyLTM[0-9] root:dialout 0660 @ln -sf $MDEV modem
-ttySHSF[0-9] root:dialout 0660 @ln -sf $MDEV modem
-slamr root:dialout 0660 @ln -sf $MDEV slamr0
-slusb root:dialout 0660 @ln -sf $MDEV slusb0
-fuse root:root 0666
-
-# mobile broadband modems
-cdc-wdm[0-9]+ root:dialout 0660
-
-# dri device
-dri/.* root:video 0660
-card[0-9] root:video 0660 =dri/
-
-# alsa sound devices and audio stuff
-pcm.* root:audio 0660 =snd/
-control.* root:audio 0660 =snd/
-midi.* root:audio 0660 =snd/
-seq root:audio 0660 =snd/
-timer root:audio 0660 =snd/
-
-adsp root:audio 0660 >sound/
-audio root:audio 0660 >sound/
-dsp root:audio 0660 >sound/
-mixer root:audio 0660 >sound/
-sequencer.* root:audio 0660 >sound/
-
-SUBSYSTEM=sound;.* root:audio 0660
-
-# PTP devices
-ptp[0-9] root:root 0660 */lib/mdev/ptpdev
-
-# virtio-ports
-SUBSYSTEM=virtio-ports;vport.* root:root 0600 @mkdir -p virtio-ports; ln -sf ../$MDEV virtio-ports/$(cat /sys/class/virtio-ports/$MDEV/name)
-
-# misc stuff
-agpgart root:root 0660 >misc/
-psaux root:root 0660 >misc/
-rtc root:root 0664 >misc/
-
-# input stuff
-SUBSYSTEM=input;.* root:input 0660
-
-# v4l stuff
-vbi[0-9] root:video 0660 >v4l/
-video[0-9]+ root:video 0660 >v4l/
-
-# dvb stuff
-dvb.* root:video 0660 */lib/mdev/dvbdev
-
-# VideoCore VC4 BCM GPU specific (as in Pi devices)
-vchiq root:video 0660
-vcio root:video 0660
-vcsm-cma root:video 0660
-vc-mem root:video 0660
-
-# load drivers for usb devices
-usb[0-9]+ root:root 0660 */lib/mdev/usbdev
-
-# net devices
-# 666 is fine: https://www.kernel.org/doc/Documentation/networking/tuntap.txt
-net/tun[0-9]* root:netdev 0666
-net/tap[0-9]* root:netdev 0666
-SUBSYSTEM=net;INTERFACE=.*;.* root:root 600 @test -r /etc/mactab && nameif -s
-
-# zaptel devices
-zap(.*) root:dialout 0660 =zap/%1
-dahdi!(.*) root:dialout 0660 =dahdi/%1
-dahdi/(.*) root:dialout 0660 =dahdi/%1
-
-# raid controllers
-cciss!(.*) root:disk 0660 =cciss/%1
-cciss/(.*) root:disk 0660 =cciss/%1
-ida!(.*) root:disk 0660 =ida/%1
-ida/(.*) root:disk 0660 =ida/%1
-rd!(.*) root:disk 0660 =rd/%1
-rd/(.*) root:disk 0660 =rd/%1
-
-# tape devices
-nst[0-9]+.* root:tape 0660
-st[0-9]+.* root:tape 0660
-
-# VirtualBox devices
-vboxguest root:root 0600
-vboxuser root:root 0666
-vboxdrv root:root 0600
-vboxdrvu root:root 0666
-vboxnetctl root:root 0600
-
-# fallback for any!device -> any/device
-(.*)!(.*) root:root 0660 =%1/%2
diff --git a/mdev.conf.in b/mdev.conf.in
@@ -0,0 +1,153 @@
+#
+# This is a sample mdev.conf.
+#
+
+# Devices:
+# Syntax: %s %d:%d %s
+# devices user:group mode
+
+$MODALIAS=.* root:root 0660 @modprobe -q -b "$MODALIAS"
+
+# null does already exist; therefore ownership has to be changed with command
+null root:root 0666 @chmod 666 $MDEV
+zero root:root 0666
+full root:root 0666
+
+random root:root 0666
+urandom root:root 0444
+hwrandom root:root 0660
+
+console root:tty 0600
+
+# load frambuffer console when first frambuffer is found
+fb0 root:video 0660 @modprobe -q -b fbcon
+
+fd0 root:floppy 0660
+kmem root:kmem 0640
+mem root:kmem 0640
+port root:kmem 0640
+ptmx root:tty 0666
+
+# Kernel-based Virtual Machine.
+kvm root:kvm 660
+
+# ram.*
+ram([0-9]*) root:disk 0660 >rd/%1
+loop([0-9]+) root:disk 0660 >loop/%1
+
+# persistent storage
+dasd.* root:disk 0660 *@LIBEXECDIR@/persistent-storage
+mmcblk.* root:disk 0660 *@LIBEXECDIR@/persistent-storage
+nbd.* root:disk 0660 *@LIBEXECDIR@/persistent-storage
+nvme.* root:disk 0660 *@LIBEXECDIR@/persistent-storage
+sd[a-z].* root:disk 0660 *@LIBEXECDIR@/persistent-storage
+sr[0-9]+ root:cdrom 0660 *@LIBEXECDIR@/persistent-storage
+vd[a-z].* root:disk 0660 *@LIBEXECDIR@/persistent-storage
+xvd[a-z].* root:disk 0660 *@LIBEXECDIR@/persistent-storage
+
+md[0-9] root:disk 0660
+
+tty root:tty 0666
+tty[0-9] root:root 0600
+tty[0-9][0-9] root:tty 0660
+ttyS[0-9]* root:dialout 0660
+ttyGS[0-9] root:root 0660
+pty.* root:tty 0660
+vcs[0-9]* root:tty 0660
+vcsa[0-9]* root:tty 0660
+
+# rpi bluetooth
+#ttyAMA0 root:tty 660 @btattach -B /dev/$MDEV -P bcm -S 115200 -N &
+
+ttyACM[0-9] root:dialout 0660 @ln -sf $MDEV modem
+ttyUSB[0-9] root:dialout 0660 @ln -sf $MDEV modem
+ttyLTM[0-9] root:dialout 0660 @ln -sf $MDEV modem
+ttySHSF[0-9] root:dialout 0660 @ln -sf $MDEV modem
+slamr root:dialout 0660 @ln -sf $MDEV slamr0
+slusb root:dialout 0660 @ln -sf $MDEV slusb0
+fuse root:root 0666
+
+# mobile broadband modems
+cdc-wdm[0-9]+ root:dialout 0660
+
+# dri device
+dri/.* root:video 0660
+card[0-9] root:video 0660 =dri/
+
+# alsa sound devices and audio stuff
+pcm.* root:audio 0660 =snd/
+control.* root:audio 0660 =snd/
+midi.* root:audio 0660 =snd/
+seq root:audio 0660 =snd/
+timer root:audio 0660 =snd/
+
+adsp root:audio 0660 >sound/
+audio root:audio 0660 >sound/
+dsp root:audio 0660 >sound/
+mixer root:audio 0660 >sound/
+sequencer.* root:audio 0660 >sound/
+
+SUBSYSTEM=sound;.* root:audio 0660
+
+# PTP devices
+ptp[0-9] root:root 0660 *@LIBEXECDIR@/ptpdev
+
+# virtio-ports
+SUBSYSTEM=virtio-ports;vport.* root:root 0600 @mkdir -p virtio-ports; ln -sf ../$MDEV virtio-ports/$(cat /sys/class/virtio-ports/$MDEV/name)
+
+# misc stuff
+agpgart root:root 0660 >misc/
+psaux root:root 0660 >misc/
+rtc root:root 0664 >misc/
+
+# input stuff
+SUBSYSTEM=input;.* root:input 0660
+
+# v4l stuff
+vbi[0-9] root:video 0660 >v4l/
+video[0-9]+ root:video 0660 >v4l/
+
+# dvb stuff
+dvb.* root:video 0660 *@LIBEXECDIR@/dvbdev
+
+# VideoCore VC4 BCM GPU specific (as in Pi devices)
+vchiq root:video 0660
+vcio root:video 0660
+vcsm-cma root:video 0660
+vc-mem root:video 0660
+
+# load drivers for usb devices
+usb[0-9]+ root:root 0660 *@LIBEXECDIR@/usbdev
+
+# net devices
+# 666 is fine: https://www.kernel.org/doc/Documentation/networking/tuntap.txt
+net/tun[0-9]* root:netdev 0666
+net/tap[0-9]* root:netdev 0666
+SUBSYSTEM=net;INTERFACE=.*;.* root:root 600 @test -r /etc/mactab && nameif -s
+
+# zaptel devices
+zap(.*) root:dialout 0660 =zap/%1
+dahdi!(.*) root:dialout 0660 =dahdi/%1
+dahdi/(.*) root:dialout 0660 =dahdi/%1
+
+# raid controllers
+cciss!(.*) root:disk 0660 =cciss/%1
+cciss/(.*) root:disk 0660 =cciss/%1
+ida!(.*) root:disk 0660 =ida/%1
+ida/(.*) root:disk 0660 =ida/%1
+rd!(.*) root:disk 0660 =rd/%1
+rd/(.*) root:disk 0660 =rd/%1
+
+# tape devices
+nst[0-9]+.* root:tape 0660
+st[0-9]+.* root:tape 0660
+
+# VirtualBox devices
+vboxguest root:root 0600
+vboxuser root:root 0666
+vboxdrv root:root 0600
+vboxdrvu root:root 0666
+vboxnetctl root:root 0600
+
+# fallback for any!device -> any/device
+(.*)!(.*) root:root 0660 =%1/%2