Skip to contentSkip to conversation

eudev: Replaces udev with eudev for compatibility when using sysvinit on newer kernels

PATCH New Alejandro Hernandez 1 participant 4 messages Mar 1, 2016 1 message not in the archive

lore
Share & tools
lore
#1 lore raw

PATCH v3 1/4 eudev: Replaces udev with eudev for compatibility when using sysvinit on newer kernels

In reply to a message not in the archive

udev has started to fail on new kernels (4.4), due to being deprecated in favor of systemd's udev implementation. To maintain a sysvinit alternative we also need to provide an alternative to udev. Eudev is a fork of systemds udev, this new eudev recipe provides upstream udev 220 funcitonality.

- Removes patches that dont apply anymore
- ToDo: eudev-ptest?

[YOCTO #8998]

---
 meta/conf/distro/include/default-providers.inc     |   2 +-
 .../udev/{udev => eudev}/devfs-udev.rules          |   0
 meta/recipes-core/udev/{udev => eudev}/init        |   0
 meta/recipes-core/udev/{udev => eudev}/links.conf  |   0
 meta/recipes-core/udev/{udev => eudev}/local.rules |   0
 .../udev/{udev => eudev}/permissions.rules         |   0
 meta/recipes-core/udev/{udev => eudev}/run.rules   |   0
 meta/recipes-core/udev/{udev => eudev}/udev-cache  |   0
 .../udev/{udev => eudev}/udev-cache.default        |   0
 meta/recipes-core/udev/{udev => eudev}/udev.rules  |   0
 meta/recipes-core/udev/eudev_3.1.5.bb              |  93 +++++++++++++++++
 meta/recipes-core/udev/udev.inc                    | 112 ---------------------
 ...yboard_force_release.sh-shell-script-path.patch |  35 -------
 ...-Add-stdint.h-as-it-was-removed-from-mtd-.patch |  29 ------
 ...c-Makefile.am-Check-for-input.h-and-input.patch |  52 ----------
 .../recipes-core/udev/udev/add-install-ptest.patch |  86 ----------------
 .../udev/udev/avoid-mouse-autosuspend.patch        |  25 -----
 .../udev/udev/fix_rule-syntax-regex-ptest.patch    |  58 -----------
 meta/recipes-core/udev/udev/run-ptest              |   5 -
 meta/recipes-core/udev/udev_182.bb                 |   9 --
 20 files changed, 94 insertions(+), 412 deletions(-)
 rename meta/recipes-core/udev/{udev => eudev}/devfs-udev.rules (100%)
 rename meta/recipes-core/udev/{udev => eudev}/init (100%)
 rename meta/recipes-core/udev/{udev => eudev}/links.conf (100%)
 rename meta/recipes-core/udev/{udev => eudev}/local.rules (100%)
 rename meta/recipes-core/udev/{udev => eudev}/permissions.rules (100%)
 rename meta/recipes-core/udev/{udev => eudev}/run.rules (100%)
 rename meta/recipes-core/udev/{udev => eudev}/udev-cache (100%)
 rename meta/recipes-core/udev/{udev => eudev}/udev-cache.default (100%)
 rename meta/recipes-core/udev/{udev => eudev}/udev.rules (100%)
 create mode 100644 meta/recipes-core/udev/eudev_3.1.5.bb
 delete mode 100644 meta/recipes-core/udev/udev.inc
 delete mode 100644 meta/recipes-core/udev/udev/0001-Fixing-keyboard_force_release.sh-shell-script-path.patch
 delete mode 100644 meta/recipes-core/udev/udev/0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-from-mtd-.patch
 delete mode 100644 meta/recipes-core/udev/udev/0002-configure.ac-Makefile.am-Check-for-input.h-and-input.patch
 delete mode 100644 meta/recipes-core/udev/udev/add-install-ptest.patch
 delete mode 100644 meta/recipes-core/udev/udev/avoid-mouse-autosuspend.patch
 delete mode 100644 meta/recipes-core/udev/udev/fix_rule-syntax-regex-ptest.patch
 delete mode 100644 meta/recipes-core/udev/udev/run-ptest
 delete mode 100644 meta/recipes-core/udev/udev_182.bb
meta/conf/distro/include/default-providers.inc +1 -1
index bb382bd..ba85c78 100644
@@ -44,7 +44,7 @@ PREFERRED_PROVIDER_nativesdk-opkg ?= "nativesdk-opkg"
 PREFERRED_PROVIDER_console-tools ?= "kbd"
 PREFERRED_PROVIDER_gzip-native ?= "pigz-native"
 PREFERRED_PROVIDER_make ?= "make"
-PREFERRED_PROVIDER_udev ?= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','udev',d)}"
+PREFERRED_PROVIDER_udev ?= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','eudev',d)}"
 # There are issues with runtime packages and PREFERRED_PROVIDER, see YOCTO #5044 for details
 # on this rather strange entry.
 PREFERRED_PROVIDER_bluez4 ?= "${@bb.utils.contains('DISTRO_FEATURES','bluetooth bluez5','bluez5','bluez4',d)}"
meta/recipes-core/udev/eudev/devfs-udev.rules renamed from meta/recipes-core/udev/udev/devfs-udev.rules +0 -0
similarity index 100%
rename from meta/recipes-core/udev/udev/devfs-udev.rules
rename to meta/recipes-core/udev/eudev/devfs-udev.rules
meta/recipes-core/udev/eudev/init renamed from meta/recipes-core/udev/udev/init +0 -0
similarity index 100%
rename from meta/recipes-core/udev/udev/init
rename to meta/recipes-core/udev/eudev/init
meta/recipes-core/udev/eudev/links.conf renamed from meta/recipes-core/udev/udev/links.conf +0 -0
similarity index 100%
rename from meta/recipes-core/udev/udev/links.conf
rename to meta/recipes-core/udev/eudev/links.conf
meta/recipes-core/udev/eudev/local.rules renamed from meta/recipes-core/udev/udev/local.rules +0 -0
similarity index 100%
rename from meta/recipes-core/udev/udev/local.rules
rename to meta/recipes-core/udev/eudev/local.rules
meta/recipes-core/udev/eudev/permissions.rules renamed from meta/recipes-core/udev/udev/permissions.rules +0 -0
similarity index 100%
rename from meta/recipes-core/udev/udev/permissions.rules
rename to meta/recipes-core/udev/eudev/permissions.rules
meta/recipes-core/udev/eudev/run.rules renamed from meta/recipes-core/udev/udev/run.rules +0 -0
similarity index 100%
rename from meta/recipes-core/udev/udev/run.rules
rename to meta/recipes-core/udev/eudev/run.rules
meta/recipes-core/udev/eudev/udev-cache renamed from meta/recipes-core/udev/udev/udev-cache +0 -0
similarity index 100%
rename from meta/recipes-core/udev/udev/udev-cache
rename to meta/recipes-core/udev/eudev/udev-cache
meta/recipes-core/udev/eudev/udev-cache.default renamed from meta/recipes-core/udev/udev/udev-cache.default +0 -0
similarity index 100%
rename from meta/recipes-core/udev/udev/udev-cache.default
rename to meta/recipes-core/udev/eudev/udev-cache.default
meta/recipes-core/udev/eudev/udev.rules renamed from meta/recipes-core/udev/udev/udev.rules +0 -0
similarity index 100%
rename from meta/recipes-core/udev/udev/udev.rules
rename to meta/recipes-core/udev/eudev/udev.rules
meta/recipes-core/udev/eudev_3.1.5.bb new file +93 -0

93 lines not on this page · raw message

meta/recipes-core/udev/udev.inc deleted +0 -112

112 lines not on this page · raw message

meta/recipes-core/udev/udev/0001-Fixing-keyboard_force_release.sh-shell-script-path.patch deleted +0 -35
deleted file mode 100644
index 41deafa..0000000
@@ -1,35 +0,0 @@
-From 0f8290c943da298abd269ca60fd8375dfb219971 Mon Sep 17 00:00:00 2001
-From: Alexandru DAMIAN <[email protected]>
-Date: Thu, 12 Jul 2012 12:54:48 +0300
-Subject: [PATCH] Fixing keyboard_force_release.sh shell script path
-
-With the introduction of rootprefix, the keyboard-force-release.sh.in
-was modified to be executed with @rootprefix@/bin/sh, which is wrong
-because @rootprefix@ defaults to /usr (which is correct), but the
-shell is always at /bin/sh (IEEE Std 1003.2-1992).
-
-Therefore the interpreter for shell scripts needs to be /bin/sh at all times.
-
-The upstream moved to configurable root prefix, this patch taclkes a 
-transition bug, and will not be applied upstream.
-
-Upstream-Status: Inappropriate [legacy version]
-
-Signed-off-by: Alexandru DAMIAN <[email protected]>
----
- src/keymap/keyboard-force-release.sh.in |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/keymap/keyboard-force-release.sh.in b/src/keymap/keyboard-force-release.sh.in
-index dd040ce..597a3a6 100755
---- a/src/keymap/keyboard-force-release.sh.in
-+++ b/src/keymap/keyboard-force-release.sh.in
-@@ -1,4 +1,4 @@
--#!@rootprefix@/bin/sh -e
-+#!/bin/sh -e
- # read list of scancodes, convert hex to decimal and
- # append to the atkbd force_release sysfs attribute
- # $1 sysfs devpath for serioX
--- 
-1.7.9.5
-
meta/recipes-core/udev/udev/0001-mtd_probe.h-Add-stdint.h-as-it-was-removed-from-mtd-.patch deleted +0 -29
deleted file mode 100644
index 8d2df1a..0000000
@@ -1,29 +0,0 @@
-From 2935f9b2dfb92c3ce4376a988cd01b624430905b Mon Sep 17 00:00:00 2001
-From: Saul Wold <[email protected]>
-Date: Tue, 19 Jan 2016 09:49:56 -0800
-Subject: [PATCH 1/2] mtd_probe.h: Add stdint.h as it was removed from
- mtd-user.h in the kernel
-
-
-Upstream-Status: Inappropriate [Upstream unsupported]
-
-Signed-off-by: Saul Wold <[email protected]>
----
- src/mtd_probe/mtd_probe.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/mtd_probe/mtd_probe.h b/src/mtd_probe/mtd_probe.h
-index 2a37ede..49c1918 100644
---- a/src/mtd_probe/mtd_probe.h
-+++ b/src/mtd_probe/mtd_probe.h
-@@ -18,6 +18,7 @@
-  */
- 
- #include <mtd/mtd-user.h>
-+#include <stdint.h>
- 
- /* Full oob structure as written on the flash */
- struct sm_oob {
--- 
-2.5.0
-
meta/recipes-core/udev/udev/0002-configure.ac-Makefile.am-Check-for-input.h-and-input.patch deleted +0 -52

52 lines not on this page · raw message

meta/recipes-core/udev/udev/add-install-ptest.patch deleted +0 -86

86 lines not on this page · raw message

meta/recipes-core/udev/udev/avoid-mouse-autosuspend.patch deleted +0 -25
deleted file mode 100644
index 2c31b33..0000000
@@ -1,25 +0,0 @@
-Source: http://cgit.freedesktop.org/systemd/systemd/commit/rules/42-usb-hid-pm.rules?id=e0386cf2809219bbdd30895f46f1f567b56902b6
-
-Some USB ports on external hubs may be reported as "fixed". We only want
-to auto-enable this on ports that are internal to the machine, so check
-the parent state as well.
-
-Upstream-Status: backport
-
-Signed-off-by: Nitin A Kamble <[email protected]>
-2013/09/13
-
-Index: udev-182/rules/42-usb-hid-pm.rules
-===================================================================
---- udev-182.orig/rules/42-usb-hid-pm.rules
-+++ udev-182/rules/42-usb-hid-pm.rules
-@@ -46,4 +46,9 @@ ACTION=="add", SUBSYSTEM=="usb", ATTRS{i
- ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}="0002", TEST=="power/control", ATTR{power/control}="auto"
-
- # USB HID devices that are internal to the machine should also be safe to autosuspend
-+# And skip it for devices which are external but say "fixed"
-+ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="removable", GOTO="usb_hid_pm_end"
-+ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="unknown", GOTO="usb_hid_pm_end"
- ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", ATTRS{removable}=="fixed", TEST=="../power/control", ATTR{../power/control}="auto"
-+LABEL="usb_hid_pm_end"
-+
meta/recipes-core/udev/udev/fix_rule-syntax-regex-ptest.patch deleted +0 -58

58 lines not on this page · raw message

meta/recipes-core/udev/udev/run-ptest deleted +0 -5
deleted file mode 100644
index 0e39806..0000000
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-tar -C test/ -xJf test/sys.tar.xz
-make -k check-TESTS
-make test-sys-distclean
meta/recipes-core/udev/udev_182.bb deleted +0 -9
deleted file mode 100644
index b216352..0000000
@@ -1,9 +0,0 @@
-include udev.inc
-
-PR = "r9"
-
-# module-init-tools from kmod_git will provide libkmod runtime
-DEPENDS += "module-init-tools"
-
-SRC_URI[md5sum] = "1b964456177fbf48023dfee7db3a708d"
-SRC_URI[sha256sum] = "7857ed19fafd8f3ca8de410194e8c7336e9eb8a20626ea8a4ba6449b017faba4"
Signature · 1 line
2.6.2
#2 lore raw

PATCH 2/4 libgudev: Fix for new eudev implementation

In reply to a message not in the archive

systemd is not a necessary feature for libgudev anymore since we are providing eudev as an alternative to udev

---
 meta/recipes-gnome/libgudev/libgudev_230.bb | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
meta/recipes-gnome/libgudev/libgudev_230.bb +1 -2
index ea8e82c..c61316b 100644
@@ -10,6 +10,5 @@ RCONFLICTS_${PN} = "systemd (<= 220)"
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
-inherit gnomebase distro_features_check
+inherit gnomebase
 
-REQUIRED_DISTRO_FEATURES = "systemd"
Signature · 1 line
2.6.2
#3 lore raw

PATCH 3/4 usbutils: Fix for new eudev implementation

In reply to a message not in the archive

usbutils was only compatible with systemds udev, since we now provide a udev alternative compatible with upstream systemds udev, we can now use the newer version of usbutils along with it too.

---
 meta/recipes-bsp/usbutils/usbutils-008/iconv.patch | 41 ----------------------
 meta/recipes-bsp/usbutils/usbutils/iconv.patch     | 29 +++++++--------
 meta/recipes-bsp/usbutils/usbutils_007.bb          | 31 ----------------
 meta/recipes-bsp/usbutils/usbutils_008.bb          |  5 +--
 4 files changed, 16 insertions(+), 90 deletions(-)
 delete mode 100644 meta/recipes-bsp/usbutils/usbutils-008/iconv.patch
 delete mode 100644 meta/recipes-bsp/usbutils/usbutils_007.bb
meta/recipes-bsp/usbutils/usbutils-008/iconv.patch deleted +0 -41
deleted file mode 100644
index 6455567..0000000
@@ -1,41 +0,0 @@
-This patch adds support for detecting iconv support using autotools
-uclibc does not have iconv implementation inside libc like glibc, therefore
-the existing checks were not sufficient, it worked for glibc but not for
-uclibc. The new patch portably detects the iconv support and adds the
-libiconv to linker cmdline
-
-This patch should be submitted upstream too
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <[email protected]>
-
-Index: usbutils-008/configure.ac
-===================================================================
---- usbutils-008.orig/configure.ac
-+++ usbutils-008/configure.ac
-@@ -10,7 +10,9 @@ AC_USE_SYSTEM_EXTENSIONS
- AC_SYS_LARGEFILE
- 
- AC_CHECK_HEADERS([byteswap.h])
--AC_CHECK_FUNCS([nl_langinfo iconv])
-+
-+AM_GNU_GETTEXT
-+AM_ICONV
- 
- PKG_CHECK_MODULES(LIBUSB, libusb-1.0 >= 1.0.0)
- 
-Index: usbutils-008/Makefile.am
-===================================================================
---- usbutils-008.orig/Makefile.am
-+++ usbutils-008/Makefile.am
-@@ -29,7 +29,8 @@ lsusb_CPPFLAGS = \
- 
- lsusb_LDADD = \
- 	$(LIBUSB_LIBS) \
--	$(UDEV_LIBS)
-+	$(UDEV_LIBS) \
-+	$(LIBICONV)
- 
- man_MANS = \
- 	lsusb.8	\
meta/recipes-bsp/usbutils/usbutils/iconv.patch +15 -14
index c557334..6455567 100644
@@ -10,10 +10,10 @@ Upstream-Status: Pending
 
 Signed-off-by: Khem Raj <[email protected]>
 
-Index: usbutils-007/configure.ac
+Index: usbutils-008/configure.ac
 ===================================================================
---- usbutils-007.orig/configure.ac
-+++ usbutils-007/configure.ac
+--- usbutils-008.orig/configure.ac
++++ usbutils-008/configure.ac
 @@ -10,7 +10,9 @@ AC_USE_SYSTEM_EXTENSIONS
  AC_SYS_LARGEFILE
  
@@ -23,18 +23,19 @@ Index: usbutils-007/configure.ac
 +AM_GNU_GETTEXT
 +AM_ICONV
  
- AC_ARG_ENABLE(zlib,
- 	AS_HELP_STRING(--disable-zlib,disable support for zlib))
-Index: usbutils-007/Makefile.am
+ PKG_CHECK_MODULES(LIBUSB, libusb-1.0 >= 1.0.0)
+ 
+Index: usbutils-008/Makefile.am
 ===================================================================
---- usbutils-007.orig/Makefile.am
-+++ usbutils-007/Makefile.am
-@@ -27,7 +27,7 @@ lsusb_CPPFLAGS = \
- 	-DDATADIR=\"$(datadir)\"
+--- usbutils-008.orig/Makefile.am
++++ usbutils-008/Makefile.am
+@@ -29,7 +29,8 @@ lsusb_CPPFLAGS = \
  
  lsusb_LDADD = \
--	$(LIBUSB_LIBS)
-+	$(LIBUSB_LIBS) $(LIBICONV)
+ 	$(LIBUSB_LIBS) \
+-	$(UDEV_LIBS)
++	$(UDEV_LIBS) \
++	$(LIBICONV)
  
- if HAVE_ZLIB
- lsusb_CPPFLAGS += -DHAVE_LIBZ
+ man_MANS = \
+ 	lsusb.8	\
meta/recipes-bsp/usbutils/usbutils_007.bb deleted +0 -31
deleted file mode 100644
index b93b2bd..0000000
@@ -1,31 +0,0 @@
-SUMMARY = "Host side USB console utilities"
-DESCRIPTION = "Contains the lsusb utility for inspecting the devices connected to the USB bus."
-HOMEPAGE = "http://www.linux-usb.org"
-SECTION = "base"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "libusb zlib virtual/libiconv"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz \
-           file://usb-devices-avoid-dependency-on-bash.patch \
-           file://Fix-NULL-pointer-crash.patch \
-           file://iconv.patch \
-          "
-
-SRC_URI[md5sum] = "be6c42294be5c940f208190d3479d50c"
-SRC_URI[sha256sum] = "e65c234cadf7c81b6b1567c440e3b9b31b44f51c27df3e45741b88848d8b37d3"
-
-inherit autotools gettext pkgconfig
-
-do_install_append() {
-	# We only need the compressed copy, remove the uncompressed version
-	rm -f ${D}${datadir}/usb.ids
-}
-
-PACKAGES += "${PN}-ids"
-FILES_${PN}-dev += "${datadir}/pkgconfig"
-FILES_${PN}-ids = "${datadir}/usb*"
-
-RDEPENDS_${PN} = "${PN}-ids"
meta/recipes-bsp/usbutils/usbutils_008.bb +1 -4
index 0f2d8d4..75312c3 100644
@@ -6,7 +6,7 @@ SECTION = "base"
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-DEPENDS = "libusb zlib virtual/libiconv systemd"
+DEPENDS = "libusb zlib virtual/libiconv udev"
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz \
            file://usb-devices-avoid-dependency-on-bash.patch \
@@ -18,9 +18,6 @@ SRC_URI[md5sum] = "cb20148c2e784577e924a7b4c560c8fb"
 SRC_URI[sha256sum] = "6d5f16c2961df37e22e492c736a3e162a8fde24480f23a40d85f79af80d3fe95"
 
 inherit autotools gettext pkgconfig distro_features_check
-# This version of usbutils relies on the udev from systemd, so unless 
-# we can decouple udev from system, we require systemd for now.
-REQUIRED_DISTRO_FEATURES = "systemd"
 
 FILES_${PN}-dev += "${datadir}/pkgconfig"
 
Signature · 1 line
2.6.2
#4 lore raw

PATCH 4/4 maintainers.inc: Add new eudev package and change maintainership for udev

In reply to a message not in the archive
---
 meta-yocto/conf/distro/include/maintainers.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta-yocto/conf/distro/include/maintainers.inc +1 -1
index 8fe87c8..a474b1f 100644
@@ -160,6 +160,7 @@ RECIPE_MAINTAINER_pn-enchant = "Maxin B. John <[email protected]>"
 RECIPE_MAINTAINER_pn-encodings = "Jussi Kukkonen <[email protected]>"
 RECIPE_MAINTAINER_pn-epiphany = "Alexander Kanavin <[email protected]>"
 RECIPE_MAINTAINER_pn-ethtool = "Maxin B. John <[email protected]>"
+RECIPE_MAINTAINER_pn-eudev = "Alejandro Hernandez <[email protected]>"
 RECIPE_MAINTAINER_pn-expat = "Jussi Kukkonen <[email protected]>"
 RECIPE_MAINTAINER_pn-file = "Robert Yang <[email protected]>"
 RECIPE_MAINTAINER_pn-findutils = "Chen Qi <[email protected]>"
@@ -663,7 +664,6 @@ RECIPE_MAINTAINER_pn-u-boot-fw-utils = "Denys Dmytriyenko <[email protected]>"
 RECIPE_MAINTAINER_pn-u-boot-mkimage = "Denys Dmytriyenko <[email protected]>"
 RECIPE_MAINTAINER_pn-ubootchart = "Ross Burton <[email protected]>"
 RECIPE_MAINTAINER_pn-uclibc = "Khem Raj <[email protected]>"
-RECIPE_MAINTAINER_pn-udev = "Maxin B. John <[email protected]>"
 RECIPE_MAINTAINER_pn-udev-extraconf = "Maxin B. John <[email protected]>"
 RECIPE_MAINTAINER_pn-unfs3 = "Randy Witt <[email protected]>"
 RECIPE_MAINTAINER_pn-unifdef = "Ross Burton <[email protected]>"
Signature · 1 line
2.6.2