summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2006-05-17 16:49:46 +0000
committerkpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2006-05-17 16:49:46 +0000
commit837ddf6f037fd1381b8dc343e0f6626700c5f4bf (patch)
tree331ae14d2e08f9e0486474957b3a20b361438ecd
parent4df8d000e089b3b6f204badbd7a37db70cb1cb83 (diff)
move udev rules creating into a script, and generate it properly based on the installed udev version
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@1064 5390a7c7-147a-4af0-8ec9-7488f05a26cb
-rw-r--r--Makefile20
-rwxr-xr-xbuild_tools/genudevrules30
-rw-r--r--udev/zaptel.permissions2
-rw-r--r--udev/zaptel.rules6
-rw-r--r--udev/zaptel.rules-combined6
5 files changed, 32 insertions, 32 deletions
diff --git a/Makefile b/Makefile
index 198117a..173508e 100644
--- a/Makefile
+++ b/Makefile
@@ -104,9 +104,6 @@ ifeq (${BUILDVER},linux26)
ifneq (,$(wildcard $(ROOT_PREFIX)/etc/udev/rules.d))
DYNFS=yes
UDEVRULES=yes
- ifneq (,$(wildcard $(ROOT_PREFIX)/etc/udev/permissions.d))
- UDEVPERMISSIONS=yes
- endif
endif
endif
@@ -337,12 +334,7 @@ ifndef DYNFS
done
else # DYNFS
ifdef UDEVRULES
- ifdef UDEVPERMISSIONS
- install -m 644 udev/zaptel.rules $(INSTALL_PREFIX)/etc/udev/rules.d
- install -m 644 udev/zaptel.permissions $(INSTALL_PREFIX)/etc/udev/permissions.d
- else # !UDEVPERMISSIONS (newer, combined syntax)
- install -m 644 udev/zaptel.rules-combined $(INSTALL_PREFIX)/etc/udev/rules.d/zaptel.rules
- endif
+ build_tools/genudevrules > $(INSTALL_PREFIX)/etc/udev/rules.d/zaptel.rules
else # !UDEVRULES
@echo "**** Dynamic filesystem detected -- not creating device nodes"
endif
@@ -430,15 +422,7 @@ install: all devices
[ `id -u` = 0 ] && /sbin/depmod -a $(KVERS) || :
[ -f $(CONFIG_FILE) ] || install -D -m 644 zaptel.conf.sample $(CONFIG_FILE)
-install-udev:
- ifdef UDEVRULES
- ifdef UDEVPERMISSIONS
- install -m 644 udev/zaptel.rules $(INSTALL_PREFIX)/etc/udev/rules.d
- install -m 644 udev/zaptel.permissions $(INSTALL_PREFIX)/etc/udev/permissions.d
- else # !UDEVPERMISSIONS (newer, combined syntax)
- install -m 644 udev/zaptel.rules-combined $(INSTALL_PREFIX)/etc/udev/rules.d/zaptel.rules
- endif
- endif
+install-udev: devices
config:
if [ -d $(INSTALL_PREFIX)/etc/rc.d/init.d ]; then \
diff --git a/build_tools/genudevrules b/build_tools/genudevrules
new file mode 100755
index 0000000..a536f75
--- /dev/null
+++ b/build_tools/genudevrules
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+ver=`udevinfo -V | cut -f3 -d" "`
+
+if [ -z "${ver}" ]; then
+ echo Cannot determine the version of udev installed this system... exiting.
+ exit 1
+fi
+
+# udev versions prior to 055 use a single '=' for matching key values
+# udev versions 055 and later support '==' for that purpose, and versions
+# beyond 092 will probably make it mandatory
+#
+# very old versions of udev required naming rules and permissions rules to be
+# in separate files, but it's not clear at what version number that changed
+
+if [ ${ver} -gt 54 ]; then
+ match="=="
+else
+ match="="
+fi
+
+cat <<EOF
+# zaptel devices with ownership/permissions for running as non-root
+KERNEL${match}"zapctl", NAME="zap/ctl", OWNER="asterisk", GROUP="asterisk", MODE="0660"
+KERNEL${match}"zaptimer", NAME="zap/timer", OWNER="asterisk", GROUP="asterisk", MODE="0660"
+KERNEL${match}"zapchannel", NAME="zap/channel", OWNER="asterisk", GROUP="asterisk", MODE="0660"
+KERNEL${match}"zappseudo", NAME="zap/pseudo", OWNER="asterisk", GROUP="asterisk", MODE="0660"
+KERNEL${match}"zap[0-9]*", NAME="zap/%n", OWNER="asterisk", GROUP="asterisk", MODE="0660"
+EOF
diff --git a/udev/zaptel.permissions b/udev/zaptel.permissions
deleted file mode 100644
index efc4b44..0000000
--- a/udev/zaptel.permissions
+++ /dev/null
@@ -1,2 +0,0 @@
-# zaptel devices -- for running asterisk as non-root
-zap/*:asterisk:asterisk:660
diff --git a/udev/zaptel.rules b/udev/zaptel.rules
deleted file mode 100644
index 9ad7f73..0000000
--- a/udev/zaptel.rules
+++ /dev/null
@@ -1,6 +0,0 @@
-# zaptel devices
-KERNEL=="zapctl", NAME="zap/ctl"
-KERNEL=="zaptimer", NAME="zap/timer"
-KERNEL=="zapchannel", NAME="zap/channel"
-KERNEL=="zappseudo", NAME="zap/pseudo"
-KERNEL=="zap[0-9]*", NAME="zap/%n"
diff --git a/udev/zaptel.rules-combined b/udev/zaptel.rules-combined
deleted file mode 100644
index 91719fc..0000000
--- a/udev/zaptel.rules-combined
+++ /dev/null
@@ -1,6 +0,0 @@
-# zaptel devices with ownership/permissions for running as non-root
-KERNEL=="zapctl", NAME="zap/ctl", OWNER="asterisk", GROUP="asterisk", MODE="0660"
-KERNEL=="zaptimer", NAME="zap/timer", OWNER="asterisk", GROUP="asterisk", MODE="0660"
-KERNEL=="zapchannel", NAME="zap/channel", OWNER="asterisk", GROUP="asterisk", MODE="0660"
-KERNEL=="zappseudo", NAME="zap/pseudo", OWNER="asterisk", GROUP="asterisk", MODE="0660"
-KERNEL=="zap[0-9]*", NAME="zap/%n", OWNER="asterisk", GROUP="asterisk", MODE="0660"