[Buildroot] [PATCH v3] udev: bump to 177 and other fixes

Yegor Yefremov yegorslists at googlemail.com
Fri Jan 20 23:25:02 UTC 2012


On Fri, Jan 20, 2012 at 11:49 PM, Arnout Vandecappelle
(Essensium/Mind) <arnout at mind.be> wrote:
> From: "Arnout Vandecappelle (Essensium/Mind)" <arnout at mind.be>
>
> Changes:
> - Linux kernel requirement: 2.6.34 and above (devtmpfs is mandatory)
> - optional dependency on libusb and usbutils removed
> - added dependency on kmod
> - added dependency on util-linux for libblkid
> - install in /lib/udev instead of /usr/libexec/udev
> - udevd moved to /lib/udev
> - fixed path to pci.ids and usb.ids
> - persistent rules generator is disabled by default, so option
> is introduced to enable this option if desired
>
> Signed-off-by: Yegor Yefremov <yegorslists at googlemail.com>
> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
>
> ---
> Changes:
> v3: less aggressive dependencies and small fixes (Arnout Vandecappelle)
> v2: fix dependencies and make verbose commit message (review by Arnout Vandecappelle)
> v1: initial (Yegor Yefremov)
> ---
>  package/udev/Config.in   |   26 +++++++++++++++++---------
>  package/udev/S10udev     |    4 ++--
>  package/udev/udev.mk     |   20 ++++++++++++--------
>  target/generic/Config.in |    2 ++
>  4 files changed, 33 insertions(+), 19 deletions(-)
>
> diff --git a/package/udev/Config.in b/package/udev/Config.in
> index 391c718..dfb4f0d 100644
> --- a/package/udev/Config.in
> +++ b/package/udev/Config.in
> @@ -1,31 +1,39 @@
>  config BR2_PACKAGE_UDEV
>        bool "udev"
>        depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
> +       depends on BR2_LARGEFILE # util-linux
> +       depends on BR2_USE_WCHAR # util-linux
> +       select BR2_PACKAGE_UTIL_LINUX
> +       select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
> +       select BR2_PACKAGE_KMOD
>        help
>          Userspace device daemon.
>
> +         udev requires a Linux kernel >= 2.6.34: it relies on devtmpfs.
> +
>          ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/
>
>  if BR2_PACKAGE_UDEV
>
> +config BR2_PACKAGE_UDEV_RULES_GEN
> +       bool "enable rules generator"
> +       help
> +         Enable persistant rules generator
> +
>  config BR2_PACKAGE_UDEV_ALL_EXTRAS
>        bool "enable all extras"
> -       depends on BR2_LARGEFILE # acl
> -       depends on BR2_USE_WCHAR # libglib2
>        select BR2_PACKAGE_ACL
> -       select BR2_PACKAGE_LIBUSB
> -       select BR2_PACKAGE_LIBUSB_COMPAT
> -       select BR2_PACKAGE_USBUTILS
>        select BR2_PACKAGE_HWDATA
>        select BR2_PACKAGE_LIBGLIB2
>        help
>          Enable all extras with external dependencies like
> -         libacl, libusb, libusb-compat, usbutils, hwdata
> -
> -comment "udev extras requires a toolchain with LARGEFILE + WCHAR support"
> -       depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
> +         libacl, hwdata and libglib2
>
>  endif
>
>  comment "udev requires /dev mgmnt set to udev under System configuration"
>        depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
> +
> +comment "udev requires a toolchain with LARGEFILE + WCHAR support"
> +    depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
> +
> diff --git a/package/udev/S10udev b/package/udev/S10udev
> index 29eb107..70a7c34 100755
> --- a/package/udev/S10udev
> +++ b/package/udev/S10udev
> @@ -2,7 +2,7 @@
>  #
>  # udev This is a minimal non-LSB version of a UDEV startup script.  It
>  #      was derived by stripping down the udev-058 LSB version for use
> -#      with buildroot on embedded hardware using Linux 2.6.12+ kernels.
> +#      with buildroot on embedded hardware using Linux 2.6.34+ kernels.
>  #
>  #      You may need to customize this for your system's resource limits
>  #      (including startup time!) and administration.  For example, if
> @@ -17,7 +17,7 @@
>  #
>
>  # Check for missing binaries
> -UDEV_BIN=/sbin/udevd
> +UDEV_BIN=/lib/udev/udevd
>  test -x $UDEV_BIN || exit 5
>
>  # Check for config file and read it
> diff --git a/package/udev/udev.mk b/package/udev/udev.mk
> index 1825396..1c5d936 100644
> --- a/package/udev/udev.mk
> +++ b/package/udev/udev.mk
> @@ -3,7 +3,7 @@
>  # udev
>  #
>  #############################################################
> -UDEV_VERSION = 173
> +UDEV_VERSION = 177
>  UDEV_SOURCE = udev-$(UDEV_VERSION).tar.bz2
>  UDEV_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/hotplug/
>  UDEV_INSTALL_STAGING = YES
> @@ -11,20 +11,24 @@ UDEV_INSTALL_STAGING = YES
>  UDEV_CONF_OPT =                        \
>        --sbindir=/sbin         \
>        --with-rootlibdir=/lib  \
> -       --libexecdir=/lib/udev  \
> +       --libexecdir=/lib       \
> +       --with-usb-ids-path=/usr/share/hwdata/usb.ids   \
> +       --with-pci-ids-path=/usr/share/hwdata/pci.ids   \
> +       --with-firmware-path=/lib/firmware              \
>        --disable-introspection
>
> -UDEV_DEPENDENCIES = host-gperf host-pkg-config
> +UDEV_DEPENDENCIES = host-gperf host-pkg-config util-linux kmod
> +
> +ifeq ($(BR2_PACKAGE_UDEV_RULES_GEN),y)
> +UDEV_CONF_OPT += --enable-rule_generator
> +endif
>
>  ifeq ($(BR2_PACKAGE_UDEV_ALL_EXTRAS),y)
> -UDEV_DEPENDENCIES += libusb libusb-compat acl usbutils hwdata libglib2
> -UDEV_CONF_OPT +=                                                       \
> -       --with-pci-ids-path=$(TARGET_DIR)/usr/share/hwdata/pci.ids      \
> -       --with-usb-ids-path=$(TARGET_DIR)/usr/share/hwdata/usb.ids      \
> +UDEV_DEPENDENCIES += acl usbutils hwdata libglib2
> +UDEV_CONF_OPT +=               \
>        --enable-udev_acl
>  else
>  UDEV_CONF_OPT +=               \
> -       --disable-hwdb          \
>        --disable-gudev
>  endif
>
> diff --git a/target/generic/Config.in b/target/generic/Config.in
> index a91de32..5334a4b 100644
> --- a/target/generic/Config.in
> +++ b/target/generic/Config.in
> @@ -28,6 +28,8 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
>
>  config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
>        bool "Dynamic using udev"
> +       depends on BR2_LARGEFILE # udev
> +       depends on BR2_USE_WCHAR # udev
>        select BR2_PACKAGE_UDEV
>
>  endchoice
> --
> 1.7.8.3
>

Thanks for the review. The stuff is really tricky. I'll test this
patch on Mo, when I'm in office.

The most thing I like about the latest version, is that rule generator
is disabled by default. I still don't really understand what is it
good for? In my everyday usage, where I have one image that I'm
running on different hosts, it is only disturbing, cause I always have
different network interfaces. I hope distros will disable this stuff
and make a description on how to activate it if needed.

Yegor



More information about the buildroot mailing list