diff options
author | Stanislav Brabec <sbrabec@suse.cz> | 2010-07-24 15:37:21 +0200 |
---|---|---|
committer | Stanislav Brabec <sbrabec@suse.cz> | 2010-07-24 15:37:21 +0200 |
commit | bf242510ce91aef3472a1ac4521410a867ea0964 (patch) | |
tree | eee010f06431e2b9567b19d1bfadeb5f034b62cc /recipes | |
parent | e5dd04945be46561a37f9c4401f4169cb63a7598 (diff) |
udev: Added support for udev-compat.
* http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-July/021662.html
Signed-off-by: Stanislav Brabec <utx@penguin.cz>
Acked-by: Andrea Adami <andrea.adami@gmail.com>
Diffstat (limited to 'recipes')
-rw-r--r-- | recipes/udev/files/udev-compat-wrapper-patch | 37 | ||||
-rw-r--r-- | recipes/udev/udev.inc | 19 | ||||
-rw-r--r-- | recipes/udev/udev_151.bb | 17 | ||||
-rw-r--r-- | recipes/udev/udev_154.bb | 17 |
4 files changed, 89 insertions, 1 deletions
diff --git a/recipes/udev/files/udev-compat-wrapper-patch b/recipes/udev/files/udev-compat-wrapper-patch new file mode 100644 index 0000000000..a3e312d6a6 --- /dev/null +++ b/recipes/udev/files/udev-compat-wrapper-patch @@ -0,0 +1,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 | awk -F. '{print $3}')" ++ 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 + } + diff --git a/recipes/udev/udev.inc b/recipes/udev/udev.inc index c79da97074..f4f1c4008d 100644 --- a/recipes/udev/udev.inc +++ b/recipes/udev/udev.inc @@ -11,7 +11,8 @@ SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ file://mount.sh \ file://network.sh \ file://local.rules \ - file://init" + file://init \ + file://udev-compat-wrapper-patch" INC_PR = "r27" @@ -42,6 +43,22 @@ EXTRA_OEMAKE = "-e \ 'EXTRAS=${UDEV_EXTRAS}' \ 'STRIP=echo'" +RPROVIDES_udev_spitz = "udev-compat-wrapper" +do_unpack_append_spitz() { + bb.build.exec_func('do_apply_compat_wrapper', d) +} +RPROVIDES_udev_akita = "udev-compat-wrapper" +do_unpack_append_akita() { + bb.build.exec_func('do_apply_compat_wrapper', d) +} +# Modify init script on platforms that need to boot old kernels: +do_apply_compat_wrapper() { + cd ${WORKDIR} + sed -i "s:/sbin/udevd:\$UDEVD:g;s:/sbin/udevadm:\$UDEVADM:g" init + patch <udev-compat-wrapper-patch + cd - +} + do_install () { install -d ${D}${usrsbindir} \ ${D}${sbindir} diff --git a/recipes/udev/udev_151.bb b/recipes/udev/udev_151.bb index 7be56d29cb..ce97a7b675 100644 --- a/recipes/udev/udev_151.bb +++ b/recipes/udev/udev_151.bb @@ -29,6 +29,7 @@ SRC_URI += " \ file://default \ file://init \ file://cache \ + file://udev-compat-wrapper-patch \ " SRC_URI_append_h2200 = " file://50-hostap_cs.rules " @@ -74,6 +75,22 @@ FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug" FILES_${PN} += "/lib/udev* ${libdir}/ConsoleKit" FILES_${PN}-dbg += "/lib/udev/.debug" +RPROVIDES_udev_spitz = "udev-compat-wrapper" +do_unpack_append_spitz() { + bb.build.exec_func('do_apply_compat_wrapper', d) +} +RPROVIDES_udev_akita = "udev-compat-wrapper" +do_unpack_append_akita() { + bb.build.exec_func('do_apply_compat_wrapper', d) +} +# Modify init script on platforms that need to boot old kernels: +do_apply_compat_wrapper() { + cd ${WORKDIR} + sed -i "s:/sbin/udevd:\$UDEVD:g;s:/sbin/udevadm:\$UDEVADM:g" init + patch <udev-compat-wrapper-patch + cd - +} + do_install () { install -d ${D}${usrsbindir} \ ${D}${sbindir} diff --git a/recipes/udev/udev_154.bb b/recipes/udev/udev_154.bb index 5e90e88f58..60322151f3 100644 --- a/recipes/udev/udev_154.bb +++ b/recipes/udev/udev_154.bb @@ -30,6 +30,7 @@ SRC_URI += " \ file://default \ file://init \ file://cache \ + file://udev-compat-wrapper-patch \ " SRC_URI_append_h2200 = " file://50-hostap_cs.rules " @@ -75,6 +76,22 @@ FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug" FILES_${PN} += "/lib/udev* ${libdir}/ConsoleKit" FILES_${PN}-dbg += "/lib/udev/.debug" +RPROVIDES_udev_spitz = "udev-compat-wrapper" +do_unpack_append_spitz() { + bb.build.exec_func('do_apply_compat_wrapper', d) +} +RPROVIDES_udev_akita = "udev-compat-wrapper" +do_unpack_append_akita() { + bb.build.exec_func('do_apply_compat_wrapper', d) +} +# Modify init script on platforms that need to boot old kernels: +do_apply_compat_wrapper() { + cd ${WORKDIR} + sed -i "s:/sbin/udevd:\$UDEVD:g;s:/sbin/udevadm:\$UDEVADM:g" init + patch <udev-compat-wrapper-patch + cd - +} + do_install () { install -d ${D}${usrsbindir} \ ${D}${sbindir} |