linux(-rp).inc: Quirk for udev greater or equal 141
authorKoen Kooi <koen@openembedded.org>
Thu, 28 May 2009 08:07:09 +0000 (10:07 +0200)
committerKoen Kooi <koen@openembedded.org>
Thu, 28 May 2009 08:07:09 +0000 (10:07 +0200)
* opt-in, distros can set UDEV_GE_141 = 1 to get the quirks applied
* currently unsets CONFIG_SYSFS_DEPRECATED* per udev README

recipes/linux/linux-rp.inc
recipes/linux/linux.inc

index bd08a6f..bdeb9f3 100644 (file)
@@ -20,6 +20,9 @@ COMPATIBLE_MACHINE = '(collie|poodle|c7x0|akita|spitz|tosa|hx2000|qemuarm|qemux8
 # Enable OABI compat for people stuck with obsolete userspace
 ARM_KEEP_OABI ?= "1"
 
+# Quirk for udev greater or equal 141
+UDEV_GE_141 ?= "0"
+
 KERNEL_DEFCONFIG ?= "defconfig-${MACHINE}"
 
 CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd"
@@ -145,5 +148,21 @@ do_configure() {
            -e '/CONFIG_LOGO_OZ640_CLUT224=/d' \
            '${WORKDIR}/${KERNEL_DEFCONFIG}' >>'${S}/.config'
 
+        echo 'CONFIG_LOCALVERSION=""' >>${S}/.config
+        echo '# CONFIG_LOCALVERSION_AUTO is not set' >>${S}/.config
+
+        #
+        # Udev quirks
+        #
+
+        # Newer versions of udev mandate that sysfs doesn't have deprecated entries
+        if [ "${UDEV_GE_141}" = "1" ] ; then
+            sed -e /CONFIG_SYSFS_DEPRECATED/d \
+                -e /CONFIG_SYSFS_DEPRECATED_V2/d \
+                -i '${S}/.config'
+            echo '# CONFIG_SYSFS_DEPRECATED is not set' >> ${S}/.config
+            echo '# CONFIG_SYSFS_DEPRECATED_V2 is not set' >> ${S}/.config
+        fi
+
        yes '' | oe_runmake oldconfig
 }
index 5a4a11f..42fb56a 100644 (file)
@@ -9,6 +9,9 @@ RPSRC = "http://www.rpsys.net/openzaurus/patches/archive"
 # Enable OABI compat for people stuck with obsolete userspace
 ARM_KEEP_OABI ?= "1"
 
+# Quirk for udev greater or equal 141
+UDEV_GE_141 ?= "0"
+
 # Specify the commandline for your device
 
 # Boot from mmc
@@ -103,6 +106,20 @@ do_configure_prepend() {
 
         echo 'CONFIG_LOCALVERSION=""' >>${S}/.config
         echo '# CONFIG_LOCALVERSION_AUTO is not set' >>${S}/.config
+
+        #
+        # Udev quirks
+        #
+
+        # Newer versions of udev mandate that sysfs doesn't have deprecated entries
+        if [ "${UDEV_GE_141}" = "1" ] ; then
+            sed -e /CONFIG_SYSFS_DEPRECATED/d \
+                -e /CONFIG_SYSFS_DEPRECATED_V2/d \
+                -i '${S}/.config'
+            echo '# CONFIG_SYSFS_DEPRECATED is not set' >> ${S}/.config
+            echo '# CONFIG_SYSFS_DEPRECATED_V2 is not set' >> ${S}/.config
+        fi
+
         #
         # root-over-nfs-over-usb-eth support. Limited, but should cover some cases.
         # Enable this by setting a proper CMDLINE_NFSROOT_USB.