* [Buildroot] [PATCH v6 1/5] sysvinit: depend on SysV selected as init system.
2014-01-13 15:45 [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev Eric Le Bihan
@ 2014-01-13 15:45 ` Eric Le Bihan
2014-01-13 22:35 ` Peter Korsgaard
2014-01-13 15:45 ` [Buildroot] [PATCH v6 2/5] eudev: new package Eric Le Bihan
` (5 subsequent siblings)
6 siblings, 1 reply; 22+ messages in thread
From: Eric Le Bihan @ 2014-01-13 15:45 UTC (permalink / raw)
To: buildroot
In order to prevent sysvinit and systemd to be selected at the same
time, sysvinit can now only be selected if SysV is chosen as init
system.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
package/sysvinit/Config.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/sysvinit/Config.in b/package/sysvinit/Config.in
index 34ec391..d91c643 100644
--- a/package/sysvinit/Config.in
+++ b/package/sysvinit/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_SYSVINIT
bool "sysvinit"
+ depends on BR2_INIT_SYSV
help
/sbin/init - parent of all processes
--
1.7.9.5
^ permalink raw reply related [flat|nested] 22+ messages in thread* [Buildroot] [PATCH v6 2/5] eudev: new package.
2014-01-13 15:45 [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev Eric Le Bihan
2014-01-13 15:45 ` [Buildroot] [PATCH v6 1/5] sysvinit: depend on SysV selected as init system Eric Le Bihan
@ 2014-01-13 15:45 ` Eric Le Bihan
2014-02-03 20:51 ` Thomas De Schampheleire
2014-01-13 15:45 ` [Buildroot] [PATCH v6 3/5] udev: convert to virtual package Eric Le Bihan
` (4 subsequent siblings)
6 siblings, 1 reply; 22+ messages in thread
From: Eric Le Bihan @ 2014-01-13 15:45 UTC (permalink / raw)
To: buildroot
eudev is a userspace device management daemon. It is a standalone
version, independent from systemd. It is a fork maintained by Gentoo.
Features:
- No extra configuration options are available: Gudev is build if
libglib2 is selected.
- No dependency on hwdata as the package uses its own hardware
database (as does systemd).
eudev 1.3 is in sync with systemd v207.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
linux/linux.mk | 2 +-
package/Config.in | 1 +
package/eudev/Config.in | 37 ++++++++++++++++++++++++++++++
package/{udev => eudev}/S10udev | 2 +-
package/eudev/eudev.mk | 48 +++++++++++++++++++++++++++++++++++++++
system/Config.in | 15 ++++++++++++
6 files changed, 103 insertions(+), 2 deletions(-)
create mode 100644 package/eudev/Config.in
copy package/{udev => eudev}/S10udev (98%)
create mode 100644 package/eudev/eudev.mk
diff --git a/linux/linux.mk b/linux/linux.mk
index ab25fe9..17365a0 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -185,7 +185,7 @@ define LINUX_CONFIGURE_CMDS
$(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config))
$(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV),
$(call KCONFIG_SET_OPT,CONFIG_UEVENT_HELPER_PATH,\"/sbin/mdev\",$(@D)/.config))
- $(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),
+ $(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV),
$(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config))
$(if $(BR2_PACKAGE_KTAP),
$(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS,$(@D)/.config)
diff --git a/package/Config.in b/package/Config.in
index aac6f02..e37b33c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -279,6 +279,7 @@ source "package/dmraid/Config.in"
source "package/dvb-apps/Config.in"
source "package/dvbsnoop/Config.in"
source "package/eeprog/Config.in"
+source "package/eudev/Config.in"
source "package/evemu/Config.in"
source "package/evtest/Config.in"
source "package/fan-ctrl/Config.in"
diff --git a/package/eudev/Config.in b/package/eudev/Config.in
new file mode 100644
index 0000000..b3462d5
--- /dev/null
+++ b/package/eudev/Config.in
@@ -0,0 +1,37 @@
+config BR2_PACKAGE_EUDEV
+ bool "eudev"
+ depends on !BR2_avr32 # no epoll_create1
+ depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
+ depends on BR2_LARGEFILE # util-linux
+ depends on BR2_USE_WCHAR # util-linux
+ depends on !BR2_PREFER_STATIC_LIB # kmod
+ select BR2_PACKAGE_UTIL_LINUX
+ select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
+ select BR2_PACKAGE_KMOD
+ help
+ Userspace device daemon. This is a standalone version,
+ independent of systemd. It is a fork maintained by Gentoo.
+
+ eudev requires a Linux kernel >= 2.6.34: it relies on devtmpfs
+ and inotify.
+
+ http://github.com/gentoo/eudev/
+
+if BR2_PACKAGE_EUDEV
+
+config BR2_PACKAGE_EUDEV_RULES_GEN
+ bool "enable rules generator"
+ help
+ Enable persistant rules generator
+
+endif
+
+comment "eudev needs /dev management set to eudev"
+ depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
+
+comment "eudev needs a toolchain w/ largefile, wchar"
+ depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
+
+comment "eudev needs a toolchain w/ dynamic library"
+ depends on BR2_avr32
+ depends on BR2_PREFER_STATIC_LIB
diff --git a/package/udev/S10udev b/package/eudev/S10udev
similarity index 98%
copy from package/udev/S10udev
copy to package/eudev/S10udev
index 2c7b7e9..e4d28a2 100755
--- a/package/udev/S10udev
+++ b/package/eudev/S10udev
@@ -17,7 +17,7 @@
#
# Check for missing binaries
-UDEV_BIN=/lib/udev/udevd
+UDEV_BIN=/sbin/udevd
test -x $UDEV_BIN || exit 5
# Check for config file and read it
diff --git a/package/eudev/eudev.mk b/package/eudev/eudev.mk
new file mode 100644
index 0000000..aac37e7
--- /dev/null
+++ b/package/eudev/eudev.mk
@@ -0,0 +1,48 @@
+################################################################################
+#
+# eudev
+#
+################################################################################
+
+EUDEV_VERSION = 1.3
+EUDEV_SITE = https://github.com/gentoo/eudev/archive/
+EUDEV_SOURCE = v$(EUDEV_VERSION).tar.gz
+EUDEV_LICENSE = GPLv2+
+EUDEV_LICENSE_FILES = COPYING
+EUDEV_INSTALL_STAGING = YES
+EUDEV_AUTORECONF = YES
+
+# mq_getattr is in librt
+EUDEV_CONF_ENV += LIBS=-lrt
+
+EUDEV_CONF_OPT = \
+ --sbindir=/sbin \
+ --with-rootlibdir=/lib \
+ --libexecdir=/lib \
+ --with-firmware-path=/lib/firmware \
+ --disable-introspection \
+ --enable-split-usr \
+ --enable-libkmod
+
+EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod
+
+ifeq ($(BR2_PACKAGE_EUDEV_RULES_GEN),y)
+EUDEV_CONF_OPT += --enable-rule_generator
+endif
+
+ifeq ($(BR2_LARGEFILE),)
+EUDEV_CONF_OPT += --disable-largefile
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
+EUDEV_CONF_OPT += --enable-gudev
+EUDEV_DEPENDENCIES += libglib2
+else
+EUDEV_CONF_OPT += --disable-gudev
+endif
+
+define EUDEV_INSTALL_INIT_SYSV
+ $(INSTALL) -m 0755 package/eudev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
+endef
+
+$(eval $(autotools-package))
diff --git a/system/Config.in b/system/Config.in
index 8288335..7f4d851 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -136,6 +136,21 @@ comment "udev doesn't work with 'prefer static libraries'"
depends on !BR2_avr32 # udev
depends on BR2_PREFER_STATIC_LIB
+config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
+ bool "Dynamic using eudev"
+ depends on !BR2_avr32 # eudev
+ depends on BR2_LARGEFILE
+ depends on BR2_USE_WCHAR
+ depends on !BR2_PREFER_STATIC_LIB
+ select BR2_PACKAGE_EUDEV
+
+comment "eudev needs a toolchain w/ largefile, wchar"
+ depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
+
+comment "eudev needs a toolchain w/ dynamic library"
+ depends on BR2_avr32 # eudev
+ depends on BR2_PREFER_STATIC_LIB
+
endchoice
config BR2_ROOTFS_DEVICE_TABLE
--
1.7.9.5
^ permalink raw reply related [flat|nested] 22+ messages in thread* [Buildroot] [PATCH v6 2/5] eudev: new package.
2014-01-13 15:45 ` [Buildroot] [PATCH v6 2/5] eudev: new package Eric Le Bihan
@ 2014-02-03 20:51 ` Thomas De Schampheleire
0 siblings, 0 replies; 22+ messages in thread
From: Thomas De Schampheleire @ 2014-02-03 20:51 UTC (permalink / raw)
To: buildroot
Hi Eric,
On Mon, Jan 13, 2014 at 4:45 PM, Eric Le Bihan
<eric.le.bihan.dev@free.fr> wrote:
> eudev is a userspace device management daemon. It is a standalone
> version, independent from systemd. It is a fork maintained by Gentoo.
>
> Features:
>
> - No extra configuration options are available: Gudev is build if
> libglib2 is selected.
> - No dependency on hwdata as the package uses its own hardware
> database (as does systemd).
>
> eudev 1.3 is in sync with systemd v207.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
> linux/linux.mk | 2 +-
> package/Config.in | 1 +
> package/eudev/Config.in | 37 ++++++++++++++++++++++++++++++
> package/{udev => eudev}/S10udev | 2 +-
> package/eudev/eudev.mk | 48 +++++++++++++++++++++++++++++++++++++++
> system/Config.in | 15 ++++++++++++
> 6 files changed, 103 insertions(+), 2 deletions(-)
> create mode 100644 package/eudev/Config.in
> copy package/{udev => eudev}/S10udev (98%)
> create mode 100644 package/eudev/eudev.mk
We are targeting to integrate your patches Very Soon Now... (jay!)
Below are a number of minor comments that should be fixed before that, though.
>
> diff --git a/linux/linux.mk b/linux/linux.mk
> index ab25fe9..17365a0 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -185,7 +185,7 @@ define LINUX_CONFIGURE_CMDS
> $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config))
> $(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV),
> $(call KCONFIG_SET_OPT,CONFIG_UEVENT_HELPER_PATH,\"/sbin/mdev\",$(@D)/.config))
> - $(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),
> + $(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV),
To be correct, this change should not be in this patch like that: udev
still exists, so the above should actually duplicate the
enable-inotify line for both udev ?nd eudev, right?
> $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config))
> $(if $(BR2_PACKAGE_KTAP),
> $(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS,$(@D)/.config)
> diff --git a/package/Config.in b/package/Config.in
> index aac6f02..e37b33c 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -279,6 +279,7 @@ source "package/dmraid/Config.in"
> source "package/dvb-apps/Config.in"
> source "package/dvbsnoop/Config.in"
> source "package/eeprog/Config.in"
> +source "package/eudev/Config.in"
> source "package/evemu/Config.in"
> source "package/evtest/Config.in"
> source "package/fan-ctrl/Config.in"
> diff --git a/package/eudev/Config.in b/package/eudev/Config.in
> new file mode 100644
> index 0000000..b3462d5
> --- /dev/null
> +++ b/package/eudev/Config.in
> @@ -0,0 +1,37 @@
> +config BR2_PACKAGE_EUDEV
> + bool "eudev"
> + depends on !BR2_avr32 # no epoll_create1
> + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
> + depends on BR2_LARGEFILE # util-linux
> + depends on BR2_USE_WCHAR # util-linux
> + depends on !BR2_PREFER_STATIC_LIB # kmod
> + select BR2_PACKAGE_UTIL_LINUX
> + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
> + select BR2_PACKAGE_KMOD
> + help
> + Userspace device daemon. This is a standalone version,
> + independent of systemd. It is a fork maintained by Gentoo.
> +
> + eudev requires a Linux kernel >= 2.6.34: it relies on devtmpfs
> + and inotify.
> +
> + http://github.com/gentoo/eudev/
> +
> +if BR2_PACKAGE_EUDEV
> +
> +config BR2_PACKAGE_EUDEV_RULES_GEN
> + bool "enable rules generator"
> + help
> + Enable persistant rules generator
persistent
(in fact: this same problem is present in the current package/udev/Config.in)
> +
> +endif
> +
> +comment "eudev needs /dev management set to eudev"
> + depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
This string should be:
"eudev needs eudev /dev management"
in analogy with the udev comment, as specified in:
http://nightly.buildroot.org/manual.html#_literal_config_in_literal_file
> +
> +comment "eudev needs a toolchain w/ largefile, wchar"
> + depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
> +
> +comment "eudev needs a toolchain w/ dynamic library"
> + depends on BR2_avr32
> + depends on BR2_PREFER_STATIC_LIB
These three comments should be merged into one comment. This unified
comment should depend on !BR2_avr32 (common base dependency, see
manual). Have a look at the current package/udev/Config.in file.
> diff --git a/package/udev/S10udev b/package/eudev/S10udev
> similarity index 98%
> copy from package/udev/S10udev
> copy to package/eudev/S10udev
> index 2c7b7e9..e4d28a2 100755
> --- a/package/udev/S10udev
> +++ b/package/eudev/S10udev
> @@ -17,7 +17,7 @@
> #
>
> # Check for missing binaries
> -UDEV_BIN=/lib/udev/udevd
> +UDEV_BIN=/sbin/udevd
> test -x $UDEV_BIN || exit 5
>
> # Check for config file and read it
> diff --git a/package/eudev/eudev.mk b/package/eudev/eudev.mk
> new file mode 100644
> index 0000000..aac37e7
> --- /dev/null
> +++ b/package/eudev/eudev.mk
> @@ -0,0 +1,48 @@
> +################################################################################
> +#
> +# eudev
> +#
> +################################################################################
> +
> +EUDEV_VERSION = 1.3
> +EUDEV_SITE = https://github.com/gentoo/eudev/archive/
> +EUDEV_SOURCE = v$(EUDEV_VERSION).tar.gz
This should be replaced by the new github helper.
> +EUDEV_LICENSE = GPLv2+
The eudev package also contains libudev, gudev, that seem to be
LGPLv2.1+, so the above license statement should be expanded with some
more detail (if possible indicating which parts are GPL and which are
LGPL).
> +EUDEV_LICENSE_FILES = COPYING
Even though eudev has LGPL components, there is no COPYING.LIB (or
equivalent) file. Ideally, this should be discussed with the eudev
maintainers...
> +EUDEV_INSTALL_STAGING = YES
> +EUDEV_AUTORECONF = YES
Please don't align the = signs in .mk files (it used to be in the
manual but I removed that :) )
> +
> +# mq_getattr is in librt
> +EUDEV_CONF_ENV += LIBS=-lrt
> +
> +EUDEV_CONF_OPT = \
> + --sbindir=/sbin \
> + --with-rootlibdir=/lib \
> + --libexecdir=/lib \
> + --with-firmware-path=/lib/firmware \
> + --disable-introspection \
> + --enable-split-usr \
> + --enable-libkmod
> +
> +EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod
> +
> +ifeq ($(BR2_PACKAGE_EUDEV_RULES_GEN),y)
> +EUDEV_CONF_OPT += --enable-rule_generator
> +endif
> +
> +ifeq ($(BR2_LARGEFILE),)
> +EUDEV_CONF_OPT += --disable-largefile
> +endif
I don't think this check is needed: it is done by default in the
autotools infrastructure (see package/Makefile.in)
> +
> +ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
> +EUDEV_CONF_OPT += --enable-gudev
> +EUDEV_DEPENDENCIES += libglib2
> +else
> +EUDEV_CONF_OPT += --disable-gudev
> +endif
> +
> +define EUDEV_INSTALL_INIT_SYSV
> + $(INSTALL) -m 0755 package/eudev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
> +endef
> +
> +$(eval $(autotools-package))
> diff --git a/system/Config.in b/system/Config.in
> index 8288335..7f4d851 100644
> --- a/system/Config.in
> +++ b/system/Config.in
> @@ -136,6 +136,21 @@ comment "udev doesn't work with 'prefer static libraries'"
> depends on !BR2_avr32 # udev
> depends on BR2_PREFER_STATIC_LIB
>
> +config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
> + bool "Dynamic using eudev"
> + depends on !BR2_avr32 # eudev
> + depends on BR2_LARGEFILE
> + depends on BR2_USE_WCHAR
> + depends on !BR2_PREFER_STATIC_LIB
> + select BR2_PACKAGE_EUDEV
> +
> +comment "eudev needs a toolchain w/ largefile, wchar"
> + depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
> +
> +comment "eudev needs a toolchain w/ dynamic library"
> + depends on BR2_avr32 # eudev
> + depends on BR2_PREFER_STATIC_LIB
Same comments about the 'comment's here: merge into one, and the avr32
should be negated.
> +
> endchoice
>
> config BR2_ROOTFS_DEVICE_TABLE
> --
Best regards,
Thomas
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v6 3/5] udev: convert to virtual package.
2014-01-13 15:45 [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev Eric Le Bihan
2014-01-13 15:45 ` [Buildroot] [PATCH v6 1/5] sysvinit: depend on SysV selected as init system Eric Le Bihan
2014-01-13 15:45 ` [Buildroot] [PATCH v6 2/5] eudev: new package Eric Le Bihan
@ 2014-01-13 15:45 ` Eric Le Bihan
2014-02-03 21:41 ` Thomas De Schampheleire
2014-02-04 8:47 ` Samuel Martin
2014-01-13 15:45 ` [Buildroot] [PATCH v6 4/5] systemd: bump to v207 Eric Le Bihan
` (3 subsequent siblings)
6 siblings, 2 replies; 22+ messages in thread
From: Eric Le Bihan @ 2014-01-13 15:45 UTC (permalink / raw)
To: buildroot
This patch converts udev to a virtual package. For the moment, there is only
one provider for the udev features: eudev.
Packages meant to provide udev-like features must select the symbol
BR2_PACKAGE_HAS_UDEV.
Packages depending on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV or
BR2_PACKAGE_UDEV have been converted to use the new symbol.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
Config.in.legacy | 8 ++++
docs/manual/adding-packages-directory.txt | 3 +-
package/ccid/ccid.mk | 2 +-
package/eudev/Config.in | 1 +
package/gpsd/gpsd.mk | 2 +-
package/libatasmart/Config.in | 4 +-
package/libcec/libcec.mk | 2 +-
package/libdrm/libdrm.mk | 2 +-
package/libmbim/Config.in | 5 +-
package/modem-manager/Config.in | 6 +--
package/network-manager/Config.in | 8 ++--
package/ofono/ofono.mk | 2 +-
package/pcsc-lite/Config.in | 2 +-
package/pcsc-lite/pcsc-lite.mk | 2 +-
package/pulseaudio/pulseaudio.mk | 2 +-
package/systemd/Config.in | 6 +--
package/udev/Config.in | 49 +-------------------
package/udev/udev.mk | 49 ++++----------------
package/udisks/Config.in | 8 ++--
package/usbmount/Config.in | 4 +-
package/weston/Config.in | 4 +-
package/x11r7/xdriver_xf86-input-evdev/Config.in | 4 +-
.../xserver_xorg-server/xserver_xorg-server.mk | 2 +-
package/xenomai/xenomai.mk | 2 +-
system/Config.in | 22 ++-------
25 files changed, 55 insertions(+), 146 deletions(-)
diff --git a/Config.in.legacy b/Config.in.legacy
index 01bf16b..5d80842 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -235,6 +235,14 @@ config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION_WRAP
# Note: BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION is still referenced from
# linux/Config.in
+config BR2_PACKAGE_UDEV
+ bool "udev is now a virtual package"
+ select BR2_PACKAGE_HAS_UDEV
+ help
+ The 'udev' package is now a virtual package. It is
+ currently only provided by 'eudev'.
+
+
###############################################################################
comment "Legacy options removed in 2013.08"
diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt
index 754a145..40af809 100644
--- a/docs/manual/adding-packages-directory.txt
+++ b/docs/manual/adding-packages-directory.txt
@@ -273,8 +273,7 @@ foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built
Dependencies on udev /dev management
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If a package needs udev /dev management, it should depend on symbol
-+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV+, and the following comment
-should be added:
++BR2_PACKAGE_HAS_UDEV+, and the following comment should be added:
--------------------------
foo needs udev /dev management
diff --git a/package/ccid/ccid.mk b/package/ccid/ccid.mk
index f39edce..b635aa1 100644
--- a/package/ccid/ccid.mk
+++ b/package/ccid/ccid.mk
@@ -12,7 +12,7 @@ CCID_LICENSE_FILES = COPYING
CCID_INSTALL_STAGING = YES
CCID_DEPENDENCIES = pcsc-lite host-pkgconf libusb
-ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
define CCID_INSTALL_UDEV_RULES
if test -d $(TARGET_DIR)/etc/udev/rules.d ; then \
cp $(@D)/src/92_pcscd_ccid.rules $(TARGET_DIR)/etc/udev/rules.d/ ; \
diff --git a/package/eudev/Config.in b/package/eudev/Config.in
index b3462d5..cbd1c77 100644
--- a/package/eudev/Config.in
+++ b/package/eudev/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_EUDEV
depends on BR2_LARGEFILE # util-linux
depends on BR2_USE_WCHAR # util-linux
depends on !BR2_PREFER_STATIC_LIB # kmod
+ select BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_KMOD
diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk
index efc8d37..0f655ba 100644
--- a/package/gpsd/gpsd.mk
+++ b/package/gpsd/gpsd.mk
@@ -222,7 +222,7 @@ define GPSD_INSTALL_STAGING_CMDS
install)
endef
-ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
define GPSD_INSTALL_UDEV_RULES
(cd $(@D); \
$(GPSD_SCONS_ENV) \
diff --git a/package/libatasmart/Config.in b/package/libatasmart/Config.in
index a3e44f8..534e7c1 100644
--- a/package/libatasmart/Config.in
+++ b/package/libatasmart/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_LIBATASMART
bool "libatasmart"
- depends on BR2_PACKAGE_UDEV # libudev is configure dependency
+ depends on BR2_PACKAGE_HAS_UDEV # libudev is configure dependency
help
The libatasmart package is a disk reporting library.
It only supports a subset of the ATA S.M.A.R.T. functionality.
@@ -8,4 +8,4 @@ config BR2_PACKAGE_LIBATASMART
http://www.linuxfromscratch.org/blfs/view/svn/general/libatasmart.html
comment "libatasmart requires udev to be enabled"
- depends on !BR2_PACKAGE_UDEV
+ depends on !BR2_PACKAGE_HAS_UDEV
diff --git a/package/libcec/libcec.mk b/package/libcec/libcec.mk
index 910f319..99cc767 100644
--- a/package/libcec/libcec.mk
+++ b/package/libcec/libcec.mk
@@ -18,7 +18,7 @@ ifeq ($(BR2_PACKAGE_LOCKDEV),y)
LIBCEC_DEPENDENCIES += lockdev
endif
-ifeq ($(BR2_PACKAGE_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
LIBCEC_DEPENDENCIES += udev
endif
diff --git a/package/libdrm/libdrm.mk b/package/libdrm/libdrm.mk
index f5efaf1..a1b0580 100644
--- a/package/libdrm/libdrm.mk
+++ b/package/libdrm/libdrm.mk
@@ -65,7 +65,7 @@ else
LIBDRM_CONF_OPT += --disable-freedreno-experimental-api
endif
-ifeq ($(BR2_PACKAGE_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
LIBDRM_CONF_OPT += --enable-udev
LIBDRM_DEPENDENCIES += udev
else
diff --git a/package/libmbim/Config.in b/package/libmbim/Config.in
index d034e84..bd34dd4 100644
--- a/package/libmbim/Config.in
+++ b/package/libmbim/Config.in
@@ -2,9 +2,8 @@ config BR2_PACKAGE_LIBMBIM
bool "libmbim"
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_LIBGLIB2
- select BR2_PACKAGE_UDEV_ALL_EXTRAS
help
libmbim is a glib-based library for talking to WWAN modems and
devices which speak the Mobile Interface Broadband Model (MBIM)
@@ -14,4 +13,4 @@ config BR2_PACKAGE_LIBMBIM
comment "libmbim needs udev /dev management and a toolchain w/ wchar, threads"
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ !BR2_PACKAGE_HAS_UDEV
diff --git a/package/modem-manager/Config.in b/package/modem-manager/Config.in
index e157ca8..fe60850 100644
--- a/package/modem-manager/Config.in
+++ b/package/modem-manager/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_MODEM_MANAGER
bool "modemmanager"
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_DBUS
depends on BR2_INET_IPV6
depends on BR2_LARGEFILE # acl
@@ -8,8 +8,6 @@ config BR2_PACKAGE_MODEM_MANAGER
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
depends on BR2_USE_MMU # dbus
select BR2_PACKAGE_DBUS_GLIB
- select BR2_PACKAGE_UDEV
- select BR2_PACKAGE_UDEV_ALL_EXTRAS
help
ModemManager is a DBus-activated daemon which controls mobile
broadband (2G/3G/4G) devices and connections.
@@ -33,4 +31,4 @@ endif
comment "modemmanager needs udev /dev management and a toolchain w/ largefile, wchar, threads, IPv6"
depends on !BR2_INET_IPV6 || !BR2_LARGEFILE || !BR2_USE_WCHAR || \
- !BR2_TOOLCHAIN_HAS_THREADS || !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_HAS_UDEV
diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
index a194433..a4eeeaf 100644
--- a/package/network-manager/Config.in
+++ b/package/network-manager/Config.in
@@ -1,16 +1,14 @@
config BR2_PACKAGE_NETWORK_MANAGER
bool "NetworkManager"
depends on !BR2_avr32 # udev
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
- select BR2_PACKAGE_DBUS
depends on BR2_INET_IPV6
depends on BR2_LARGEFILE # acl
depends on BR2_USE_WCHAR # libglib2 and gnutls
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
depends on BR2_USE_MMU # dbus
+ depends on BR2_PACKAGE_HAS_UDEV
+ select BR2_PACKAGE_DBUS
select BR2_PACKAGE_DBUS_GLIB
- select BR2_PACKAGE_UDEV
- select BR2_PACKAGE_UDEV_ALL_EXTRAS
select BR2_PACKAGE_GNUTLS
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_LIBNL
@@ -33,4 +31,4 @@ comment "NetworkManager needs udev /dev management and a toolchain w/ IPv6, larg
depends on BR2_USE_MMU
depends on !BR2_INET_IPV6 || !BR2_LARGEFILE || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ !BR2_PACKAGE_HAS_UDEV
diff --git a/package/ofono/ofono.mk b/package/ofono/ofono.mk
index aaaa8fa..9e30c63 100644
--- a/package/ofono/ofono.mk
+++ b/package/ofono/ofono.mk
@@ -22,7 +22,7 @@ OFONO_CONF_OPT = --disable-test
# make sure that it is defined.
OFONO_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
-ifeq ($(BR2_PACKAGE_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
OFONO_CONF_OPT += --enable-udev
OFONO_DEPENDENCIES += udev
else
diff --git a/package/pcsc-lite/Config.in b/package/pcsc-lite/Config.in
index 4cd89e9..aab42e8 100644
--- a/package/pcsc-lite/Config.in
+++ b/package/pcsc-lite/Config.in
@@ -11,7 +11,7 @@ if BR2_PACKAGE_PCSC_LITE
config BR2_PACKAGE_PCSC_LITE_FORCE_LIBUSB
bool "use libusb"
- depends on !BR2_PACKAGE_UDEV
+ depends on !BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_LIBUSB
help
Select Y if you want to support usb smart card readers.
diff --git a/package/pcsc-lite/pcsc-lite.mk b/package/pcsc-lite/pcsc-lite.mk
index afbe822..18859cd 100644
--- a/package/pcsc-lite/pcsc-lite.mk
+++ b/package/pcsc-lite/pcsc-lite.mk
@@ -16,7 +16,7 @@ PCSC_LITE_LICENSE_FILES = COPYING
# - libudev and libusb can't be used together
# - libudev has a priority over libusb
-ifeq ($(BR2_PACKAGE_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
PCSC_LITE_CONF_OPT += --enable-libudev --disable-libusb
PCSC_LITE_DEPENDENCIES += udev
else
diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk
index cdeabc5..3fd3cd9 100644
--- a/package/pulseaudio/pulseaudio.mk
+++ b/package/pulseaudio/pulseaudio.mk
@@ -26,7 +26,7 @@ PULSEAUDIO_DEPENDENCIES = \
$(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \
$(if $(BR2_PACKAGE_DBUS),dbus) \
$(if $(BR2_PACKAGE_BLUEZ_UTILS),bluez_utils) \
- $(if $(BR2_PACKAGE_UDEV),udev) \
+ $(if $(BR2_PACKAGE_HAS_UDEV),udev) \
$(if $(BR2_PACKAGE_OPENSSL),openssl) \
$(if $(BR2_PACKAGE_FFTW),fftw) \
$(if $(BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING),webrtc-audio-processing) \
diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index fe81900..500e623 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_SYSTEMD
bool "systemd"
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
depends on BR2_INET_IPV6
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
depends on BR2_USE_MMU # dbus
@@ -18,7 +18,7 @@ config BR2_PACKAGE_SYSTEMD
http://freedesktop.org/wiki/Software/systemd
-comment "systemd needs udev /dev management and a toolchain w/ IPv6, threads"
+comment "systemd needs eudev /dev management and a toolchain w/ IPv6, threads"
depends on BR2_USE_MMU
- depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || !BR2_INET_IPV6 || \
+ depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV || !BR2_INET_IPV6 || \\
!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/udev/Config.in b/package/udev/Config.in
index 7aa79c4..1c9251b 100644
--- a/package/udev/Config.in
+++ b/package/udev/Config.in
@@ -1,47 +1,2 @@
-config BR2_PACKAGE_UDEV
- bool "udev"
- depends on !BR2_avr32 # no epoll_create1
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
- depends on BR2_LARGEFILE # util-linux
- depends on BR2_USE_WCHAR # util-linux
- depends on !BR2_PREFER_STATIC_LIB # kmod
- 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
- and inotify.
-
- 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"
- select BR2_PACKAGE_ACL
- select BR2_PACKAGE_HWDATA
- select BR2_PACKAGE_LIBGLIB2
- depends on BR2_USE_WCHAR # libglib2
- depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
- depends on BR2_USE_MMU # libglib2
- help
- Enable all extras with external dependencies like
- libacl, hwdata and libglib2
-
-comment "enabling all extras needs a toolchain w/ wchar, threads"
- depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
-
-endif
-
-comment "udev needs udev /dev management and a toolchain w/ largefile, wchar, dynamic library"
- depends on !BR2_avr32
- depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || \
- !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
+config BR2_PACKAGE_HAS_UDEV
+ bool
diff --git a/package/udev/udev.mk b/package/udev/udev.mk
index db86850..d274246 100644
--- a/package/udev/udev.mk
+++ b/package/udev/udev.mk
@@ -4,48 +4,17 @@
#
################################################################################
-UDEV_VERSION = 182
-UDEV_SOURCE = udev-$(UDEV_VERSION).tar.xz
-UDEV_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/hotplug/
-UDEV_LICENSE = GPLv2+
-UDEV_LICENSE_FILES = COPYING
-UDEV_INSTALL_STAGING = YES
+UDEV_SOURCE =
-# mq_getattr is in librt
-UDEV_CONF_ENV += LIBS=-lrt
-
-UDEV_CONF_OPT = \
- --sbindir=/sbin \
- --with-rootlibdir=/lib \
- --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-pkgconf 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 += acl hwdata libglib2
-UDEV_CONF_OPT += \
- --enable-udev_acl
-else
-UDEV_CONF_OPT += \
- --disable-gudev
+ifeq ($(BR2_PACKAGE_EUDEV),y)
+UDEV_DEPENDENCIES += eudev
endif
-ifeq ($(BR2_PACKAGE_SYSTEMD),y)
- UDEV_CONF_OPT += --with-systemdsystemunitdir=/lib/systemd/system/
-endif
-
-define UDEV_INSTALL_INITSCRIPT
- $(INSTALL) -m 0755 package/udev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
+ifeq ($(UDEV_DEPENDENCIES),)
+define UDEV_CONFIGURE_CMDS
+ echo "No Udev implementation selected. Configuration error."
+ exit 1
endef
+endif
-UDEV_POST_INSTALL_TARGET_HOOKS += UDEV_INSTALL_INITSCRIPT
-
-$(eval $(autotools-package))
+$(eval $(generic-package))
diff --git a/package/udisks/Config.in b/package/udisks/Config.in
index e9539a3..62d5598 100644
--- a/package/udisks/Config.in
+++ b/package/udisks/Config.in
@@ -1,11 +1,9 @@
config BR2_PACKAGE_UDISKS
bool "udisks"
depends on !BR2_avr32 # udev
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ depends on BR2_PACKAGE_HAS_UDEV
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-glib -> glib2
depends on BR2_USE_MMU # lvm2
- select BR2_PACKAGE_UDEV
- select BR2_PACKAGE_UDEV_ALL_EXTRAS
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_DBUS_GLIB
depends on BR2_USE_WCHAR # dbus-glib -> glib2
@@ -36,8 +34,8 @@ config BR2_PACKAGE_UDISKS_LVM2
endif
-comment "udisks needs udev /dev management and a toolchain w/ wchar, threads"
+comment "udisks needs udev /dev mgmnt, toolchain w/ wchar, threads"
depends on !BR2_avr32
depends on BR2_USE_MMU
- depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || \
+ depends on !BR2_PACKAGE_HAS_UDEV || \
!BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/usbmount/Config.in b/package/usbmount/Config.in
index 2583e7c..0bb8883 100644
--- a/package/usbmount/Config.in
+++ b/package/usbmount/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_USBMOUNT
bool "usbmount"
- depends on BR2_PACKAGE_UDEV
+ depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_LOCKFILE_PROGS
help
The usbmount package automatically mounts USB mass storage devices
@@ -9,4 +9,4 @@ config BR2_PACKAGE_USBMOUNT
http://usbmount.alioth.debian.org/
comment "usbmount requires udev to be enabled"
- depends on !BR2_PACKAGE_UDEV
+ depends on !BR2_PACKAGE_HAS_UDEV
diff --git a/package/weston/Config.in b/package/weston/Config.in
index 247efc8..36bbb01 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -1,6 +1,6 @@
comment "weston needs udev and a toolchain w/ threads"
depends on !BR2_avr32
- depends on !BR2_PACKAGE_UDEV || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_WESTON
bool "weston"
@@ -11,7 +11,7 @@ config BR2_PACKAGE_WESTON
select BR2_PACKAGE_LIBPNG
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_MTDEV
- depends on BR2_PACKAGE_UDEV
+ depends on BR2_PACKAGE_HAS_UDEV
depends on !BR2_avr32 # wayland
depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
# Runtime dependency
diff --git a/package/x11r7/xdriver_xf86-input-evdev/Config.in b/package/x11r7/xdriver_xf86-input-evdev/Config.in
index 88d3e6e..6ec14bf 100644
--- a/package/x11r7/xdriver_xf86-input-evdev/Config.in
+++ b/package/x11r7/xdriver_xf86-input-evdev/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV
bool "xf86-input-evdev"
- depends on BR2_PACKAGE_UDEV # libudev is configure dependency
+ depends on BR2_PACKAGE_HAS_UDEV # libudev is configure dependency
select BR2_PACKAGE_XPROTO_INPUTPROTO
select BR2_PACKAGE_XPROTO_RANDRPROTO
select BR2_PACKAGE_XPROTO_XPROTO
@@ -8,4 +8,4 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV
Generic Linux input driver
comment "xf86-input-evdev requires udev to be enabled"
- depends on !BR2_PACKAGE_UDEV
+ depends on !BR2_PACKAGE_HAS_UDEV
diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
index 4089aab..a7ac9a0 100644
--- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
+++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
@@ -123,7 +123,7 @@ XSERVER_XORG_SERVER_DEPENDENCIES += tslib
XSERVER_XORG_SERVER_CONF_OPT += --enable-tslib LDFLAGS="-lts"
endif
-ifeq ($(BR2_PACKAGE_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
XSERVER_XORG_SERVER_DEPENDENCIES += udev
XSERVER_XORG_SERVER_CONF_OPT += --enable-config-udev
else
diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk
index 2dd1bf6..4e9025d 100644
--- a/package/xenomai/xenomai.mk
+++ b/package/xenomai/xenomai.mk
@@ -93,7 +93,7 @@ define XENOMAI_DEVICES
/dev/rtp c 666 0 0 150 0 0 1 32
endef
-ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
XENOMAI_DEPENDENCIES += udev
define XENOMAI_INSTALL_UDEV_RULES
diff --git a/system/Config.in b/system/Config.in
index 7f4d851..18f27bf 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -89,17 +89,17 @@ config BR2_INIT_SYSTEMD
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR
depends on BR2_INET_IPV6
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_SYSTEMD
-comment 'systemd needs udev /dev management and a toolchain w/ largefile, wchar, IPv6, threads'
+comment 'systemd needs eudev /dev management and a toolchain w/ largefile, wchar, IPv6, threads'
depends on BR2_USE_MMU
depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && \
BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS && \
- BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV)
+ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV)
config BR2_INIT_NONE
bool "None"
@@ -120,22 +120,6 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
bool "Dynamic using mdev"
select BR2_PACKAGE_BUSYBOX
-config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
- bool "Dynamic using udev"
- depends on !BR2_avr32 # udev
- depends on BR2_LARGEFILE # udev
- depends on BR2_USE_WCHAR # udev
- depends on !BR2_PREFER_STATIC_LIB # udev -> kmod
- select BR2_PACKAGE_UDEV
-
-comment "udev needs a toolchain w/ largefile, wchar"
- depends on !BR2_avr32 # udev
- depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
-
-comment "udev doesn't work with 'prefer static libraries'"
- depends on !BR2_avr32 # udev
- depends on BR2_PREFER_STATIC_LIB
-
config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
bool "Dynamic using eudev"
depends on !BR2_avr32 # eudev
--
1.7.9.5
^ permalink raw reply related [flat|nested] 22+ messages in thread* [Buildroot] [PATCH v6 3/5] udev: convert to virtual package.
2014-01-13 15:45 ` [Buildroot] [PATCH v6 3/5] udev: convert to virtual package Eric Le Bihan
@ 2014-02-03 21:41 ` Thomas De Schampheleire
2014-02-04 12:10 ` Eric Le Bihan
2014-02-04 8:47 ` Samuel Martin
1 sibling, 1 reply; 22+ messages in thread
From: Thomas De Schampheleire @ 2014-02-03 21:41 UTC (permalink / raw)
To: buildroot
Hi Eric,
On Mon, Jan 13, 2014 at 4:45 PM, Eric Le Bihan
<eric.le.bihan.dev@free.fr> wrote:
> This patch converts udev to a virtual package. For the moment, there is only
> one provider for the udev features: eudev.
>
> Packages meant to provide udev-like features must select the symbol
> BR2_PACKAGE_HAS_UDEV.
>
> Packages depending on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV or
> BR2_PACKAGE_UDEV have been converted to use the new symbol.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
> Config.in.legacy | 8 ++++
> docs/manual/adding-packages-directory.txt | 3 +-
> package/ccid/ccid.mk | 2 +-
> package/eudev/Config.in | 1 +
> package/gpsd/gpsd.mk | 2 +-
> package/libatasmart/Config.in | 4 +-
> package/libcec/libcec.mk | 2 +-
> package/libdrm/libdrm.mk | 2 +-
> package/libmbim/Config.in | 5 +-
> package/modem-manager/Config.in | 6 +--
> package/network-manager/Config.in | 8 ++--
> package/ofono/ofono.mk | 2 +-
> package/pcsc-lite/Config.in | 2 +-
> package/pcsc-lite/pcsc-lite.mk | 2 +-
> package/pulseaudio/pulseaudio.mk | 2 +-
> package/systemd/Config.in | 6 +--
> package/udev/Config.in | 49 +-------------------
> package/udev/udev.mk | 49 ++++----------------
> package/udisks/Config.in | 8 ++--
> package/usbmount/Config.in | 4 +-
> package/weston/Config.in | 4 +-
> package/x11r7/xdriver_xf86-input-evdev/Config.in | 4 +-
> .../xserver_xorg-server/xserver_xorg-server.mk | 2 +-
> package/xenomai/xenomai.mk | 2 +-
> system/Config.in | 22 ++-------
> 25 files changed, 55 insertions(+), 146 deletions(-)
>
> diff --git a/Config.in.legacy b/Config.in.legacy
> index 01bf16b..5d80842 100644
> --- a/Config.in.legacy
> +++ b/Config.in.legacy
> @@ -235,6 +235,14 @@ config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION_WRAP
> # Note: BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION is still referenced from
> # linux/Config.in
>
> +config BR2_PACKAGE_UDEV
> + bool "udev is now a virtual package"
> + select BR2_PACKAGE_HAS_UDEV
> + help
> + The 'udev' package is now a virtual package. It is
> + currently only provided by 'eudev'.
> +
> +
This is more of a nitpick, but the convention is to add new legacy
options at the front (just below the release indicator) instead of at
the bottom of that section.
> ###############################################################################
> comment "Legacy options removed in 2013.08"
>
[..]
> --- a/package/systemd/Config.in
> +++ b/package/systemd/Config.in
> @@ -1,6 +1,6 @@
> config BR2_PACKAGE_SYSTEMD
> bool "systemd"
> - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
> + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
> depends on BR2_INET_IPV6
> depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
> depends on BR2_USE_MMU # dbus
> @@ -18,7 +18,7 @@ config BR2_PACKAGE_SYSTEMD
>
> http://freedesktop.org/wiki/Software/systemd
>
> -comment "systemd needs udev /dev management and a toolchain w/ IPv6, threads"
> +comment "systemd needs eudev /dev management and a toolchain w/ IPv6, threads"
> depends on BR2_USE_MMU
> - depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || !BR2_INET_IPV6 || \
> + depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV || !BR2_INET_IPV6 || \\
> !BR2_TOOLCHAIN_HAS_THREADS
These changes are odd: you indicate here that systemd is depending on
eudev, while eudev is precisely an alternative provider of udev than
systemd. So:
udev
/ \
systemd eudev
and there is no direct relation between systemd and eudev. In the next
patch, you replace this again with BR2_INIT_SYSTEMD, which makes sense
again, but the transition is odd.
Directly related to this, we question the need to rename
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV to
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV. First of all, the symbol
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV is already existing in users'
defconfig. Removing it requires the addition of a new legacy symbol
(not only for BR2_PACKAGE_UDEV, which you already added, but also for
the DEVICE_CREATION_DYNAMIC one).
Users that previously selected udev, should be moved to eudev, rather
than systemd. Our suggestion is to keep the existing
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV symbol to indicate the eudev
choice, rendering the massive rename in the previous patch unneeded,
removing the above odd systemd transition, and avoiding the need for
legacy handling. What do you think of that?
> diff --git a/package/udev/Config.in b/package/udev/Config.in
> index 7aa79c4..1c9251b 100644
> --- a/package/udev/Config.in
> +++ b/package/udev/Config.in
> @@ -1,47 +1,2 @@
> -config BR2_PACKAGE_UDEV
> - bool "udev"
> - depends on !BR2_avr32 # no epoll_create1
> - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
> - depends on BR2_LARGEFILE # util-linux
> - depends on BR2_USE_WCHAR # util-linux
> - depends on !BR2_PREFER_STATIC_LIB # kmod
> - 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
> - and inotify.
> -
> - 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"
> - select BR2_PACKAGE_ACL
> - select BR2_PACKAGE_HWDATA
> - select BR2_PACKAGE_LIBGLIB2
> - depends on BR2_USE_WCHAR # libglib2
> - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
> - depends on BR2_USE_MMU # libglib2
> - help
> - Enable all extras with external dependencies like
> - libacl, hwdata and libglib2
> -
> -comment "enabling all extras needs a toolchain w/ wchar, threads"
> - depends on BR2_USE_MMU
> - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> -
> -endif
> -
> -comment "udev needs udev /dev management and a toolchain w/ largefile, wchar, dynamic library"
> - depends on !BR2_avr32
> - depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || \
> - !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
> +config BR2_PACKAGE_HAS_UDEV
> + bool
Maybe you could add a comment in udev/Config.in and udev/udev.mk
clarifying that this is now a virtual package.
> diff --git a/package/udev/udev.mk b/package/udev/udev.mk
> index db86850..d274246 100644
> --- a/package/udev/udev.mk
> +++ b/package/udev/udev.mk
> @@ -4,48 +4,17 @@
> #
> ################################################################################
>
> -UDEV_VERSION = 182
> -UDEV_SOURCE = udev-$(UDEV_VERSION).tar.xz
> -UDEV_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/hotplug/
> -UDEV_LICENSE = GPLv2+
> -UDEV_LICENSE_FILES = COPYING
> -UDEV_INSTALL_STAGING = YES
> +UDEV_SOURCE =
>
> -# mq_getattr is in librt
> -UDEV_CONF_ENV += LIBS=-lrt
> -
> -UDEV_CONF_OPT = \
> - --sbindir=/sbin \
> - --with-rootlibdir=/lib \
> - --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-pkgconf 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 += acl hwdata libglib2
> -UDEV_CONF_OPT += \
> - --enable-udev_acl
> -else
> -UDEV_CONF_OPT += \
> - --disable-gudev
> +ifeq ($(BR2_PACKAGE_EUDEV),y)
> +UDEV_DEPENDENCIES += eudev
> endif
>
> -ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> - UDEV_CONF_OPT += --with-systemdsystemunitdir=/lib/systemd/system/
> -endif
> -
> -define UDEV_INSTALL_INITSCRIPT
> - $(INSTALL) -m 0755 package/udev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
> +ifeq ($(UDEV_DEPENDENCIES),)
> +define UDEV_CONFIGURE_CMDS
> + echo "No Udev implementation selected. Configuration error."
> + exit 1
> endef
> +endif
>
> -UDEV_POST_INSTALL_TARGET_HOOKS += UDEV_INSTALL_INITSCRIPT
> -
> -$(eval $(autotools-package))
> +$(eval $(generic-package))
> diff --git a/package/udisks/Config.in b/package/udisks/Config.in
> index e9539a3..62d5598 100644
> --- a/package/udisks/Config.in
> +++ b/package/udisks/Config.in
> @@ -1,11 +1,9 @@
> config BR2_PACKAGE_UDISKS
> bool "udisks"
> depends on !BR2_avr32 # udev
> - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
> + depends on BR2_PACKAGE_HAS_UDEV
> depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-glib -> glib2
> depends on BR2_USE_MMU # lvm2
> - select BR2_PACKAGE_UDEV
> - select BR2_PACKAGE_UDEV_ALL_EXTRAS
> select BR2_PACKAGE_DBUS
> select BR2_PACKAGE_DBUS_GLIB
> depends on BR2_USE_WCHAR # dbus-glib -> glib2
> @@ -36,8 +34,8 @@ config BR2_PACKAGE_UDISKS_LVM2
>
> endif
>
> -comment "udisks needs udev /dev management and a toolchain w/ wchar, threads"
> +comment "udisks needs udev /dev mgmnt, toolchain w/ wchar, threads"
This string is not as it is described in the manual. Why did you change it?
[..]
Best regards,
Thomas
^ permalink raw reply [flat|nested] 22+ messages in thread* [Buildroot] [PATCH v6 3/5] udev: convert to virtual package.
2014-02-03 21:41 ` Thomas De Schampheleire
@ 2014-02-04 12:10 ` Eric Le Bihan
2014-02-05 12:31 ` Thomas De Schampheleire
0 siblings, 1 reply; 22+ messages in thread
From: Eric Le Bihan @ 2014-02-04 12:10 UTC (permalink / raw)
To: buildroot
Thomas, All,
On Mon, Feb 03, 2014 at 10:41:03PM +0100, Thomas De Schampheleire wrote:
> > --- a/package/systemd/Config.in
> > +++ b/package/systemd/Config.in
> > @@ -1,6 +1,6 @@
> > config BR2_PACKAGE_SYSTEMD
> > bool "systemd"
> > - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
> > + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
> > depends on BR2_INET_IPV6
> > depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
> > depends on BR2_USE_MMU # dbus
> > @@ -18,7 +18,7 @@ config BR2_PACKAGE_SYSTEMD
> >
> > http://freedesktop.org/wiki/Software/systemd
> >
> > -comment "systemd needs udev /dev management and a toolchain w/ IPv6, threads"
> > +comment "systemd needs eudev /dev management and a toolchain w/ IPv6, threads"
> > depends on BR2_USE_MMU
> > - depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || !BR2_INET_IPV6 || \
> > + depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV || !BR2_INET_IPV6 || \\
> > !BR2_TOOLCHAIN_HAS_THREADS
>
> These changes are odd: you indicate here that systemd is depending on
> eudev, while eudev is precisely an alternative provider of udev than
> systemd. So:
>
> udev
> / \
> systemd eudev
>
> and there is no direct relation between systemd and eudev. In the next
> patch, you replace this again with BR2_INIT_SYSTEMD, which makes sense
> again, but the transition is odd.
At this stage, the version of systemd in Buildroot is still v44, which does
not provide udev, but needs it. As the previous patch introduced eudev and
this one removes BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV, the dependency on
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV ensures systemd will be installed
with a udev implementation.
> Directly related to this, we question the need to rename
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV to
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV. First of all, the symbol
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV is already existing in users'
> defconfig. Removing it requires the addition of a new legacy symbol
> (not only for BR2_PACKAGE_UDEV, which you already added, but also for
> the DEVICE_CREATION_DYNAMIC one).
> Users that previously selected udev, should be moved to eudev, rather
> than systemd. Our suggestion is to keep the existing
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV symbol to indicate the eudev
> choice, rendering the massive rename in the previous patch unneeded,
> removing the above odd systemd transition, and avoiding the need for
> legacy handling. What do you think of that?
I find it odd that some packages depend on
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV whereas others depend on
BR2_PACKAGE_UDEV. To me, both symbols are interpreted as "the package needs a
udev daemon to talk to at runtime" (whether via D-Bus or libudev). So I
replaced both with BR2_PACKAGE_HAS_UDEV to be homogeneous. It is true that if
a package depends on BR2_PACKAGE_HAS_UDEV, it is not explicitly said if it is
a runtime or a build dependency. But, AFAIK, programs that want to communicate
with the udev daemon do it via libudev/libgudev, so we end up with a build
dependency.
In system/Config.in, I removed BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV because
I want the user to understand the change: he/she should not think of 'udev' as
a package, but as a feature which, at this stage, is only available via eudev.
I could have kept BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV and have it select
BR2_PACKAGE_EUDEV, but I've found it confusing.
But I should have added BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV in
Config.in.legacy to migrate to BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV.
In the end, the user selects BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, which
selects BR2_PACKAGE_EUDEV, which in turn selects BR2_PACKAGE_HAS_UDEV. All the
packages depending on it are now available.
> Maybe you could add a comment in udev/Config.in and udev/udev.mk
> clarifying that this is now a virtual package.
Yes, indeed!
> > -comment "udisks needs udev /dev management and a toolchain w/ wchar, threads"
> > +comment "udisks needs udev /dev mgmnt, toolchain w/ wchar, threads"
>
> This string is not as it is described in the manual. Why did you change it?
It was truncated on a 80x24 terminal.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v6 3/5] udev: convert to virtual package.
2014-02-04 12:10 ` Eric Le Bihan
@ 2014-02-05 12:31 ` Thomas De Schampheleire
2014-02-05 12:52 ` Peter Korsgaard
0 siblings, 1 reply; 22+ messages in thread
From: Thomas De Schampheleire @ 2014-02-05 12:31 UTC (permalink / raw)
To: buildroot
Hi Eric,
On Tue, Feb 4, 2014 at 1:10 PM, Eric Le Bihan <eric.le.bihan.dev@free.fr> wrote:
> Thomas, All,
>
> On Mon, Feb 03, 2014 at 10:41:03PM +0100, Thomas De Schampheleire wrote:
>
>> > --- a/package/systemd/Config.in
>> > +++ b/package/systemd/Config.in
>> > @@ -1,6 +1,6 @@
>> > config BR2_PACKAGE_SYSTEMD
>> > bool "systemd"
>> > - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
>> > + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
>> > depends on BR2_INET_IPV6
>> > depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
>> > depends on BR2_USE_MMU # dbus
>> > @@ -18,7 +18,7 @@ config BR2_PACKAGE_SYSTEMD
>> >
>> > http://freedesktop.org/wiki/Software/systemd
>> >
>> > -comment "systemd needs udev /dev management and a toolchain w/ IPv6, threads"
>> > +comment "systemd needs eudev /dev management and a toolchain w/ IPv6, threads"
>> > depends on BR2_USE_MMU
>> > - depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || !BR2_INET_IPV6 || \
>> > + depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV || !BR2_INET_IPV6 || \\
>> > !BR2_TOOLCHAIN_HAS_THREADS
>>
>> These changes are odd: you indicate here that systemd is depending on
>> eudev, while eudev is precisely an alternative provider of udev than
>> systemd. So:
>>
>> udev
>> / \
>> systemd eudev
>>
>> and there is no direct relation between systemd and eudev. In the next
>> patch, you replace this again with BR2_INIT_SYSTEMD, which makes sense
>> again, but the transition is odd.
>
> At this stage, the version of systemd in Buildroot is still v44, which does
> not provide udev, but needs it. As the previous patch introduced eudev and
> this one removes BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV, the dependency on
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV ensures systemd will be installed
> with a udev implementation.
Ok, understood.
>
>> Directly related to this, we question the need to rename
>> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV to
>> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV. First of all, the symbol
>> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV is already existing in users'
>> defconfig. Removing it requires the addition of a new legacy symbol
>> (not only for BR2_PACKAGE_UDEV, which you already added, but also for
>> the DEVICE_CREATION_DYNAMIC one).
>> Users that previously selected udev, should be moved to eudev, rather
>> than systemd. Our suggestion is to keep the existing
>> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV symbol to indicate the eudev
>> choice, rendering the massive rename in the previous patch unneeded,
>> removing the above odd systemd transition, and avoiding the need for
>> legacy handling. What do you think of that?
>
> I find it odd that some packages depend on
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV whereas others depend on
> BR2_PACKAGE_UDEV. To me, both symbols are interpreted as "the package needs a
> udev daemon to talk to at runtime" (whether via D-Bus or libudev). So I
> replaced both with BR2_PACKAGE_HAS_UDEV to be homogeneous. It is true that if
> a package depends on BR2_PACKAGE_HAS_UDEV, it is not explicitly said if it is
> a runtime or a build dependency. But, AFAIK, programs that want to communicate
> with the udev daemon do it via libudev/libgudev, so we end up with a build
> dependency.
>
> In system/Config.in, I removed BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV because
> I want the user to understand the change: he/she should not think of 'udev' as
> a package, but as a feature which, at this stage, is only available via eudev.
> I could have kept BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV and have it select
> BR2_PACKAGE_EUDEV, but I've found it confusing.
>
> But I should have added BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV in
> Config.in.legacy to migrate to BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV.
>
> In the end, the user selects BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, which
> selects BR2_PACKAGE_EUDEV, which in turn selects BR2_PACKAGE_HAS_UDEV. All the
> packages depending on it are now available.
Based on your additional input, and rechecking the changes, I
understand your reasoning and accept it.
You still should add the legacy symbol, though.
Peter, what about you?
>
>> Maybe you could add a comment in udev/Config.in and udev/udev.mk
>> clarifying that this is now a virtual package.
> Yes, indeed!
>
>> > -comment "udisks needs udev /dev management and a toolchain w/ wchar, threads"
>> > +comment "udisks needs udev /dev mgmnt, toolchain w/ wchar, threads"
>>
>> This string is not as it is described in the manual. Why did you change it?
> It was truncated on a 80x24 terminal.
In the past I have done extensive efforts in unifying all comments in
our Config files, and described the unified syntax in the manual. We
tried using 'short' strings so they would fit on a 80 char terminal.
For packages that have many dependencies, it is true that some words
may not necessarily fit.
In this case, we could decide to split the comment in two: one for the
/dev management and one for the toolchain options. Both comments
should depend on the common options (!avr32 and mmu).
So:
comment "udisks needs udev /dev management
depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_PACKAGE_HAS_UDEV
comment "udisks needs a toolchain w/ wchar, threads"
depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
Best regards,
Thomas
^ permalink raw reply [flat|nested] 22+ messages in thread* [Buildroot] [PATCH v6 3/5] udev: convert to virtual package.
2014-02-05 12:31 ` Thomas De Schampheleire
@ 2014-02-05 12:52 ` Peter Korsgaard
0 siblings, 0 replies; 22+ messages in thread
From: Peter Korsgaard @ 2014-02-05 12:52 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas De Schampheleire <patrickdepinguin@gmail.com> writes:
Hi,
>> I find it odd that some packages depend on
>> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV whereas others depend on
>> BR2_PACKAGE_UDEV. To me, both symbols are interpreted as "the package needs a
>> udev daemon to talk to at runtime" (whether via D-Bus or libudev). So I
>> replaced both with BR2_PACKAGE_HAS_UDEV to be homogeneous. It is true that if
>> a package depends on BR2_PACKAGE_HAS_UDEV, it is not explicitly said if it is
>> a runtime or a build dependency. But, AFAIK, programs that want to communicate
>> with the udev daemon do it via libudev/libgudev, so we end up with a build
>> dependency.
>>
>> In system/Config.in, I removed BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV because
>> I want the user to understand the change: he/she should not think of 'udev' as
>> a package, but as a feature which, at this stage, is only available via eudev.
>> I could have kept BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV and have it select
>> BR2_PACKAGE_EUDEV, but I've found it confusing.
>>
>> But I should have added BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV in
>> Config.in.legacy to migrate to BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV.
>>
>> In the end, the user selects BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, which
>> selects BR2_PACKAGE_EUDEV, which in turn selects BR2_PACKAGE_HAS_UDEV. All the
>> packages depending on it are now available.
> Based on your additional input, and rechecking the changes, I
> understand your reasoning and accept it.
> You still should add the legacy symbol, though.
> Peter, what about you?
With the legacy handling added I'm fine with the rename.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v6 3/5] udev: convert to virtual package.
2014-01-13 15:45 ` [Buildroot] [PATCH v6 3/5] udev: convert to virtual package Eric Le Bihan
2014-02-03 21:41 ` Thomas De Schampheleire
@ 2014-02-04 8:47 ` Samuel Martin
1 sibling, 0 replies; 22+ messages in thread
From: Samuel Martin @ 2014-02-04 8:47 UTC (permalink / raw)
To: buildroot
Hi Eric,
On Mon, Jan 13, 2014 at 4:45 PM, Eric Le Bihan <eric.le.bihan.dev@free.fr>wrote:
> This patch converts udev to a virtual package. For the moment, there is
> only
> one provider for the udev features: eudev.
>
> Packages meant to provide udev-like features must select the symbol
> BR2_PACKAGE_HAS_UDEV.
>
> Packages depending on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV or
> BR2_PACKAGE_UDEV have been converted to use the new symbol.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
> Config.in.legacy | 8 ++++
> docs/manual/adding-packages-directory.txt | 3 +-
> package/ccid/ccid.mk | 2 +-
> package/eudev/Config.in | 1 +
> package/gpsd/gpsd.mk | 2 +-
> package/libatasmart/Config.in | 4 +-
> package/libcec/libcec.mk | 2 +-
> package/libdrm/libdrm.mk | 2 +-
> package/libmbim/Config.in | 5 +-
> package/modem-manager/Config.in | 6 +--
> package/network-manager/Config.in | 8 ++--
> package/ofono/ofono.mk | 2 +-
> package/pcsc-lite/Config.in | 2 +-
> package/pcsc-lite/pcsc-lite.mk | 2 +-
> package/pulseaudio/pulseaudio.mk | 2 +-
> package/systemd/Config.in | 6 +--
> package/udev/Config.in | 49
> +-------------------
> package/udev/udev.mk | 49
> ++++----------------
> package/udisks/Config.in | 8 ++--
> package/usbmount/Config.in | 4 +-
> package/weston/Config.in | 4 +-
> package/x11r7/xdriver_xf86-input-evdev/Config.in | 4 +-
> .../xserver_xorg-server/xserver_xorg-server.mk | 2 +-
> package/xenomai/xenomai.mk | 2 +-
> system/Config.in | 22 ++-------
> 25 files changed, 55 insertions(+), 146 deletions(-)
>
Due to recent patches merged in Buildroot, a couple of fixes (just symbols
updates,
no big deal) are needed after rebasing on top of Buildroot master,
especially in libusb and vlc.
Care to rebase and integrate these fixes in your next submission ;)
BTW, the review and tests Thomas and I did were done on the v7 branch from
your repository.
Regards,
--
Samuel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140204/13676dac/attachment.html>
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v6 4/5] systemd: bump to v207.
2014-01-13 15:45 [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev Eric Le Bihan
` (2 preceding siblings ...)
2014-01-13 15:45 ` [Buildroot] [PATCH v6 3/5] udev: convert to virtual package Eric Le Bihan
@ 2014-01-13 15:45 ` Eric Le Bihan
2014-01-16 17:51 ` Samuel Martin
2014-02-03 22:10 ` Thomas De Schampheleire
2014-01-13 15:45 ` [Buildroot] [PATCH v6 5/5] manual: update /dev management section Eric Le Bihan
` (2 subsequent siblings)
6 siblings, 2 replies; 22+ messages in thread
From: Eric Le Bihan @ 2014-01-13 15:45 UTC (permalink / raw)
To: buildroot
This patch bumps systemd to v207 but also declares it as a provider for the
udev virtual package.
Starting with systemd 183, udev has been merged into
systemd. The udev daemon is now installed as /lib/systemd/systemd-udevd.
This means that /dev management using udev is only available if systemd
is chosen as init system.
When configuring systemd, the following options are available:
- activation of systemd-journal-gatewayd, to access the journal via
HTTP.
- activation of extra features like journal compression and sealing.
Support for uClibc has also been removed because:
- upstream has no interest in supporting uClibc.
- using a shrinked libc brings no advantage, given the size of all the
programs included in Systemd. So using glibc does not matter.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
Config.in.legacy | 2 +-
linux/linux.mk | 1 +
package/systemd/Config.in | 56 +++++++++++++--
package/systemd/systemd-fix-getty-unit.patch | 36 +++++-----
package/systemd/systemd-fix-page-size.patch | 43 -----------
package/systemd/systemd-uclibc-fix.patch | 59 ----------------
package/systemd/systemd.mk | 98 ++++++++++++++++++--------
package/udev/udev.mk | 4 ++
system/Config.in | 26 +++++--
9 files changed, 165 insertions(+), 160 deletions(-)
delete mode 100644 package/systemd/systemd-fix-page-size.patch
delete mode 100644 package/systemd/systemd-uclibc-fix.patch
diff --git a/Config.in.legacy b/Config.in.legacy
index 5d80842..f56308f 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -240,7 +240,7 @@ config BR2_PACKAGE_UDEV
select BR2_PACKAGE_HAS_UDEV
help
The 'udev' package is now a virtual package. It is
- currently only provided by 'eudev'.
+ currently provided by 'eudev' or 'systemd'.
###############################################################################
diff --git a/linux/linux.mk b/linux/linux.mk
index 17365a0..e12dd39 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -194,6 +194,7 @@ define LINUX_CONFIGURE_CMDS
$(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config))
$(if $(BR2_PACKAGE_SYSTEMD),
$(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config))
+ $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config))
$(if $(BR2_LINUX_KERNEL_APPENDED_DTB),
$(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config))
yes '' | $(TARGET_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) oldconfig
diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index 500e623..2662492 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -1,11 +1,21 @@
config BR2_PACKAGE_SYSTEMD
bool "systemd"
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
+ depends on BR2_INIT_SYSTEMD
+ depends on !BR2_avr32 # no epoll_create1
+ depends on BR2_LARGEFILE # util-linux
+ depends on BR2_USE_WCHAR # util-linux
depends on BR2_INET_IPV6
+ depends on !BR2_PREFER_STATIC_LIB # kmod
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
depends on BR2_USE_MMU # dbus
+ select BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_LIBCAP
+ select BR2_PACKAGE_UTIL_LINUX
+ select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
+ select BR2_PACKAGE_KMOD
+ select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # kmod-tools
+ select BR2_PACKAGE_KMOD_TOOLS
help
systemd is a system and service manager for Linux, compatible with
SysV and LSB init scripts. systemd provides aggressive parallelization
@@ -16,9 +26,47 @@ config BR2_PACKAGE_SYSTEMD
elaborate transactional dependency-based service control logic.
It can work as a drop-in replacement for sysvinit.
+ Systemd requires a Linux kernel >= 3.0, with inotify, devtmpfs,
+ tmpfs vfs and tmpfs POSIX ACL enabled.
+
+ Systemd also provides udev, the userspace device daemon.
+
+ The selection of other packages will enable some features:
+
+ - libglib2 package will add support for gudev.
+ - acl package will add support for multi-seat.
+
http://freedesktop.org/wiki/Software/systemd
-comment "systemd needs eudev /dev management and a toolchain w/ IPv6, threads"
+if BR2_PACKAGE_SYSTEMD
+
+config BR2_PACKAGE_SYSTEMD_ALL_EXTRAS
+ bool "enable all extras"
+ select BR2_PACKAGE_XZ
+ select BR2_PACKAGE_LIBGCRYPT
+ help
+ Enable extra features for Systemd: journal compression and
+ signing.
+
+config BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY
+ bool "HTTP server for journal events"
+ select BR2_PACKAGE_LIBMICROHTTPD
+ help
+ systemd-journal-gatewayd serves journal events over the
+ network. Clients must connect using HTTP. The server
+ listens on port 19531 by default.
+
+ http://www.freedesktop.org/software/systemd/man/systemd-journal-gatewayd.service.html
+
+endif
+
+if BR2_INIT_SYSTEMD
+comment "systemd needs a toolchain w/ largefile, wchar, IPv6, threads"
+ depends on BR2_avr32
depends on BR2_USE_MMU
- depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV || !BR2_INET_IPV6 || \\
- !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && \
+ BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS)
+
+comment "systemd needs a toolchain w/ dynamic library"
+ depends on BR2_PREFER_STATIC_LIB
+endif
diff --git a/package/systemd/systemd-fix-getty-unit.patch b/package/systemd/systemd-fix-getty-unit.patch
index 6df54b1..166a2e5 100644
--- a/package/systemd/systemd-fix-getty-unit.patch
+++ b/package/systemd/systemd-fix-getty-unit.patch
@@ -1,34 +1,32 @@
Prefer getty to agetty in console setup systemd units
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
- units/getty at .service.m4 | 2 +-
- units/serial-getty at .service.m4 | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-Index: systemd-37/units/getty at .service.m4
+Index: systemd-206/units/getty at .service.m4
===================================================================
---- systemd-37.orig/units/getty at .service.m4
-+++ systemd-37/units/getty at .service.m4
-@@ -32,7 +32,7 @@
-
+--- systemd-206.orig/units/getty at .service.m4 2013-07-22 00:43:28.000000000 +0200
++++ systemd-206/units/getty at .service.m4 2013-09-18 10:20:17.000000000 +0200
+@@ -27,7 +27,7 @@
+
[Service]
- Environment=TERM=linux
--ExecStart=-/sbin/agetty %I 38400
+ # the VT is cleared by TTYVTDisallocate
+-ExecStart=-/sbin/agetty --noclear %I
+ExecStart=-/sbin/getty -L %I 115200 vt100
+ Type=idle
Restart=always
RestartSec=0
- UtmpIdentifier=%I
-Index: systemd-37/units/serial-getty at .service.m4
+Index: systemd-206/units/serial-getty at .service.m4
===================================================================
---- systemd-37.orig/units/serial-getty at .service.m4
-+++ systemd-37/units/serial-getty at .service.m4
-@@ -32,7 +32,7 @@
-
+--- systemd-206.orig/units/serial-getty at .service.m4 2013-07-22 00:43:28.000000000 +0200
++++ systemd-206/units/serial-getty at .service.m4 2013-09-18 10:21:31.000000000 +0200
+@@ -22,7 +22,7 @@
+ IgnoreOnIsolate=yes
+
[Service]
- Environment=TERM=vt100
--ExecStart=-/sbin/agetty -s %I 115200,38400,9600
+-ExecStart=-/sbin/agetty --keep-baud %I 115200,38400,9600
+ExecStart=-/sbin/getty -L %I 115200 vt100
+ Type=idle
Restart=always
RestartSec=0
- UtmpIdentifier=%I
diff --git a/package/systemd/systemd-fix-page-size.patch b/package/systemd/systemd-fix-page-size.patch
deleted file mode 100644
index 241ceb8..0000000
--- a/package/systemd/systemd-fix-page-size.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-commit 7264278fbbdc1dc6c30fedc902d1337594aa6ff6
-Author: Lennart Poettering <lennart@poettering.net>
-Date: Wed Mar 21 23:47:44 2012 +0100
-
- journal: PAGE_SIZE is not known on ppc and other archs
-
- Let's use NAME_MAX, as suggested by Dan Walsh
-
-diff --git a/src/journal/journald.c b/src/journal/journald.c
-index d27cb60..87390bd 100644
---- a/src/journal/journald.c
-+++ b/src/journal/journald.c
-@@ -29,7 +29,6 @@
- #include <sys/ioctl.h>
- #include <linux/sockios.h>
- #include <sys/statvfs.h>
--#include <sys/user.h>
-
- #include <systemd/sd-journal.h>
- #include <systemd/sd-login.h>
-@@ -2149,10 +2148,20 @@ static int process_event(Server *s, struct epoll_event *ev) {
- size_t label_len = 0;
- union {
- struct cmsghdr cmsghdr;
-+
-+ /* We use NAME_MAX space for the
-+ * SELinux label here. The kernel
-+ * currently enforces no limit, but
-+ * according to suggestions from the
-+ * SELinux people this will change and
-+ * it will probably be identical to
-+ * NAME_MAX. For now we use that, but
-+ * this should be updated one day when
-+ * the final limit is known.*/
- uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) +
- CMSG_SPACE(sizeof(struct timeval)) +
-- CMSG_SPACE(sizeof(int)) +
-- CMSG_SPACE(PAGE_SIZE)]; /* selinux label */
-+ CMSG_SPACE(sizeof(int)) + /* fd */
-+ CMSG_SPACE(NAME_MAX)]; /* selinux label */
- } control;
- ssize_t n;
- int v;
diff --git a/package/systemd/systemd-uclibc-fix.patch b/package/systemd/systemd-uclibc-fix.patch
deleted file mode 100644
index 9a20845..0000000
--- a/package/systemd/systemd-uclibc-fix.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-[PATCH] fix build with uClibc
-
-Based on OE patch from Khem Raj:
-
-http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-core/systemd/systemd/paper-over-mkostemp.patch
-
-But extended to also cover execvpe (OE carries a patch adding execvpe
-support to uClibc).
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- src/journal/journal-file.c | 2 ++
- src/macro.h | 15 +++++++++++++++
- 2 files changed, 17 insertions(+)
-
-Index: systemd-44/src/macro.h
-===================================================================
---- systemd-44.orig/src/macro.h
-+++ systemd-44/src/macro.h
-@@ -28,6 +28,21 @@
- #include <sys/uio.h>
- #include <inttypes.h>
-
-+#ifdef __UCLIBC__
-+/* uclibc does not implement mkostemp GNU extension */
-+#define mkostemp(x,y) mkstemp(x)
-+/* uclibc does not implement execvpe GNU extension */
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE
-+#endif
-+#include <unistd.h>
-+static inline int execvpe(const char *file, char *const argv[],
-+ char *const envp[])
-+{
-+ environ = (char **)envp;
-+ return execvp(file, argv);
-+}
-+#endif
- #define _printf_attr_(a,b) __attribute__ ((format (printf, a, b)))
- #define _sentinel_ __attribute__ ((sentinel))
- #define _noreturn_ __attribute__((noreturn))
-Index: systemd-44/src/journal/journal-file.c
-===================================================================
---- systemd-44.orig/src/journal/journal-file.c
-+++ systemd-44/src/journal/journal-file.c
-@@ -229,11 +229,13 @@
- }
- }
-
-+#ifndef __UCLIBC__
- /* Note that the glibc fallocate() fallback is very
- inefficient, hence we try to minimize the allocation area
- as we can. */
- if (posix_fallocate(f->fd, old_size, new_size - old_size) < 0)
- return -errno;
-+#endif
-
- if (fstat(f->fd, &f->last_stat) < 0)
- return -errno;
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index a5dc8e5..bca3058 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -4,75 +4,117 @@
#
################################################################################
-SYSTEMD_VERSION = 44
+SYSTEMD_VERSION = 207
SYSTEMD_SITE = http://www.freedesktop.org/software/systemd/
SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.xz
SYSTEMD_LICENSE = GPLv2+
-SYSTEMD_LICENSE_FILES = LICENSE
+SYSTEMD_LICENSE_FILES = LICENSE.GPLV2 LICENSE.LGPL2.1 LICENSE.MIT
SYSTEMD_INSTALL_STAGING = YES
SYSTEMD_DEPENDENCIES = \
host-intltool \
libcap \
- udev \
- dbus
+ dbus \
+ util-linux \
+ kmod
# Make sure that systemd will always be built after busybox so that we have
# a consistent init setup between two builds
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
- SYSTEMD_DEPENDENCIES += busybox
+SYSTEMD_DEPENDENCIES += busybox
endif
SYSTEMD_CONF_OPT += \
- --with-distro=other \
+ --with-rootprefix= \
+ --with-rootlibdir=/lib \
+ --localstatedir=/var \
+ --enable-static=no \
+ --disable-manpages \
--disable-selinux \
--disable-pam \
--disable-libcryptsetup \
- --disable-gtk \
- --disable-plymouth \
- --with-rootdir=/ \
--with-dbuspolicydir=/etc/dbus-1/system.d \
--with-dbussessionservicedir=/usr/share/dbus-1/services \
--with-dbussystemservicedir=/usr/share/dbus-1/system-services \
--with-dbusinterfacedir=/usr/share/dbus-1/interfaces \
- --with-udevrulesdir=/etc/udev/rules.d \
- --with-sysvinit-path=/etc/init.d/ \
- --without-sysvrcd-path \
- --enable-split-usr
+ --with-firmware-path=/lib/firmware \
+ --enable-split-usr \
+ --enable-introspection=no \
+ --disable-efi \
+ --disable-myhostname \
+ --disable-tcpwrap \
+ --disable-tests \
+ --without-python
ifeq ($(BR2_PACKAGE_ACL),y)
- SYSTEMD_CONF_OPT += --enable-acl
- SYSTEMD_DEPENDENCIES += acl
+SYSTEMD_CONF_OPT += --enable-acl
+SYSTEMD_DEPENDENCIES += acl
else
- SYSTEMD_CONF_OPT += --disable-acl
+SYSTEMD_CONF_OPT += --disable-acl
endif
-ifneq ($(BR2_LARGEFILE),y)
- SYSTEMD_CONF_OPT += --disable-largefile
+ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
+SYSTEMD_CONF_OPT += --enable-gudev
+SYSTEMD_DEPENDENCIES += libglib2
+else
+SYSTEMD_CONF_OPT += --disable-gudev
+endif
+
+ifeq ($(BR2_PACKAGE_SYSTEMD_ALL_EXTRAS),y)
+SYSTEMD_DEPENDENCIES += \
+ xz \
+ libgcrypt
+SYSTEMD_CONF_OPT += \
+ --enable-xz \
+ --enable-gcrypt \
+ --with-libgcrypt-prefix=$(STAGING_DIR)/usr
+else
+SYSTEMD_CONF_OPT += \
+ --disable-xz \
+ --disable-gcrypt
+endif
+
+ifeq ($(BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY),y)
+SYSTEMD_DEPENDENCIES += libmicrohttpd
+else
+SYSTEMD_CONF_OPT += --disable-microhttpd
endif
# mq_getattr needs -lrt
SYSTEMD_MAKE_OPT += LIBS=-lrt
SYSTEMD_MAKE_OPT += LDFLAGS+=-ldl
-ifeq ($(BR2_INIT_SYSTEMD),y)
define SYSTEMD_INSTALL_INIT_HOOK
- ln -fs ../usr/lib/systemd/systemd $(TARGET_DIR)/sbin/init
- ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/halt
- ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/poweroff
- ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/reboot
+ ln -fs ../lib/systemd/systemd $(TARGET_DIR)/sbin/init
+ ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/halt
+ ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/poweroff
+ ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/reboot
- ln -fs ../../../usr/lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target
+ ln -fs ../../../lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target
endef
-SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
- SYSTEMD_INSTALL_INIT_HOOK
-endif
define SYSTEMD_INSTALL_TTY_HOOK
rm -f $(TARGET_DIR)/etc/systemd/system/getty.target.wants/getty at tty1.service
- ln -fs ../../../../usr/lib/systemd/system/serial-getty at .service $(TARGET_DIR)/etc/systemd/system/getty.target.wants/serial-getty@$(BR2_TARGET_GENERIC_GETTY_PORT).service
+ ln -fs ../../../../lib/systemd/system/serial-getty@.service $(TARGET_DIR)/etc/systemd/system/getty.target.wants/serial-getty@$(BR2_TARGET_GENERIC_GETTY_PORT).service
+endef
+
+define SYSTEMD_INSTALL_MACHINEID_HOOK
+ touch $(TARGET_DIR)/etc/machine-id
+endef
+
+define SYSTEMD_SANITIZE_PATH_IN_UNITS
+ find $(TARGET_DIR)/lib/systemd/system -name '*.service' \
+ -exec sed -i -e 's,$(HOST_DIR),,g' {} \;
endef
SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
+ SYSTEMD_INSTALL_INIT_HOOK \
SYSTEMD_INSTALL_TTY_HOOK \
+ SYSTEMD_INSTALL_MACHINEID_HOOK \
+ SYSTEMD_SANITIZE_PATH_IN_UNITS
+
+define SYSTEMD_USERS
+ systemd-journal -1 systemd-journal -1 * /var/log/journal - - Journal
+ systemd-journal-gateway -1 systemd-journal-gateway -1 * /var/log/journal - - Journal Gateway
+endef
$(eval $(autotools-package))
diff --git a/package/udev/udev.mk b/package/udev/udev.mk
index d274246..a5d0f80 100644
--- a/package/udev/udev.mk
+++ b/package/udev/udev.mk
@@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_EUDEV),y)
UDEV_DEPENDENCIES += eudev
endif
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+UDEV_DEPENDENCIES += systemd
+endif
+
ifeq ($(UDEV_DEPENDENCIES),)
define UDEV_CONFIGURE_CMDS
echo "No Udev implementation selected. Configuration error."
diff --git a/system/Config.in b/system/Config.in
index 18f27bf..b1b54ff 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -86,20 +86,31 @@ config BR2_INIT_SYSV
config BR2_INIT_SYSTEMD
bool "systemd"
+ depends on !BR2_avr32 # no epoll_create1
+ depends on BR2_TOOLCHAIN_USES_GLIBC
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR
depends on BR2_INET_IPV6
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_TOOLCHAIN_HAS_SSP
depends on BR2_USE_MMU
- select BR2_PACKAGE_DBUS
+ depends on !BR2_PREFER_STATIC_LIB
select BR2_PACKAGE_SYSTEMD
-comment 'systemd needs eudev /dev management and a toolchain w/ largefile, wchar, IPv6, threads'
+comment 'systemd needs a (e)glibc toolchain'
+ depends on !BR2_TOOLCHAIN_USES_GLIBC
+
+comment 'systemd needs a toolchain w/ largefile, wchar, IPv6, threads'
+ depends on BR2_avr32
depends on BR2_USE_MMU
depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && \
- BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS && \
- BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV)
+ BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS)
+
+comment 'systemd needs a toolchain w/ SSP'
+ depends on !BR2_TOOLCHAIN_HAS_SSP
+
+comment "systemd needs a toolchain w/ dynamic library"
+ depends on BR2_PREFER_STATIC_LIB
config BR2_INIT_NONE
bool "None"
@@ -107,7 +118,7 @@ config BR2_INIT_NONE
endchoice
choice
- prompt "/dev management"
+ prompt "/dev management" if !BR2_INIT_SYSTEMD
default BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
config BR2_ROOTFS_DEVICE_CREATION_STATIC
@@ -137,6 +148,9 @@ comment "eudev needs a toolchain w/ dynamic library"
endchoice
+comment "/dev management using udev (from systemd)"
+ depends on BR2_INIT_SYSTEMD
+
config BR2_ROOTFS_DEVICE_TABLE
string "Path to the permission tables"
default "system/device_table.txt"
--
1.7.9.5
^ permalink raw reply related [flat|nested] 22+ messages in thread* [Buildroot] [PATCH v6 4/5] systemd: bump to v207.
2014-01-13 15:45 ` [Buildroot] [PATCH v6 4/5] systemd: bump to v207 Eric Le Bihan
@ 2014-01-16 17:51 ` Samuel Martin
2014-01-17 8:36 ` Eric Le Bihan
2014-02-03 22:10 ` Thomas De Schampheleire
1 sibling, 1 reply; 22+ messages in thread
From: Samuel Martin @ 2014-01-16 17:51 UTC (permalink / raw)
To: buildroot
Eric,
2014/1/13 Eric Le Bihan <eric.le.bihan.dev@free.fr>
> This patch bumps systemd to v207 but also declares it as a provider for the
> udev virtual package.
>
> Starting with systemd 183, udev has been merged into
> systemd. The udev daemon is now installed as /lib/systemd/systemd-udevd.
> This means that /dev management using udev is only available if systemd
> is chosen as init system.
>
> When configuring systemd, the following options are available:
>
> - activation of systemd-journal-gatewayd, to access the journal via
> HTTP.
> - activation of extra features like journal compression and sealing.
>
> Support for uClibc has also been removed because:
>
> - upstream has no interest in supporting uClibc.
> - using a shrinked libc brings no advantage, given the size of all the
> programs included in Systemd. So using glibc does not matter.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
> Config.in.legacy | 2 +-
> linux/linux.mk | 1 +
> package/systemd/Config.in | 56 +++++++++++++--
> package/systemd/systemd-fix-getty-unit.patch | 36 +++++-----
> package/systemd/systemd-fix-page-size.patch | 43 -----------
> package/systemd/systemd-uclibc-fix.patch | 59 ----------------
> package/systemd/systemd.mk | 98
> ++++++++++++++++++--------
> package/udev/udev.mk | 4 ++
> system/Config.in | 26 +++++--
> 9 files changed, 165 insertions(+), 160 deletions(-)
> delete mode 100644 package/systemd/systemd-fix-page-size.patch
> delete mode 100644 package/systemd/systemd-uclibc-fix.patch
>
> diff --git a/Config.in.legacy b/Config.in.legacy
> index 5d80842..f56308f 100644
> --- a/Config.in.legacy
> +++ b/Config.in.legacy
> @@ -240,7 +240,7 @@ config BR2_PACKAGE_UDEV
> select BR2_PACKAGE_HAS_UDEV
> help
> The 'udev' package is now a virtual package. It is
> - currently only provided by 'eudev'.
> + currently provided by 'eudev' or 'systemd'.
>
>
>
> ###############################################################################
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 17365a0..e12dd39 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -194,6 +194,7 @@ define LINUX_CONFIGURE_CMDS
> $(call
> KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config))
> $(if $(BR2_PACKAGE_SYSTEMD),
> $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config))
>
+ $(call
> KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config))
>
Since you are adding a command in the if-block, there is an extra ")" at
the end of the CONFIG_CGROUPS command line.
> $(if $(BR2_LINUX_KERNEL_APPENDED_DTB),
> $(call
> KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config))
> yes '' | $(TARGET_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D)
> oldconfig
>
Regards,
--
Samuel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140116/5ca86510/attachment.html>
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v6 4/5] systemd: bump to v207.
2014-01-13 15:45 ` [Buildroot] [PATCH v6 4/5] systemd: bump to v207 Eric Le Bihan
2014-01-16 17:51 ` Samuel Martin
@ 2014-02-03 22:10 ` Thomas De Schampheleire
2014-02-04 8:41 ` Samuel Martin
1 sibling, 1 reply; 22+ messages in thread
From: Thomas De Schampheleire @ 2014-02-03 22:10 UTC (permalink / raw)
To: buildroot
Hi Eric,
On Mon, Jan 13, 2014 at 4:45 PM, Eric Le Bihan
<eric.le.bihan.dev@free.fr> wrote:
> This patch bumps systemd to v207 but also declares it as a provider for the
> udev virtual package.
>
> Starting with systemd 183, udev has been merged into
> systemd. The udev daemon is now installed as /lib/systemd/systemd-udevd.
> This means that /dev management using udev is only available if systemd
> is chosen as init system.
>
> When configuring systemd, the following options are available:
>
> - activation of systemd-journal-gatewayd, to access the journal via
> HTTP.
> - activation of extra features like journal compression and sealing.
>
> Support for uClibc has also been removed because:
>
> - upstream has no interest in supporting uClibc.
> - using a shrinked libc brings no advantage, given the size of all the
> programs included in Systemd. So using glibc does not matter.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
> Config.in.legacy | 2 +-
> linux/linux.mk | 1 +
> package/systemd/Config.in | 56 +++++++++++++--
> package/systemd/systemd-fix-getty-unit.patch | 36 +++++-----
> package/systemd/systemd-fix-page-size.patch | 43 -----------
> package/systemd/systemd-uclibc-fix.patch | 59 ----------------
> package/systemd/systemd.mk | 98 ++++++++++++++++++--------
> package/udev/udev.mk | 4 ++
> system/Config.in | 26 +++++--
> 9 files changed, 165 insertions(+), 160 deletions(-)
> delete mode 100644 package/systemd/systemd-fix-page-size.patch
> delete mode 100644 package/systemd/systemd-uclibc-fix.patch
>
> diff --git a/Config.in.legacy b/Config.in.legacy
> index 5d80842..f56308f 100644
> --- a/Config.in.legacy
> +++ b/Config.in.legacy
> @@ -240,7 +240,7 @@ config BR2_PACKAGE_UDEV
> select BR2_PACKAGE_HAS_UDEV
> help
> The 'udev' package is now a virtual package. It is
> - currently only provided by 'eudev'.
> + currently provided by 'eudev' or 'systemd'.
>
>
> ###############################################################################
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 17365a0..e12dd39 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -194,6 +194,7 @@ define LINUX_CONFIGURE_CMDS
> $(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config))
> $(if $(BR2_PACKAGE_SYSTEMD),
> $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config))
> + $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config))
> $(if $(BR2_LINUX_KERNEL_APPENDED_DTB),
> $(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config))
> yes '' | $(TARGET_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) oldconfig
> diff --git a/package/systemd/Config.in b/package/systemd/Config.in
> index 500e623..2662492 100644
> --- a/package/systemd/Config.in
> +++ b/package/systemd/Config.in
> @@ -1,11 +1,21 @@
> config BR2_PACKAGE_SYSTEMD
> bool "systemd"
> - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
> + depends on BR2_INIT_SYSTEMD
> + depends on !BR2_avr32 # no epoll_create1
> + depends on BR2_LARGEFILE # util-linux
> + depends on BR2_USE_WCHAR # util-linux
> depends on BR2_INET_IPV6
> + depends on !BR2_PREFER_STATIC_LIB # kmod
> depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
> depends on BR2_USE_MMU # dbus
> + select BR2_PACKAGE_HAS_UDEV
> select BR2_PACKAGE_DBUS
> select BR2_PACKAGE_LIBCAP
> + select BR2_PACKAGE_UTIL_LINUX
> + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
> + select BR2_PACKAGE_KMOD
> + select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # kmod-tools
> + select BR2_PACKAGE_KMOD_TOOLS
> help
> systemd is a system and service manager for Linux, compatible with
> SysV and LSB init scripts. systemd provides aggressive parallelization
> @@ -16,9 +26,47 @@ config BR2_PACKAGE_SYSTEMD
> elaborate transactional dependency-based service control logic.
> It can work as a drop-in replacement for sysvinit.
>
> + Systemd requires a Linux kernel >= 3.0, with inotify, devtmpfs,
> + tmpfs vfs and tmpfs POSIX ACL enabled.
> +
> + Systemd also provides udev, the userspace device daemon.
> +
> + The selection of other packages will enable some features:
> +
> + - libglib2 package will add support for gudev.
> + - acl package will add support for multi-seat.
> +
> http://freedesktop.org/wiki/Software/systemd
>
> -comment "systemd needs eudev /dev management and a toolchain w/ IPv6, threads"
> +if BR2_PACKAGE_SYSTEMD
> +
> +config BR2_PACKAGE_SYSTEMD_ALL_EXTRAS
> + bool "enable all extras"
> + select BR2_PACKAGE_XZ
> + select BR2_PACKAGE_LIBGCRYPT
> + help
> + Enable extra features for Systemd: journal compression and
> + signing.
> +
> +config BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY
> + bool "HTTP server for journal events"
This is indented with spaces instead of a tab.
> + select BR2_PACKAGE_LIBMICROHTTPD
> + help
> + systemd-journal-gatewayd serves journal events over the
> + network. Clients must connect using HTTP. The server
> + listens on port 19531 by default.
> +
> + http://www.freedesktop.org/software/systemd/man/systemd-journal-gatewayd.service.html
> +
> +endif
> +
> +if BR2_INIT_SYSTEMD
> +comment "systemd needs a toolchain w/ largefile, wchar, IPv6, threads"
> + depends on BR2_avr32
> depends on BR2_USE_MMU
> - depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV || !BR2_INET_IPV6 || \\
> - !BR2_TOOLCHAIN_HAS_THREADS
> + depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && \
> + BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS)
> +
> +comment "systemd needs a toolchain w/ dynamic library"
> + depends on BR2_PREFER_STATIC_LIB
> +endif
This comment isn't really needed: if you have systemd enabled, it
means you already have all dependencies mentioned in system/Config.in.
Also, the dependencies of the comment are anyway not correct:
currently the comment is only showed for avr32, while in fact we want
the inverse (for avr32 systemd is never available, so neither should
the comment).
[..]
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index a5dc8e5..bca3058 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -4,75 +4,117 @@
> #
> ################################################################################
>
> -SYSTEMD_VERSION = 44
> +SYSTEMD_VERSION = 207
> SYSTEMD_SITE = http://www.freedesktop.org/software/systemd/
> SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.xz
> SYSTEMD_LICENSE = GPLv2+
> -SYSTEMD_LICENSE_FILES = LICENSE
> +SYSTEMD_LICENSE_FILES = LICENSE.GPLV2 LICENSE.LGPL2.1 LICENSE.MIT
> SYSTEMD_INSTALL_STAGING = YES
> SYSTEMD_DEPENDENCIES = \
> host-intltool \
> libcap \
> - udev \
> - dbus
> + dbus \
> + util-linux \
> + kmod
>
> # Make sure that systemd will always be built after busybox so that we have
> # a consistent init setup between two builds
> ifeq ($(BR2_PACKAGE_BUSYBOX),y)
> - SYSTEMD_DEPENDENCIES += busybox
> +SYSTEMD_DEPENDENCIES += busybox
> endif
>
> SYSTEMD_CONF_OPT += \
> - --with-distro=other \
> + --with-rootprefix= \
> + --with-rootlibdir=/lib \
> + --localstatedir=/var \
> + --enable-static=no \
> + --disable-manpages \
> --disable-selinux \
> --disable-pam \
> --disable-libcryptsetup \
> - --disable-gtk \
> - --disable-plymouth \
> - --with-rootdir=/ \
> --with-dbuspolicydir=/etc/dbus-1/system.d \
> --with-dbussessionservicedir=/usr/share/dbus-1/services \
> --with-dbussystemservicedir=/usr/share/dbus-1/system-services \
> --with-dbusinterfacedir=/usr/share/dbus-1/interfaces \
> - --with-udevrulesdir=/etc/udev/rules.d \
> - --with-sysvinit-path=/etc/init.d/ \
> - --without-sysvrcd-path \
> - --enable-split-usr
> + --with-firmware-path=/lib/firmware \
> + --enable-split-usr \
> + --enable-introspection=no \
> + --disable-efi \
> + --disable-myhostname \
> + --disable-tcpwrap \
> + --disable-tests \
> + --without-python
>
> ifeq ($(BR2_PACKAGE_ACL),y)
> - SYSTEMD_CONF_OPT += --enable-acl
> - SYSTEMD_DEPENDENCIES += acl
> +SYSTEMD_CONF_OPT += --enable-acl
> +SYSTEMD_DEPENDENCIES += acl
> else
> - SYSTEMD_CONF_OPT += --disable-acl
> +SYSTEMD_CONF_OPT += --disable-acl
> endif
>
> -ifneq ($(BR2_LARGEFILE),y)
> - SYSTEMD_CONF_OPT += --disable-largefile
> +ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
> +SYSTEMD_CONF_OPT += --enable-gudev
> +SYSTEMD_DEPENDENCIES += libglib2
> +else
> +SYSTEMD_CONF_OPT += --disable-gudev
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SYSTEMD_ALL_EXTRAS),y)
> +SYSTEMD_DEPENDENCIES += \
> + xz \
> + libgcrypt
> +SYSTEMD_CONF_OPT += \
> + --enable-xz \
> + --enable-gcrypt \
> + --with-libgcrypt-prefix=$(STAGING_DIR)/usr
> +else
> +SYSTEMD_CONF_OPT += \
> + --disable-xz \
> + --disable-gcrypt
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY),y)
> +SYSTEMD_DEPENDENCIES += libmicrohttpd
> +else
> +SYSTEMD_CONF_OPT += --disable-microhttpd
> endif
>
> # mq_getattr needs -lrt
> SYSTEMD_MAKE_OPT += LIBS=-lrt
> SYSTEMD_MAKE_OPT += LDFLAGS+=-ldl
>
> -ifeq ($(BR2_INIT_SYSTEMD),y)
> define SYSTEMD_INSTALL_INIT_HOOK
> - ln -fs ../usr/lib/systemd/systemd $(TARGET_DIR)/sbin/init
> - ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/halt
> - ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/poweroff
> - ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/reboot
> + ln -fs ../lib/systemd/systemd $(TARGET_DIR)/sbin/init
> + ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/halt
> + ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/poweroff
> + ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/reboot
>
> - ln -fs ../../../usr/lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target
> + ln -fs ../../../lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target
> endef
> -SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
> - SYSTEMD_INSTALL_INIT_HOOK
> -endif
>
> define SYSTEMD_INSTALL_TTY_HOOK
> rm -f $(TARGET_DIR)/etc/systemd/system/getty.target.wants/getty at tty1.service
> - ln -fs ../../../../usr/lib/systemd/system/serial-getty at .service $(TARGET_DIR)/etc/systemd/system/getty.target.wants/serial-getty@$(BR2_TARGET_GENERIC_GETTY_PORT).service
> + ln -fs ../../../../lib/systemd/system/serial-getty at .service $(TARGET_DIR)/etc/systemd/system/getty.target.wants/serial-getty@$(BR2_TARGET_GENERIC_GETTY_PORT).service
> +endef
> +
> +define SYSTEMD_INSTALL_MACHINEID_HOOK
> + touch $(TARGET_DIR)/etc/machine-id
> +endef
> +
> +define SYSTEMD_SANITIZE_PATH_IN_UNITS
> + find $(TARGET_DIR)/lib/systemd/system -name '*.service' \
> + -exec sed -i -e 's,$(HOST_DIR),,g' {} \;
On this line, 'sed -i' should be replaced with $(SED) (defined in
package/Makefile.in)
> endef
>
> SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
> + SYSTEMD_INSTALL_INIT_HOOK \
> SYSTEMD_INSTALL_TTY_HOOK \
> + SYSTEMD_INSTALL_MACHINEID_HOOK \
> + SYSTEMD_SANITIZE_PATH_IN_UNITS
> +
> +define SYSTEMD_USERS
> + systemd-journal -1 systemd-journal -1 * /var/log/journal - - Journal
> + systemd-journal-gateway -1 systemd-journal-gateway -1 * /var/log/journal - - Journal Gateway
> +endef
>
> $(eval $(autotools-package))
> diff --git a/package/udev/udev.mk b/package/udev/udev.mk
> index d274246..a5d0f80 100644
> --- a/package/udev/udev.mk
> +++ b/package/udev/udev.mk
> @@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_EUDEV),y)
> UDEV_DEPENDENCIES += eudev
> endif
>
> +ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> +UDEV_DEPENDENCIES += systemd
> +endif
> +
> ifeq ($(UDEV_DEPENDENCIES),)
> define UDEV_CONFIGURE_CMDS
> echo "No Udev implementation selected. Configuration error."
> diff --git a/system/Config.in b/system/Config.in
> index 18f27bf..b1b54ff 100644
> --- a/system/Config.in
> +++ b/system/Config.in
> @@ -86,20 +86,31 @@ config BR2_INIT_SYSV
>
> config BR2_INIT_SYSTEMD
> bool "systemd"
> + depends on !BR2_avr32 # no epoll_create1
> + depends on BR2_TOOLCHAIN_USES_GLIBC
> depends on BR2_LARGEFILE
> depends on BR2_USE_WCHAR
> depends on BR2_INET_IPV6
> - depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
> depends on BR2_TOOLCHAIN_HAS_THREADS
> + depends on BR2_TOOLCHAIN_HAS_SSP
> depends on BR2_USE_MMU
> - select BR2_PACKAGE_DBUS
> + depends on !BR2_PREFER_STATIC_LIB
> select BR2_PACKAGE_SYSTEMD
>
> -comment 'systemd needs eudev /dev management and a toolchain w/ largefile, wchar, IPv6, threads'
> +comment 'systemd needs a (e)glibc toolchain'
> + depends on !BR2_TOOLCHAIN_USES_GLIBC
> +
> +comment 'systemd needs a toolchain w/ largefile, wchar, IPv6, threads'
> + depends on BR2_avr32
> depends on BR2_USE_MMU
> depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && \
> - BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS && \
> - BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV)
> + BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS)
> +
> +comment 'systemd needs a toolchain w/ SSP'
> + depends on !BR2_TOOLCHAIN_HAS_SSP
> +
> +comment "systemd needs a toolchain w/ dynamic library"
> + depends on BR2_PREFER_STATIC_LIB
These comments should actually be one. However, we just realized that
glibc toolchains are always with largefile, wchar, ipv6, threads, SSP
and dynamic library support. So the comment can be reduced to:
systemd needs an (e)glibc toolchain
(note the 'an')
(this is a simplification we should actually make tree-wide and
document in the manual, but this is for another patch).
>
> config BR2_INIT_NONE
> bool "None"
> @@ -107,7 +118,7 @@ config BR2_INIT_NONE
> endchoice
>
> choice
> - prompt "/dev management"
> + prompt "/dev management" if !BR2_INIT_SYSTEMD
> default BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
>
> config BR2_ROOTFS_DEVICE_CREATION_STATIC
> @@ -137,6 +148,9 @@ comment "eudev needs a toolchain w/ dynamic library"
>
> endchoice
>
> +comment "/dev management using udev (from systemd)"
> + depends on BR2_INIT_SYSTEMD
> +
> config BR2_ROOTFS_DEVICE_TABLE
> string "Path to the permission tables"
> default "system/device_table.txt"
> --
Best regards,
Thomas
^ permalink raw reply [flat|nested] 22+ messages in thread* [Buildroot] [PATCH v6 4/5] systemd: bump to v207.
2014-02-03 22:10 ` Thomas De Schampheleire
@ 2014-02-04 8:41 ` Samuel Martin
0 siblings, 0 replies; 22+ messages in thread
From: Samuel Martin @ 2014-02-04 8:41 UTC (permalink / raw)
To: buildroot
Hi Eric,
On Mon, Feb 3, 2014 at 11:10 PM, Thomas De Schampheleire <
patrickdepinguin@gmail.com> wrote:
> Hi Eric,
>
> On Mon, Jan 13, 2014 at 4:45 PM, Eric Le Bihan
> <eric.le.bihan.dev@free.fr> wrote:
>
[..]
> > diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> > index a5dc8e5..bca3058 100644
> > --- a/package/systemd/systemd.mk
> > +++ b/package/systemd/systemd.mk
> > @@ -4,75 +4,117 @@
> > #
> >
> ################################################################################
> >
> > -SYSTEMD_VERSION = 44
> > +SYSTEMD_VERSION = 207
> > SYSTEMD_SITE = http://www.freedesktop.org/software/systemd/
> > SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.xz
> > SYSTEMD_LICENSE = GPLv2+
> > -SYSTEMD_LICENSE_FILES = LICENSE
> > +SYSTEMD_LICENSE_FILES = LICENSE.GPLV2 LICENSE.LGPL2.1 LICENSE.MIT
> > SYSTEMD_INSTALL_STAGING = YES
> > SYSTEMD_DEPENDENCIES = \
> > host-intltool \
> > libcap \
> > - udev \
> > - dbus
> > + dbus \
> > + util-linux \
> > + kmod
>
It seems systemd also depends on host-gperf
Regards,
--
Samuel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140204/6104e370/attachment.html>
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v6 5/5] manual: update /dev management section.
2014-01-13 15:45 [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev Eric Le Bihan
` (3 preceding siblings ...)
2014-01-13 15:45 ` [Buildroot] [PATCH v6 4/5] systemd: bump to v207 Eric Le Bihan
@ 2014-01-13 15:45 ` Eric Le Bihan
2014-02-03 22:14 ` Thomas De Schampheleire
2014-01-13 16:04 ` [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev Lucas De Marchi
2014-02-03 22:20 ` Thomas De Schampheleire
6 siblings, 1 reply; 22+ messages in thread
From: Eric Le Bihan @ 2014-01-13 15:45 UTC (permalink / raw)
To: buildroot
This patch updates the /dev management section in the manual with information
about eudev, which replaces udev.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
docs/manual/configure.txt | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/docs/manual/configure.txt b/docs/manual/configure.txt
index 89df3d9..32a12ce 100644
--- a/docs/manual/configure.txt
+++ b/docs/manual/configure.txt
@@ -310,22 +310,24 @@ different solutions to handle the +/dev+ directory :
about +mdev+ and the syntax of its configuration file, see
http://git.busybox.net/busybox/tree/docs/mdev.txt.
- * The fourth solution is *Dynamic using udev*. This method also
+ * The fourth solution is *Dynamic using eudev*. This method also
relies on the _devtmpfs_ virtual filesystem detailed above, but
- adds the +udev+ userspace daemon on top of it. +udev+ is a daemon
+ adds the +eudev+ userspace daemon on top of it. +eudev+ is a daemon
that runs in the background, and gets called by the kernel when a
device gets added or removed from the system. It is a more
- heavyweight solution than +mdev+, but provides higher flexibility
- and is sometimes mandatory for some system components (systemd for
- example). +udev+ is the mechanism used in most desktop Linux
- distributions. For more details about +udev+, see
- http://en.wikipedia.org/wiki/Udev.
+ heavyweight solution than +mdev+, but provides higher flexibility.
+ +eudev+ is a standalone version of +udev+, the original userspace
+ daemon used in most desktop Linux distributions, which is now part
+ of Systemd. For more details, see http://en.wikipedia.org/wiki/Udev.
The Buildroot developers recommandation is to start with the *Dynamic
using devtmpfs only* solution, until you have the need for userspace
to be notified when devices are added/removed, or if firmwares are
needed, in which case *Dynamic using mdev* is usually a good solution.
+Note that if +systemd+ is chosen as init system, /dev management will
+be performed by the +udev+ program provided by +systemd+.
+
init system
~~~~~~~~~~~
--
1.7.9.5
^ permalink raw reply related [flat|nested] 22+ messages in thread* [Buildroot] [PATCH v6 5/5] manual: update /dev management section.
2014-01-13 15:45 ` [Buildroot] [PATCH v6 5/5] manual: update /dev management section Eric Le Bihan
@ 2014-02-03 22:14 ` Thomas De Schampheleire
0 siblings, 0 replies; 22+ messages in thread
From: Thomas De Schampheleire @ 2014-02-03 22:14 UTC (permalink / raw)
To: buildroot
Hi Eric,
On Mon, Jan 13, 2014 at 4:45 PM, Eric Le Bihan
<eric.le.bihan.dev@free.fr> wrote:
> This patch updates the /dev management section in the manual with information
> about eudev, which replaces udev.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
> docs/manual/configure.txt | 16 +++++++++-------
> 1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/docs/manual/configure.txt b/docs/manual/configure.txt
> index 89df3d9..32a12ce 100644
> --- a/docs/manual/configure.txt
> +++ b/docs/manual/configure.txt
> @@ -310,22 +310,24 @@ different solutions to handle the +/dev+ directory :
> about +mdev+ and the syntax of its configuration file, see
> http://git.busybox.net/busybox/tree/docs/mdev.txt.
>
> - * The fourth solution is *Dynamic using udev*. This method also
> + * The fourth solution is *Dynamic using eudev*. This method also
> relies on the _devtmpfs_ virtual filesystem detailed above, but
> - adds the +udev+ userspace daemon on top of it. +udev+ is a daemon
> + adds the +eudev+ userspace daemon on top of it. +eudev+ is a daemon
> that runs in the background, and gets called by the kernel when a
> device gets added or removed from the system. It is a more
> - heavyweight solution than +mdev+, but provides higher flexibility
> - and is sometimes mandatory for some system components (systemd for
> - example). +udev+ is the mechanism used in most desktop Linux
> - distributions. For more details about +udev+, see
> - http://en.wikipedia.org/wiki/Udev.
> + heavyweight solution than +mdev+, but provides higher flexibility.
> + +eudev+ is a standalone version of +udev+, the original userspace
> + daemon used in most desktop Linux distributions, which is now part
> + of Systemd. For more details, see http://en.wikipedia.org/wiki/Udev.
>
> The Buildroot developers recommandation is to start with the *Dynamic
recommendation
(not changed by your patch, but would be nice to fix at the same time).
> using devtmpfs only* solution, until you have the need for userspace
> to be notified when devices are added/removed, or if firmwares are
> needed, in which case *Dynamic using mdev* is usually a good solution.
>
> +Note that if +systemd+ is chosen as init system, /dev management will
> +be performed by the +udev+ program provided by +systemd+.
> +
> init system
> ~~~~~~~~~~~
>
Best regards,
Thomas
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev
2014-01-13 15:45 [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev Eric Le Bihan
` (4 preceding siblings ...)
2014-01-13 15:45 ` [Buildroot] [PATCH v6 5/5] manual: update /dev management section Eric Le Bihan
@ 2014-01-13 16:04 ` Lucas De Marchi
2014-01-16 17:30 ` Lucas De Marchi
2014-02-03 22:20 ` Thomas De Schampheleire
6 siblings, 1 reply; 22+ messages in thread
From: Lucas De Marchi @ 2014-01-13 16:04 UTC (permalink / raw)
To: buildroot
Hi Eric,
On Mon, Jan 13, 2014 at 1:45 PM, Eric Le Bihan
<eric.le.bihan.dev@free.fr> 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.
>
> Changes v5 -> v6:
> - fixed packages not properly converted to BR2_PACKAGE_HAS_UDEV
> (reported by Samuel M.).
> - forced inotify support in Linux if eudev is used for /dev management.
> - forced inotify support in Linux if systemd is used as init system.
> - updated information about systemd requirements.
Looks good. I'm successfully using this.
thanks
Lucas De Marchi
^ permalink raw reply [flat|nested] 22+ messages in thread* [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev
2014-01-13 16:04 ` [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev Lucas De Marchi
@ 2014-01-16 17:30 ` Lucas De Marchi
2014-01-16 20:44 ` Peter Korsgaard
0 siblings, 1 reply; 22+ messages in thread
From: Lucas De Marchi @ 2014-01-16 17:30 UTC (permalink / raw)
To: buildroot
Hi Peter,
Any plans to apply the rest of this series?
thanks
Lucas De Marchi
On Mon, Jan 13, 2014 at 2:04 PM, Lucas De Marchi
<lucas.de.marchi@gmail.com> wrote:
> Hi Eric,
>
> On Mon, Jan 13, 2014 at 1:45 PM, Eric Le Bihan
> <eric.le.bihan.dev@free.fr> 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.
>>
>> Changes v5 -> v6:
>> - fixed packages not properly converted to BR2_PACKAGE_HAS_UDEV
>> (reported by Samuel M.).
>> - forced inotify support in Linux if eudev is used for /dev management.
>> - forced inotify support in Linux if systemd is used as init system.
>> - updated information about systemd requirements.
>
> Looks good. I'm successfully using this.
>
> thanks
>
> Lucas De Marchi
--
Lucas De Marchi
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev
2014-01-13 15:45 [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev Eric Le Bihan
` (5 preceding siblings ...)
2014-01-13 16:04 ` [Buildroot] [PATCH v6 0/5] udev is now provided by systemd or eudev Lucas De Marchi
@ 2014-02-03 22:20 ` Thomas De Schampheleire
6 siblings, 0 replies; 22+ messages in thread
From: Thomas De Schampheleire @ 2014-02-03 22:20 UTC (permalink / raw)
To: buildroot
Hi Eric,
On Mon, Jan 13, 2014 at 4:45 PM, Eric Le Bihan
<eric.le.bihan.dev@free.fr> 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.
>
> Changes v5 -> v6:
> - fixed packages not properly converted to BR2_PACKAGE_HAS_UDEV
> (reported by Samuel M.).
> - forced inotify support in Linux if eudev is used for /dev management.
> - forced inotify support in Linux if systemd is used as init system.
> - updated information about systemd requirements.
>
> Changes v4 -> v5:
> - disabled systemd and eudev on avr32.
> - reverted Busybox binaries overwrite fix.
>
> Changes v3 -> v4:
> - updated /dev management section in user manual.
> - fixed indentation of conditionals in Makefiles (suggested by Thomas P).
> - added missing comments on dependencies (suggested by Thomas P, Thomas DS).
> - fixed some packages not being converted to BR2_PACKAGE_HAS_UDEV.
>
> Changes v2 -> v3:
> - reordered patches for better bisectability (suggested by Thomas).
> - removed uClibc support for Systemd (suggested by Arnout).
> - bumped systemd to v207 (no more backport patches).
> - bumped eudev to 1.3.
>
> Changes v1 -> v2:
> - split patch for better readability.
> - promoted init system selection above /dev management in "System
> Configuration" menu.
> - /dev management selection is not displayed if systemd is chosen as init
> system, as udev is the only possible choice (suggested by Arnout).
> - added "Dynamic with eudev" choice in /dev management selection.
> - less patches for systemd/uclibc compatibility, thanks to recent update of
> uclibc 0.9.33.2.
> - autoreconf not needed anymore for systemd (thanks to removal of
> configure.ac patch).
> - ACL/Gudev support in systemd activated only if acl/libglib2 are
> selected (suggested by Arnout).
> - udev package provides BR2_PACKAGE_HAS_UDEV (suggested by Thomas).
> - converted packages depending on
> BR2_PACKAGE_UDEV/BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV to
> BR2_PACKAGE_HAS_UDEV.
> - eudev source code fetched as a tarball, not from Git tree (suggested by
> Arnout).
> - removed "enable all extras" option from eudev configuration: Gudev support
> is activated if libglib2 is selected (suggested by Arnout).
> - added option to build udev rule generator in eudev, as it was in previous
> version of udev.
> - removed dependency on hwdata for systemd and eudev, as both embed their
> own hardware database.
>
> Best regards,
> ELB
>
> Eric Le Bihan (5):
> sysvinit: depend on SysV selected as init system.
> eudev: new package.
> udev: convert to virtual package.
> systemd: bump to v207.
> manual: update /dev management section.
>
> Config.in.legacy | 8 ++
> docs/manual/adding-packages-directory.txt | 3 +-
> docs/manual/configure.txt | 16 ++--
> linux/linux.mk | 3 +-
> package/Config.in | 1 +
> package/ccid/ccid.mk | 2 +-
> package/eudev/Config.in | 38 ++++++++
> package/{udev => eudev}/S10udev | 2 +-
> package/eudev/eudev.mk | 48 ++++++++++
> package/gpsd/gpsd.mk | 2 +-
> package/libatasmart/Config.in | 4 +-
> package/libcec/libcec.mk | 2 +-
> package/libdrm/libdrm.mk | 2 +-
> package/libmbim/Config.in | 5 +-
> package/modem-manager/Config.in | 6 +-
> package/network-manager/Config.in | 8 +-
> package/ofono/ofono.mk | 2 +-
> package/pcsc-lite/Config.in | 2 +-
> package/pcsc-lite/pcsc-lite.mk | 2 +-
> package/pulseaudio/pulseaudio.mk | 2 +-
> package/systemd/Config.in | 56 ++++++++++-
> package/systemd/systemd-fix-getty-unit.patch | 36 ++++---
> package/systemd/systemd-fix-page-size.patch | 43 ---------
> package/systemd/systemd-uclibc-fix.patch | 59 ------------
> package/systemd/systemd.mk | 98 ++++++++++++++------
> package/sysvinit/Config.in | 1 +
> package/udev/Config.in | 49 +---------
> package/udev/udev.mk | 47 ++--------
> package/udisks/Config.in | 8 +-
> package/usbmount/Config.in | 4 +-
> package/weston/Config.in | 4 +-
> package/x11r7/xdriver_xf86-input-evdev/Config.in | 4 +-
> .../xserver_xorg-server/xserver_xorg-server.mk | 2 +-
> package/xenomai/xenomai.mk | 2 +-
> system/Config.in | 47 ++++++----
> 35 files changed, 318 insertions(+), 300 deletions(-)
> create mode 100644 package/eudev/Config.in
> copy package/{udev => eudev}/S10udev (98%)
> create mode 100644 package/eudev/eudev.mk
> delete mode 100644 package/systemd/systemd-fix-page-size.patch
> delete mode 100644 package/systemd/systemd-uclibc-fix.patch
>
I just finished reviewing this series and provided some comments on
it, discussing some of the points with Peter and Samuel.
If you would have some time to review these comments and send a new
patch series early this week, that would be great, as Peter could then
integrate the entire series in 2014.02-rc1, still. The -rc1 is going
to be send this week.
Thanks in advance,
Thomas
^ permalink raw reply [flat|nested] 22+ messages in thread