summaryrefslogtreecommitdiff
path: root/recipes/udev/files/udev-compat-wrapper-patch
blob: c90d05aefa69fed4051f1c8885aedf7daa3e8a11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
This patch should be applied on platforms which support kernels < 2.6.27 and need udev-compat package.

It should be applied after:
sed -i "s:/sbin/udevd:\$UDEVD:g;s:/sbin/udevadm:\$UDEVADM:g" init

It has not .patch suffix, because such files would not be copied to
WORKDIR and cannot be selectively applied on another source file.

--- init
+++ init
@@ -11,6 +11,17 @@
 
 export TZ=/etc/localtime
 
+UDEVD="/sbin/udevd"
+UDEVADM="/sbin/udevadm"
+# If we are running an old kernel and have a static udev present use that instead
+if [ -e /sbin/udevd-compat ] ; then
+	KERNELMICROVER="$(uname -r | sed 's/^[0-9]*\.[0-9]*\.\([0-9]*\).*$/\1/')"
+	if [ $KERNELMICROVER -lt 27 ] ; then
+		UDEVD="/sbin/udevd-compat"
+		UDEVADM="/sbin/udevadm-compat"
+	fi
+fi
+
 [ -d /sys/class ] || exit 1
 [ -r /proc/mounts ] || exit 1
 [ -x $UDEVD ] || exit 1
@@ -21,6 +32,8 @@
         if [ -x /sbin/pidof ]; then
                 pid=`/sbin/pidof -x udevd`
                 [ -n "$pid" ] && kill $pid
+                pid=`/sbin/pidof -x udevd-compat`
+                [ -n "$pid" ] && kill $pid
         fi
 }