[Buildroot] [PATCH v7 0/4] udev is now provided by systemd or eudev

Arnout Vandecappelle arnout at mind.be
Fri Feb 7 20:34:34 UTC 2014


On 07/02/14 14:21, Eric Le Bihan wrote:
> This series converts udev to a virtual package, either provided by systemd or
> eudev.
> 
> Starting with version 183, udev has been merged into systemd. This forces the
> use of systemd as the init system if /dev is to be dynamically managed by
> udev. eudev is a fork of udev, maintained by Gentoo, but isolated from
> systemd, so it can be used with any init system.
> 
> Systemd has been bumped to v207 and a new eudev package has been added.
> Version 1.3 of eudev is in sync with systemd v207.
> 
> The bump of systemd to v207 also introduces new options, like the activation
> of the journal gateway.
> 
> In the end:
> 
>   - if systemd is selected as init system, the /dev management will handled by
>     udev. No other choice possible.
>   - if busybox or SysV is chosen, the user can choose to manage /dev
>     statically, or dynamically using mdev or eudev.

 Hi Eric,

 I'm very happy with this patch series, it really cleans things up a lot.
I first had some reservations about how the choices were organised in the
menus, but after trying out a few things it turns out to work pretty well.

 I do agree with the comments Thomas has made, though. However, I
wouldn't want to stop this series to go into 2014.02-rc1, so I propose
that Peter still merges it for the release and that these small things
are fixed in follow-up patches.

 I have one more remark about the way the udev virtual package is
implemented. We found out for the opengl packages that there is a better
way to do it, something like:

udev/Config.in:

config BR2_PACKAGE_HAS_UDEV
        bool

config BR2_PACKAGE_PROVIDES_UDEV
        depends on BR2_PACKAGE_HAS_UDEV
        string


udev/udev.mk:

UDEV_SRC =
UDEV_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_UDEV))

ifeq ($(UDEV_DEPENDENCIES),)
define UDEV_CONFIGURE_CMDS
        echo "No Udev implementation selected. Configuration error."
        exit 1
endef
endif


eudev/Config.in:

...
if BR2_PACKAGE_EUDEV
config BR2_PACKAGE_PROVIDES_UDEV
	default "eudev"
endif



 That moves all the provider logic to the provider itself, which for
instance makes it possible for BR2_EXTERNAL to provide an alternative
udev implementation (e.g. a different udev version, which could be _very_
relevant).


 I repeat, though: this can be done as a follow-up patch.


 Regards,
 Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F


More information about the buildroot mailing list