Introduce libudev (branch yem/libudev2)
v4 cover Introduce libudev (branch yem/libudev2)
Hello All!
This series introduces the possibility to just build and install libudev, without requiring that the /dev management be handled by eudev or systemd.
A lot of packages that have a dependency on udev, in fact only require a libudev, not a udev daemon. That's the case for e.g. libinput, libcec, mesa3d...
The series contains:
- a patch to fix generating the list of virtual packages for the manual
- three patches to introduce the libudev virtual package, and its
providers: eudev and systemd
- a patch to make eudev only build libudev if /dev management is handled by neither eudev nor systemd
- four patches to convert packages to depend on libusb instead of a udev daemon; those packages have been confirmed by Bernd to indeed only need libudev and not a udev daemon
- five RFC patches to convert packages we are not sure whether they would be happy with only a libudev, and which would need run-time testing to check
Not all packages that reference udev have been switched over to depend on libudev, though, since it is unclear to me whether they require a udev daemon, or would be happy with just libudev.
On your keyboards, get set, ready... Comment! :-)
Changes v3 -> v4:
- do not remove the prompts for eudev and systemd (Thomas P.)
- patch to convert xserver_xorg-server dropped (Bernd)
Changes RFCv2 -> v3:
- some typoes (Samuel)
- misc fixes in gen-manual-lists.py (Samuel)
Changes RFCv1 -> RFCv2:
- have eudev and systemd be providers for libudev, instead of having udev be the provider (Thomas, on IRC)
- fix the manual lists after bugs were uncovered with the removal of the eudev and systemd prompts
- convert some packages
Regards,
Yann E. MORIN.
The following changes since commit 26aefa672c96caefc17adf59a9ab3d327114ad36:
bind: fix static openssl linking (2014-07-30 23:51:51 +0200)
are available in the git repository at:
git://gitorious.org/buildroot/buildroot.git yem/libudev2
for you to fetch changes up to 7c0186b47197d4a84da80e789a03c70e0cf5b3c1:
[RFC] package/weston: needs libudev, not a udev daemon (2014-07-31 02:01:19 +0200)
----------------------------------------------------------------
Yann E. MORIN (14):
support/gen-manual-lists.py: rework generating the virtual package list package/libudev: new virtual package
package/eudev: is a provider for libudev
package/systemd: is a provider for libudev
package/eudev: split udev/libudev
package/mesa3d: depends on libudev, not udev package/libcec: needs libudev, not a udev daemon package/libdrm: can also use only libudev package/xdriver_xf86-input-evdev: needs libudev, not a udev daemon [RFC] package/libatasmart: needs libudev, not a udev daemon [RFC] package/libinput: needs libudev, not a udev daemon [RFC] package/libusb: needs libudev, not a udev daemon [RFC] package/vlc: needs libudev, not a udev daemon
[RFC] package/weston: needs libudev, not a udev daemon
package/Config.in | 1 + package/eudev/Config.in | 30 ++++++- package/eudev/eudev.mk | 51 ++++++++++-- package/libatasmart/Config.in | 4 +- package/libcec/libcec.mk | 4 +- package/libdrm/libdrm.mk | 4 +- package/libinput/Config.in | 6 +- package/libinput/libinput.mk | 2 +- package/libudev/Config.in | 6 ++ package/libudev/libudev.mk | 7 ++ package/libusb/libusb.mk | 5 +- package/mesa3d/Config.in | 6 +- package/mesa3d/mesa3d.mk | 4 +- package/systemd/Config.in | 4 + package/systemd/systemd.mk | 2 +- package/vlc/vlc.mk | 4 +- package/weston/Config.in | 6 +- package/weston/weston.mk | 2 +- package/x11r7/xdriver_xf86-input-evdev/Config.in | 5 +- .../xdriver_xf86-input-evdev.mk | 3 +- package/xbmc/Config.in | 6 +- support/scripts/gen-manual-lists.py | 93 ++++++++++++++++++---- system/Config.in | 20 ++++- 23 files changed, 216 insertions(+), 59 deletions(-) create mode 100644 package/libudev/Config.in create mode 100644 package/libudev/libudev.mk
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v4 1/14 support/gen-manual-lists.py: rework generating the virtual package list
To get the list of providers of a virtual pacakge, we currently scan all the symbols to see if they select the virtual package _HAS symbol.
Then, for all such selecting symbols, we iterate through the select chain, up to the uppermost symbol that has a prompt, to get the actual user-selectable symbol that ultimately will select the virtual package. This handles blind symbols that are options to a package.
So far, this is working relatively OK, except we do not account for a special type of providers: virtual packages. There is nothing that prevents a virtual package to declare itself as a provider for another virtual package.
Additionally, another case that is not handled is actual packages that are actually promptless. So far, we expected symbols with no prompt to be an option to a package, and we would ultimately (via the backward select recursion, above) end up finding a package symbol with a prompt.
But we're soon removing the prompts of eudev and systemd [*], so the previously valid heuristic is no longer valid.
So, we need a brand-new heuristic to build up the list of providers.
Fortunately, instead of _blindly_ looking for selecting symbols, we can actually extract the providing packages from the list of 'default' values of the _PROVIDES_XXX symbol. This gives us the list of packages, but not sub-options.
Then, we can go on hunting for any selecting symbol. Each such symbol that is not a known package gets treated like an option, as was done up until now.
What this additional complexity brings, is that prompt-less packages are automatically found, from the list of 'default' values, and this includes real prompt-less packages, as well as virtual packages. These are what we were missing previously.
[*] because they are not directly user-selectable, see the corresponding following changesets for the rationale.
--- support/scripts/gen-manual-lists.py | 93 +++++++++++++++++++++++++++++++------ 1 file changed, 78 insertions(+), 15 deletions(-)
support/scripts/gen-manual-lists.py +78 -15
@@ -384,28 +384,91 @@ class Buildroot: return s return None - def _get_providers(symbol): - providers = list() + # This functions return a list of all symbols that have a prompt, + # and that 'select' the given symbol + def _get_selecting_symbols_with_prompt(symbol): + syms = list() for sym in self.config: if not sym.is_symbol(): continue - if _symbol_is_legacy(sym): - continue selects = sym.get_selected_symbols() if not selects: continue + # Does this symbol selects us? for s in selects: - if s == symbol: - if sym.prompts: - l = self._get_symbol_label(sym,False) - parent_pkg = _get_parent_package(sym) - if parent_pkg is not None: - l = self._get_symbol_label(parent_pkg, False) \ - + " (w/ " + l + ")" - providers.append(l) - else: - providers.extend(_get_providers(sym)) - return providers + if not s == symbol: + continue + if sym.prompts: + syms.append(sym) + else: + syms.extend(_get_selecting_symbols_with_prompt(sym)) + return syms + + # This function returns a list of providers for the specified symbol. + # 'symbol' must be a _HAS_XXX symbol. + # Each element is a string. + # Each element is the name of the providing package, with any + # sub-option of that package. + # E.g.: "rpi-userland" "mesa3d (w/ OpenGL ES)" + # + # We consider the provider packages by looking at all the default "foo" + # for the corresponding _PROVIDES_XXX symbol, which gives us all the + # packages. + # Then we look at all the symbols that 'select' the _HAS_XXX symbol. + # If a selecting symbol is also a package symbol, this is a cut. + # Otherwise, we iterate the 'selected by' chain until we find a symbol + # with a prompt, which we consider the enabling sub-option, or we end + # up with the providing-package's symbol. + def _get_providers(symbol): + providers_syms = list() + providers_syms_names = list() + providers_syms_w_opts = list() + + # Get all providing packages + _provides_pkg = re.sub(r"^(BR2_PACKAGE)_HAS_(.+)$", + r"\1_PROVIDES_\2", + symbol.get_name()) + _provides_sym = self.config.get_symbol(_provides_pkg) + for (pn, _) in _provides_sym.def_exprs: + ps = self.config._expr_val_str(pn, get_val_instead_of_eval=True) + ps = re.sub(r"-", r"_", ps.strip('"')) + ps = self.config.get_symbol("BR2_PACKAGE_" + ps.upper()) + providers_syms.append(ps) + providers_syms_names.append( (ps, pn) ) + + # Now, try to get sub-options + # Iterate across all symbols, to see if any selects us + for sym in _get_selecting_symbols_with_prompt(symbol): + if _symbol_is_legacy(sym): + continue + if sym in providers_syms: + # The symbol is a package that provides us, and we already + # know of it + continue + # The symbol is unknown, we suppose it is an option, so find + # the package it comes from + parent_pkg = _get_parent_package(sym) + if parent_pkg is not None: + providers_syms_w_opts.append( (parent_pkg, sym) ) + + # Now, build a list of providers with option + seen = list() + providers_str = list() + for (p, o) in providers_syms_w_opts: + if not p in seen: + seen.append(p) + l = self._get_symbol_label(p, False) + " (w/ " \ + + self._get_symbol_label(o, False) + ")" + providers_str.append(l) + + # Finally, complete with the list of providers without option + for (ps, pn) in providers_syms_names: + if ps in seen: + continue + if not pn in providers_str: + providers_str.append(pn) + + return providers_str if what == "layout": return ( "100%", "^1,4,4" )
Signature · 1 line
1.9.1
PATCH v4 2/14 package/libudev: new virtual package
In reply to Yann E. MORINNot all packages that currently depend on udev really need an udev daemon; most may only require a libudev.so to be available. For example, libcec, mesa3d...
Currently, we conflate udev and libudev into a single virtual package.
Introduce a new virtual package 'libudev' that packages can select if they provide libudev.so (obviously, systemd and eudev are such packages) and which packages can depend on if they just need libudev.so and not an udev daemon.
Note: only the virtual package is added for now, providers and users will be converted in followup patches.
--- package/Config.in | 1 + package/libudev/Config.in | 6 ++++++ package/libudev/libudev.mk | 7 +++++++ 3 files changed, 14 insertions(+) create mode 100644 package/libudev/Config.in create mode 100644 package/libudev/libudev.mk
package/Config.in +1 -0
@@ -673,6 +673,7 @@ menu "Hardware handling" source "package/librtlsdr/Config.in" source "package/libserial/Config.in" source "package/libsoc/Config.in" + source "package/libudev/Config.in" source "package/libusb/Config.in" source "package/libusb-compat/Config.in" source "package/libv4l/Config.in"
package/libudev/Config.in new file +6 -0
@@ -0,0 +1,6 @@ +config BR2_PACKAGE_HAS_LIBUDEV + bool + +config BR2_PACKAGE_PROVIDES_LIBUDEV + depends on BR2_PACKAGE_HAS_LIBUDEV + string
package/libudev/libudev.mk new file +7 -0
@@ -0,0 +1,7 @@ +################################################################################ +# +# libudev +# +################################################################################ + +$(eval $(virtual-package))
Signature · 1 line
1.9.1
PATCH v4 3/14 package/eudev: is a provider for libudev
In reply to Yann E. MORIN--- package/eudev/Config.in | 4 ++++ package/eudev/eudev.mk | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)
package/eudev/Config.in +4 -0
@@ -6,6 +6,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_LIBUDEV select BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
@@ -21,6 +22,9 @@ config BR2_PACKAGE_EUDEV if BR2_PACKAGE_EUDEV +config BR2_PACKAGE_PROVIDES_LIBUDEV + default "eudev" + config BR2_PACKAGE_PROVIDES_UDEV default "eudev"
package/eudev/eudev.mk +1 -1
@@ -25,7 +25,7 @@ EUDEV_CONF_OPT = \ --enable-libkmod EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod -EUDEV_PROVIDES = udev +EUDEV_PROVIDES = libudev udev ifeq ($(BR2_PACKAGE_EUDEV_RULES_GEN),y) EUDEV_CONF_OPT += --enable-rule_generator
Signature · 1 line
1.9.1
PATCH v4 3/14 package/eudev: is a provider for libudev
Regards,
C?dric CHEDALEUX
-----Message d'origine-----
De?: buildroot-bounces at busybox.net [mailto:buildroot-bounces at busybox.net] De la part de Yann E. MORIN Envoy??: jeudi 31 juillet 2014 02:17
??: buildroot at buildroot.org
Cc?: Bernd Kuhls; Yann E. MORIN
Objet?: [Buildroot] [PATCH 03/14 v4] package/eudev: is a provider for libudev
--- package/eudev/Config.in | 4 ++++ package/eudev/eudev.mk | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)
package/eudev/Config.in +1 -0
@@ -6,6 +6,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_LIBUDEV select BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID @@ -21,6 +22,9 @@ config BR2_PACKAGE_EUDEV
if BR2_PACKAGE_EUDEV
+config BR2_PACKAGE_PROVIDES_LIBUDEV
+ default "eudev"
+
config BR2_PACKAGE_PROVIDES_UDEV
default "eudev"
package/eudev/eudev.mk +1 -1
@@ -25,7 +25,7 @@ EUDEV_CONF_OPT = \ --enable-libkmod EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod -EUDEV_PROVIDES = udev +EUDEV_PROVIDES = libudev udev ifeq ($(BR2_PACKAGE_EUDEV_RULES_GEN),y) EUDEV_CONF_OPT += --enable-rule_generator --
1.9.1
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
_________________________________________________________________________________________________________________________
Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration, Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
This message and its attachments may contain confidential or privileged information that may be protected by law; they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments. As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified. Thank you.
PATCH v4 4/14 package/systemd: is a provider for libudev
In reply to Yann E. MORIN--- package/systemd/Config.in | 4 ++++ package/systemd/systemd.mk | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)
package/systemd/Config.in +4 -0
@@ -16,6 +16,7 @@ config BR2_PACKAGE_SYSTEMD depends on !BR2_PREFER_STATIC_LIB # kmod depends on BR2_TOOLCHAIN_HAS_THREADS # dbus depends on BR2_USE_MMU # dbus + select BR2_PACKAGE_HAS_LIBUDEV select BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_DBUS # runtime dependency only select BR2_PACKAGE_LIBCAP
@@ -60,6 +61,9 @@ config BR2_PACKAGE_SYSTEMD if BR2_PACKAGE_SYSTEMD +config BR2_PACKAGE_PROVIDES_LIBUDEV + default "systemd" + config BR2_PACKAGE_PROVIDES_UDEV default "systemd"
package/systemd/systemd.mk +1 -1
@@ -17,7 +17,7 @@ SYSTEMD_DEPENDENCIES = \ kmod \ host-gperf -SYSTEMD_PROVIDES = udev +SYSTEMD_PROVIDES = libudev udev SYSTEMD_AUTORECONF = YES # Make sure that systemd will always be built after busybox so that we have
Signature · 1 line
1.9.1
PATCH v4 5/14 package/eudev: split udev/libudev
In reply to Yann E. MORINQuite a few packages are happy with just libudev, and not a full udev daemon running.
Split the eudev package so that we can install just libudev if /dev management is not handled by eudev.
When only the library is installed, behave as a provider for the libudev virtual package. If /dev management is handled by eudev, then also be a provider for the udev virtual package.
Adjust comments of dependencies accordingly.
Note:
Most of the .mk splitting of the dependencies and the build/install rules are from Bernd. Thanks! :-)
---
Note: although the prompt is changed to 'libusb', we still call the package 'eudev', to avoid a mess of renaming the variables. If needed, that can be done in a separate patch.
Changes RFCv2-> v3:
- typo s/system/systemd/
Changes RFCv1 -> RFCv2:
- be a provider for libudev always, since udev is not such a provider any more (Thomas)
--- package/eudev/Config.in | 34 ++++++++++++++++++++++++++------- package/eudev/eudev.mk | 51 ++++++++++++++++++++++++++++++++++++++++++++----- system/Config.in | 20 +++++++++++++++---- 3 files changed, 89 insertions(+), 16 deletions(-)
package/eudev/Config.in +27 -7
@@ -1,12 +1,32 @@ config BR2_PACKAGE_EUDEV bool "eudev" + depends on !BR2_avr32 # no __NR_name_to_handle_at + depends on BR2_USE_WCHAR + depends on !BR2_PREFER_STATIC_LIB + depends on !BR2_PACKAGE_SYSTEMD + select BR2_PACKAGE_HAS_LIBUDEV + help + eudev is a fork of systemd-udev with the goal of obtaining better + compatibility with existing software. + + This installs only the libudev library. + + http://www.gentoo.org/proj/en/eudev/ + +if BR2_PACKAGE_EUDEV + +config BR2_PACKAGE_PROVIDES_LIBUDEV + default "eudev" + +config BR2_PACKAGE_EUDEV_DAEMON + bool "udev daemon" + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV depends on !BR2_avr32 # no epoll_create1 depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV depends on BR2_USE_MMU # uses fork() depends on BR2_LARGEFILE # util-linux depends on BR2_USE_WCHAR # util-linux depends on !BR2_PREFER_STATIC_LIB # kmod - select BR2_PACKAGE_HAS_LIBUDEV select BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
@@ -20,10 +40,7 @@ config BR2_PACKAGE_EUDEV http://dev.gentoo.org/~blueness/eudev -if BR2_PACKAGE_EUDEV - -config BR2_PACKAGE_PROVIDES_LIBUDEV - default "eudev" +if BR2_PACKAGE_EUDEV_DAEMON config BR2_PACKAGE_PROVIDES_UDEV default "eudev"
@@ -33,14 +50,17 @@ config BR2_PACKAGE_EUDEV_RULES_GEN help Enable persistent rules generator -endif +endif # BR2_PACKAGE_EUDEV_DAEMON -comment "eudev needs eudev /dev management" +comment "udev daemon needs eudev /dev management" depends on !BR2_avr32 depends on BR2_USE_MMU depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV +endif # BR2_PACKAGE_EUDEV + comment "eudev needs a toolchain w/ largefile, wchar, dynamic library" depends on !BR2_avr32 depends on BR2_USE_MMU depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB + depends on !BR2_PACKAGE_SYSTEMD
package/eudev/eudev.mk +46 -5
69 lines not on this page · raw message
system/Config.in +16 -4
@@ -125,11 +125,23 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV 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 - depends on BR2_USE_MMU # eudev + depends on BR2_USE_MMU # eudev (fork) + depends on BR2_LARGEFILE # eudev-daemon (util-linux) + depends on BR2_USE_WCHAR # eudev (util-linux) + depends on !BR2_PREFER_STATIC_LIB # eudev select BR2_PACKAGE_EUDEV + select BR2_PACKAGE_EUDEV_DAEMON + 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. + + You can further configure eudev in: + Target packages --> Libraries --> Hardware handling --> eudev + + http://dev.gentoo.org/~blueness/eudev comment "eudev needs a toolchain w/ largefile, wchar, dynamic library" depends on !BR2_avr32 # eudev
Signature · 1 line
1.9.1
PATCH v4 5/14 package/eudev: split udev/libudev
Regards,
C?dric CHEDALEUX
Quoted 229 lines
-----Message d'origine-----
De?: buildroot-bounces at busybox.net [mailto:buildroot- bounces at busybox.net] De la part de Yann E. MORIN Envoy??: jeudi 31 juillet 2014 02:17
??: buildroot at buildroot.org
Cc?: Bernd Kuhls; Thomas Petazzoni; Yann E. MORIN
Objet?: [Buildroot] [PATCH 05/14 v4] package/eudev: split udev/libudevQuite a few packages are happy with just libudev, and not a full udev daemon running.
Split the eudev package so that we can install just libudev if /dev management is not handled by eudev.
When only the library is installed, behave as a provider for the libudev virtual package. If /dev management is handled by eudev, then also be a provider for the udev virtual package.
Adjust comments of dependencies accordingly.
Note:
Most of the .mk splitting of the dependencies and the build/install rules are from Bernd. Thanks! :-)Signed-off-by Bernd Kuhls <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>---
Note: although the prompt is changed to 'libusb', we still call the package 'eudev', to avoid a mess of renaming the variables. If needed, that can be done in a separate patch.Changes RFCv2-> v3:
- typo s/system/systemd/Changes RFCv1 -> RFCv2:
- be a provider for libudev always, since udev is not such a provider any more (Thomas)
---
package/eudev/Config.in | 34 ++++++++++++++++++++++++++-------package/eudev/eudev.mk| 51
++++++++++++++++++++++++++++++++++++++++++++-----
system/Config.in | 20 +++++++++++++++----3 files changed, 89 insertions(+), 16 deletions(-)package/eudev/Config.in index renamed from package/eudev/Config.in +0
-0fa28a9f..bf05a0e 100644
package/eudev/Config.in +0
-0@@ -1,12 +1,32 @@config
BR2_PACKAGE_EUDEV
bool "eudev"package/eudev/Config.in +21
-0+ depends on !BR2_avr32 # no __NR_name_to_handle_at + depends on BR2_USE_WCHAR + depends on !BR2_PREFER_STATIC_LIB + depends on !BR2_PACKAGE_SYSTEMD + select BR2_PACKAGE_HAS_LIBUDEV + help + eudev is a fork of systemd-udev with the goal of obtaining better + compatibility with existing software. + + This installs only the libudev library. + + http://www.gentoo.org/proj/en/eudev/ + +if BR2_PACKAGE_EUDEV + +config BR2_PACKAGE_PROVIDES_LIBUDEV + default "eudev" + +config BR2_PACKAGE_EUDEV_DAEMON + bool "udev daemon" + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEVdepends on !BR2_avr32 # no
epoll_create1depends onBR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEVdepends onBR2_USE_MMU# usesfork()depends onBR2_LARGEFILE# util-linux depends onBR2_USE_WCHAR# util-linux depends on !BR2_PREFER_STATIC_LIB # kmodpackage/eudev/Config.in +0
-1- select BR2_PACKAGE_HAS_LIBUDEVselect BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID @@ -20,10 +40,7 @@config
BR2_PACKAGE_EUDEVhttp://dev.gentoo.org/~blueness/eudev
package/eudev/Config.in +1
-4-if BR2_PACKAGE_EUDEV - -config BR2_PACKAGE_PROVIDES_LIBUDEV - default "eudev" +if BR2_PACKAGE_EUDEV_DAEMONconfig
BR2_PACKAGE_PROVIDES_UDEV
default "eudev"package/eudev/Config.in +4
-2@@ -33,14 +50,17 @@ config BR2_PACKAGE_EUDEV_RULES_GEN help Enable persistent rules generator -endif +endif # BR2_PACKAGE_EUDEV_DAEMON -comment "eudev needs eudev /dev management" +comment "udev daemon needs eudev /dev management" depends on !BR2_avr32 depends on BR2_USE_MMU depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV +endif # BR2_PACKAGE_EUDEV +comment "eudev needs a toolchain w/ largefile, wchar, dynamic library"
depends on !BR2_avr32
depends onBR2_USE_MMU
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR ||BR2_PREFER_STATIC_LIBpackage/eudev/Config.in +1
-0+ depends on !BR2_PACKAGE_SYSTEMDpackage/eudev/eudev.mk index renamed from package/eudev/eudev.mk +0
-01cb6b26..7ab1a59 100644
package/eudev/eudev.mk +8
-3@@ -16,19 +16,28 @@ EUDEV_CONF_ENV += LIBS=-lrt EUDEV_CONF_OPT = \ --disable-manpages \ - --sbindir=/sbin \ --with-rootlibdir=/lib \ --libexecdir=/lib \ --with-firmware-path=/lib/firmware \ --disable-introspection \ - --enable-split-usr \ - --enable-libkmod + --enable-split-usr + +EUDEV_DEPENDENCIES = host-pkgconf +EUDEV_PROVIDES = libudev + +ifeq ($(BR2_PACKAGE_EUDEV_DAEMON),y) + +EUDEV_DEPENDENCIES += host-gperf util-linux kmod EUDEV_PROVIDES +=udev
-EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod -
EUDEV_PROVIDES= libudev udevpackage/eudev/eudev.mk +3
-0+EUDEV_CONF_OPT += \ + --sbindir=/sbin \ + --enable-libkmodifeq ($(BR2_PACKAGE_EUDEV_RULES_GEN),y)
EUDEV_CONF_OPT+= --enable-rule_generatorpackage/eudev/eudev.mk +2
-0+else +EUDEV_CONF_OPT += --disable-rule_generatorendif
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
package/eudev/eudev.mk +0
-0@@ -42,4 +51,36 @@ define EUDEV_INSTALL_INIT_SYSV $(INSTALL) -m 0755 package/eudev/S10udev$(TARGET_DIR)/etc/init.d/S10udev endef
package/eudev/eudev.mk +22
-0+else # ! daemon + +EUDEV_CONF_OPT += \ + --disable-keymap \ + --disable-libkmod \ + --disable-modules \ + --disable-selinux \ + --disable-rule-generator \ + --disable-gtk-doc \ + --disable-gudev + +# When not installing the daemon, we have to override the build and +install # commands, to just install the library. + +define EUDEV_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/libudev endef + +# Symlink udev.pc to libudev.pc for those packages that conflate the +two # and 'Requires: udev' when they should just 'Requires: libudev'. +Do the # symlink, to avoid patching each and all of those packages. +define EUDEV_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/libudevDESTDIR=$(STAGING_DIR) install
package/eudev/eudev.mk +5
-0+ ln -sf libudev.pc $(STAGING_DIR)/usr/lib/pkgconfig/udev.pc +endef + +define EUDEV_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/libudevDESTDIR=$(TARGET_DIR)
package/eudev/eudev.mk +4
-0+install endef + +endif # ! daemon +$(eval $(autotools-package))
system/Config.in index e7e146a..a2f7bac renamed from system/Config.in +0
-0100644
system/Config.in +0
-0@@ -125,11 +125,23 @@ config
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
configBR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
bool "Dynamic using eudev"
depends on !BR2_avr32 # eudevsystem/Config.in +4
-4- depends on BR2_LARGEFILE - depends on BR2_USE_WCHAR - depends on !BR2_PREFER_STATIC_LIB - depends on BR2_USE_MMU # eudev + depends on BR2_USE_MMU # eudev (fork) + depends on BR2_LARGEFILE # eudev-daemon (util-linux) + depends on BR2_USE_WCHAR # eudev (util-linux) + depends on !BR2_PREFER_STATIC_LIB # eudevselect
BR2_PACKAGE_EUDEVsystem/Config.in +12
-0+ select BR2_PACKAGE_EUDEV_DAEMON + 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. + + You can further configure eudev in: + Target packages --> Libraries --> Hardware handling --> eudev + + http://dev.gentoo.org/~blueness/eudevcomment "eudev needs a toolchain w/ largefile, wchar, dynamic library"
depends on !BR2_avr32 # eudev
--
1.9.1
Quoted 4 lines
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
_________________________________________________________________________________________________________________________
Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration, Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
This message and its attachments may contain confidential or privileged information that may be protected by law; they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments. As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified. Thank you.
PATCH v4 5/14 package/eudev: split udev/libudev
In reply to Yann E. MORINRegards,
C?dric CHEDALEUX
Quoted 231 lines
-----Message d'origine-----
De?: buildroot-bounces at busybox.net [mailto:buildroot- bounces at busybox.net] De la part de Yann E. MORIN Envoy??: jeudi 31 juillet 2014 02:17
??: buildroot at buildroot.org
Cc?: Bernd Kuhls; Thomas Petazzoni; Yann E. MORIN
Objet?: [Buildroot] [PATCH 05/14 v4] package/eudev: split udev/libudevQuite a few packages are happy with just libudev, and not a full udev daemon running.
Split the eudev package so that we can install just libudev if /dev management is not handled by eudev.
When only the library is installed, behave as a provider for the libudev virtual package. If /dev management is handled by eudev, then also be a provider for the udev virtual package.
Adjust comments of dependencies accordingly.
Note:
Most of the .mk splitting of the dependencies and the build/install rules are from Bernd. Thanks! :-)Signed-off-by Bernd Kuhls <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>---
Note: although the prompt is changed to 'libusb', we still call the package 'eudev', to avoid a mess of renaming the variables. If needed, that can be done in a separate patch.Changes RFCv2-> v3:
- typo s/system/systemd/Changes RFCv1 -> RFCv2:
- be a provider for libudev always, since udev is not such a provider any more (Thomas)
---
package/eudev/Config.in | 34 ++++++++++++++++++++++++++-------package/eudev/eudev.mk| 51
++++++++++++++++++++++++++++++++++++++++++++-----
system/Config.in | 20 +++++++++++++++----3 files changed, 89 insertions(+), 16 deletions(-)package/eudev/Config.in +0
-0@@ -1,12 +1,32 @@config
BR2_PACKAGE_EUDEV
bool "eudev"package/eudev/Config.in +21
-0+ depends on !BR2_avr32 # no __NR_name_to_handle_at + depends on BR2_USE_WCHAR + depends on !BR2_PREFER_STATIC_LIB + depends on !BR2_PACKAGE_SYSTEMD + select BR2_PACKAGE_HAS_LIBUDEV + help + eudev is a fork of systemd-udev with the goal of obtaining better + compatibility with existing software. + + This installs only the libudev library. + + http://www.gentoo.org/proj/en/eudev/ + +if BR2_PACKAGE_EUDEV + +config BR2_PACKAGE_PROVIDES_LIBUDEV + default "eudev" + +config BR2_PACKAGE_EUDEV_DAEMON + bool "udev daemon" + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEVdepends on !BR2_avr32 # no
epoll_create1depends onBR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEVdepends onBR2_USE_MMU# usesfork()depends onBR2_LARGEFILE# util-linux depends onBR2_USE_WCHAR# util-linux depends on !BR2_PREFER_STATIC_LIB # kmodpackage/eudev/Config.in +0
-1- select BR2_PACKAGE_HAS_LIBUDEVselect
BR2_PACKAGE_HAS_UDEV
selectBR2_PACKAGE_UTIL_LINUX
selectBR2_PACKAGE_UTIL_LINUX_LIBBLKIDpackage/eudev/Config.in +1
-4@@ -20,10 +40,7 @@ config BR2_PACKAGE_EUDEV http://dev.gentoo.org/~blueness/eudev -if BR2_PACKAGE_EUDEV - -config BR2_PACKAGE_PROVIDES_LIBUDEV - default "eudev" +if BR2_PACKAGE_EUDEV_DAEMONconfig
BR2_PACKAGE_PROVIDES_UDEV
default "eudev"package/eudev/Config.in +4
-2@@ -33,14 +50,17 @@ config BR2_PACKAGE_EUDEV_RULES_GEN help Enable persistent rules generator -endif +endif # BR2_PACKAGE_EUDEV_DAEMON -comment "eudev needs eudev /dev management" +comment "udev daemon needs eudev /dev management" depends on !BR2_avr32 depends on BR2_USE_MMU depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV +endif # BR2_PACKAGE_EUDEV +comment "eudev needs a toolchain w/ largefile, wchar, dynamic library"
depends on !BR2_avr32
depends onBR2_USE_MMU
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR ||BR2_PREFER_STATIC_LIBpackage/eudev/Config.in +1
-0+ depends on !BR2_PACKAGE_SYSTEMDpackage/eudev/eudev.mk +12
-5@@ -16,19 +16,28 @@ EUDEV_CONF_ENV += LIBS=-lrt EUDEV_CONF_OPT = \ --disable-manpages \ - --sbindir=/sbin \ --with-rootlibdir=/lib \ --libexecdir=/lib \ --with-firmware-path=/lib/firmware \ --disable-introspection \ - --enable-split-usr \ - --enable-libkmod + --enable-split-usr + +EUDEV_DEPENDENCIES = host-pkgconf +EUDEV_PROVIDES = libudev + +ifeq ($(BR2_PACKAGE_EUDEV_DAEMON),y) + +EUDEV_DEPENDENCIES += host-gperf util-linux kmod +EUDEV_PROVIDES += udev -EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod -EUDEV_PROVIDES = libudev udev +EUDEV_CONF_OPT += \ + --sbindir=/sbin \ + --enable-libkmod ifeq ($(BR2_PACKAGE_EUDEV_RULES_GEN),y)
EUDEV_CONF_OPT+= --enable-rule_generatorpackage/eudev/eudev.mk +2
-0+else +EUDEV_CONF_OPT += --disable-rule_generatorendif
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
package/eudev/eudev.mk +0
-0@@ -42,4 +51,36 @@ define EUDEV_INSTALL_INIT_SYSV $(INSTALL) -m 0755 package/eudev/S10udev$(TARGET_DIR)/etc/init.d/S10udev
endefpackage/eudev/eudev.mk +23
-0+else # ! daemon + +EUDEV_CONF_OPT += \ + --disable-keymap \ + --disable-libkmod \ + --disable-modules \ + --disable-selinux \ + --disable-rule-generator \ + --disable-gtk-doc \ + --disable-gudev + +# When not installing the daemon, we have to override the build and install +# commands, to just install the library. + +define EUDEV_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/libudev +endef + +# Symlink udev.pc to libudev.pc for those packages that conflate the two +# and 'Requires: udev' when they should just 'Requires: libudev'. Do the +# symlink, to avoid patching each and all of those packages. +define EUDEV_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/libudevDESTDIR=$(STAGING_DIR) install
package/eudev/eudev.mk +5
-0+ ln -sf libudev.pc $(STAGING_DIR)/usr/lib/pkgconfig/udev.pc +endef + +define EUDEV_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/libudevDESTDIR=$(TARGET_DIR) install
package/eudev/eudev.mk +4
-0+endef + +endif # ! daemon +$(eval $(autotools-package))
system/Config.in +0
-0@@ -125,11 +125,23 @@ config
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
configBR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
bool "Dynamic using eudev"
depends on !BR2_avr32 # eudevsystem/Config.in +4
-4- depends on BR2_LARGEFILE - depends on BR2_USE_WCHAR - depends on !BR2_PREFER_STATIC_LIB - depends on BR2_USE_MMU # eudev + depends on BR2_USE_MMU # eudev (fork) + depends on BR2_LARGEFILE # eudev-daemon (util-linux) + depends on BR2_USE_WCHAR # eudev (util-linux) + depends on !BR2_PREFER_STATIC_LIB # eudevselect
BR2_PACKAGE_EUDEVsystem/Config.in +12
-0+ select BR2_PACKAGE_EUDEV_DAEMON + 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. + + You can further configure eudev in: + Target packages --> Libraries --> Hardware handling --> eudev + + http://dev.gentoo.org/~blueness/eudevcomment "eudev needs a toolchain w/ largefile, wchar, dynamic library"
depends on !BR2_avr32 # eudev
--
1.9.1
Quoted 4 lines
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
_________________________________________________________________________________________________________________________
Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration, Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
This message and its attachments may contain confidential or privileged information that may be protected by law; they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments. As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified. Thank you.
PATCH v4 5/14 package/eudev: split udev/libudev
In reply to Yann E. MORINRegards,
C?dric CHEDALEUX
-----Message d'origine-----
De?: buildroot-bounces at busybox.net [mailto:buildroot-bounces at busybox.net] De la part de Yann E. MORIN Envoy??: jeudi 31 juillet 2014 02:17
??: buildroot at buildroot.org
Cc?: Bernd Kuhls; Thomas Petazzoni; Yann E. MORIN
Objet?: [Buildroot] [PATCH 05/14 v4] package/eudev: split udev/libudev
Quite a few packages are happy with just libudev, and not a full udev daemon running.
Split the eudev package so that we can install just libudev if /dev management is not handled by eudev.
When only the library is installed, behave as a provider for the libudev virtual package. If /dev management is handled by eudev, then also be a provider for the udev virtual package.
Adjust comments of dependencies accordingly.
Note:
Most of the .mk splitting of the dependencies and the build/install rules are from Bernd. Thanks! :-)
---
Note: although the prompt is changed to 'libusb', we still call the package 'eudev', to avoid a mess of renaming the variables. If needed, that can be done in a separate patch.
Changes RFCv2-> v3:
- typo s/system/systemd/
Changes RFCv1 -> RFCv2:
- be a provider for libudev always, since udev is not such a provider any more (Thomas)
--- package/eudev/Config.in | 34 ++++++++++++++++++++++++++------- package/eudev/eudev.mk | 51 ++++++++++++++++++++++++++++++++++++++++++++----- system/Config.in | 20 +++++++++++++++---- 3 files changed, 89 insertions(+), 16 deletions(-)
package/eudev/Config.in +21 -1
@@ -1,12 +1,32 @@ config BR2_PACKAGE_EUDEV bool "eudev" + depends on !BR2_avr32 # no __NR_name_to_handle_at + depends on BR2_USE_WCHAR + depends on !BR2_PREFER_STATIC_LIB + depends on !BR2_PACKAGE_SYSTEMD + select BR2_PACKAGE_HAS_LIBUDEV + help + eudev is a fork of systemd-udev with the goal of obtaining better + compatibility with existing software. + + This installs only the libudev library. + + http://www.gentoo.org/proj/en/eudev/ + +if BR2_PACKAGE_EUDEV + +config BR2_PACKAGE_PROVIDES_LIBUDEV + default "eudev" + +config BR2_PACKAGE_EUDEV_DAEMON + bool "udev daemon" + depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV depends on !BR2_avr32 # no epoll_create1 depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV depends on BR2_USE_MMU # uses fork() depends on BR2_LARGEFILE # util-linux depends on BR2_USE_WCHAR # util-linux depends on !BR2_PREFER_STATIC_LIB # kmod - select BR2_PACKAGE_HAS_LIBUDEV select BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID @@ -20,10 +40,7 @@ config BR2_PACKAGE_EUDEV
http://dev.gentoo.org/~blueness/eudev
-if BR2_PACKAGE_EUDEV
-
-config BR2_PACKAGE_PROVIDES_LIBUDEV
- default "eudev"
+if BR2_PACKAGE_EUDEV_DAEMON
config BR2_PACKAGE_PROVIDES_UDEV
default "eudev"
@@ -33,14 +50,17 @@ config BR2_PACKAGE_EUDEV_RULES_GEN
help
Enable persistent rules generator
-endif
+endif # BR2_PACKAGE_EUDEV_DAEMON
-comment "eudev needs eudev /dev management" +comment "udev daemon needs eudev /dev management"
depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
+endif # BR2_PACKAGE_EUDEV
+
comment "eudev needs a toolchain w/ largefile, wchar, dynamic library"
depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
+ depends on !BR2_PACKAGE_SYSTEMD
package/eudev/eudev.mk +44 -4
65 lines not on this page · raw message
system/Config.in +16 -4
@@ -125,11 +125,23 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV 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 - depends on BR2_USE_MMU # eudev + depends on BR2_USE_MMU # eudev (fork) + depends on BR2_LARGEFILE # eudev-daemon (util-linux) + depends on BR2_USE_WCHAR # eudev (util-linux) + depends on !BR2_PREFER_STATIC_LIB # eudev select BR2_PACKAGE_EUDEV + select BR2_PACKAGE_EUDEV_DAEMON + 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. + + You can further configure eudev in: + Target packages --> Libraries --> Hardware handling --> eudev + + http://dev.gentoo.org/~blueness/eudev comment "eudev needs a toolchain w/ largefile, wchar, dynamic library" depends on !BR2_avr32 # eudev
--
1.9.1
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
_________________________________________________________________________________________________________________________
Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration, Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
This message and its attachments may contain confidential or privileged information that may be protected by law; they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments. As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified. Thank you.
PATCH v4 5/14 package/eudev: split udev/libudev
In reply to Yann E. MORINHi,
for eudev-1.10 one additional command is necessary to build libudev due to
https://github.com/gentoo/eudev/commit/b1ac60946d1625e14029ea9b7fa3aa4c06e079
5f:
"Yann E. MORIN" <[email protected]> wrote in news:e0bec013e8bb144c5208518c39011b1b47f63d17.1406765723.git.yann.morin.1998 @free.fr:
Quoted 1 line
+define
EUDEV_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/shared
Review
Quoted 2 lines
(quoted diff) +2
-0+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/libudev +endef
Regards, Bernd
PATCH v4 5/14 package/eudev: split udev/libudev
Bernd, All,
On 2014-08-22 20:20 +0200, Bernd Kuhls spake thusly:
Quoted 4 lines
for eudev-1.10 one additional command is necessary to build libudev due to
https://github.com/gentoo/eudev/commit/b1ac60946d1625e14029ea9b7fa3aa4c06e079
5f:
Quoted 10 lines
"Yann E. MORIN" <[email protected]> wrote in news:e0bec013e8bb144c5208518c39011b1b47f63d17.1406765723.git.yann.morin.1998 @free.fr:
Quoted 1 line
+define
EUDEV_BUILD_CMDS$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/shared
Quoted 2 lines
(quoted diff) +2
-0+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/libudev +endef
Not only that, but it requires linux/btrfs.h which means it needs to depend on an _AT_LEAST_X_Y kernel headers version.
I'll tackle this.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v4 6/14 package/mesa3d: depends on libudev, not udev
In reply to Yann E. MORIN--- package/mesa3d/Config.in | 6 +++--- package/mesa3d/mesa3d.mk | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-)
package/mesa3d/Config.in +3 -3
@@ -9,7 +9,7 @@ menuconfig BR2_PACKAGE_MESA3D select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7 - depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_PACKAGE_HAS_LIBUDEV depends on BR2_INSTALL_LIBSTDCPP depends on BR2_LARGEFILE depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
@@ -125,6 +125,6 @@ config BR2_PACKAGE_PROVIDES_LIBGLES endif # BR2_PACKAGE_MESA3D -comment "mesa3d needs udev /dev management and a toolchain w/ C++, largefile, NPTL" +comment "mesa3d needs a toolchain w/ C++, largefile, NPTL" depends on !BR2_LARGEFILE || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_PACKAGE_HAS_UDEV + !BR2_TOOLCHAIN_HAS_THREADS_NPTL
package/mesa3d/mesa3d.mk +2 -2
@@ -98,8 +98,8 @@ MESA3D_CONF_OPT += --enable-opengl ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) MESA3D_PROVIDES += libegl -# egl depends on gbm, gbm depends on udev -MESA3D_DEPENDENCIES += udev +# egl depends on gbm, gbm depends on libudev +MESA3D_DEPENDENCIES += libudev MESA3D_EGL_PLATFORMS = drm ifeq ($(BR2_PACKAGE_WAYLAND),y) MESA3D_DEPENDENCIES += wayland
Signature · 1 line
1.9.1
PATCH v4 7/14 package/libcec: needs libudev, not a udev daemon
In reply to Yann E. MORINlibcec is happy enough with just a libudev, which it uses to enumerate CEC devices, and does not require a udev daemon.
Propagate the new dependency to XBMC.
--- package/libcec/libcec.mk | 4 ++-- package/xbmc/Config.in | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-)
package/libcec/libcec.mk +2 -2
@@ -18,8 +18,8 @@ ifeq ($(BR2_PACKAGE_LOCKDEV),y) LIBCEC_DEPENDENCIES += lockdev endif -ifeq ($(BR2_PACKAGE_HAS_UDEV),y) -LIBCEC_DEPENDENCIES += udev +ifeq ($(BR2_PACKAGE_HAS_LIBUDEV),y) +LIBCEC_DEPENDENCIES += libudev endif ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
package/xbmc/Config.in +3 -3
@@ -106,14 +106,14 @@ comment "libbluray support needs a toolchain w/ dynamic library" config BR2_PACKAGE_XBMC_LIBCEC bool "hdmi cec" depends on !BR2_PREFER_STATIC_LIB # libcec - depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_PACKAGE_HAS_LIBUDEV # libcec select BR2_PACKAGE_LIBCEC help Enable CEC (Consumer Electronics Control) support. Select this if you want XBMC to support HDMI CEC. -comment "hdmi cec support needs udev /dev management and a toolchain w/ dynamic library" - depends on BR2_PREFER_STATIC_LIB || !BR2_PACKAGE_HAS_UDEV +comment "hdmi cec support needs a toolchain w/ dynamic library" + depends on BR2_PREFER_STATIC_LIB config BR2_PACKAGE_XBMC_LIBMICROHTTPD bool "web server"
Signature · 1 line
1.9.1
PATCH v4 8/14 package/libdrm: can also use only libudev
In reply to Yann E. MORINEven if a udev daemon is missing, libdrm can still use just libudev to enumerate devices.
In case both udev and libudev are enabled, depending on just udev would be enough to also get libudev (since any udev provider is also a libudev provider). But it is more logical to have separate conditions for udev and libudev.
--- package/libdrm/libdrm.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
package/libdrm/libdrm.mk +2 -2
@@ -62,9 +62,9 @@ else LIBDRM_CONF_OPT += --disable-freedreno-experimental-api endif -ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +ifeq ($(BR2_PACKAGE_HAS_LIBUDEV),y) LIBDRM_CONF_OPT += --enable-udev -LIBDRM_DEPENDENCIES += udev +LIBDRM_DEPENDENCIES += libudev else LIBDRM_CONF_OPT += --disable-udev endif
Signature · 1 line
1.9.1
PATCH v4 9/14 package/xdriver_xf86-input-evdev: needs libudev, not a udev daemon
In reply to Yann E. MORINDo as the comment says: it's only libudev that is required.
--- package/x11r7/xdriver_xf86-input-evdev/Config.in | 5 +---- package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.mk | 3 ++- 2 files changed, 3 insertions(+), 5 deletions(-)
package/x11r7/xdriver_xf86-input-evdev/Config.in +1 -4
@@ -1,11 +1,8 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV bool "xf86-input-evdev" - depends on BR2_PACKAGE_HAS_UDEV # libudev is configure dependency + depends on BR2_PACKAGE_HAS_LIBUDEV select BR2_PACKAGE_XPROTO_INPUTPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO select BR2_PACKAGE_XPROTO_XPROTO help Generic Linux input driver - -comment "xf86-input-evdev requires udev to be enabled" - depends on !BR2_PACKAGE_HAS_UDEV
package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.mk +2 -1
@@ -9,6 +9,7 @@ XDRIVER_XF86_INPUT_EVDEV_SOURCE = xf86-input-evdev-$(XDRIVER_XF86_INPUT_EVDEV_VE XDRIVER_XF86_INPUT_EVDEV_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_EVDEV_LICENSE = MIT XDRIVER_XF86_INPUT_EVDEV_LICENSE_FILES = COPYING -XDRIVER_XF86_INPUT_EVDEV_DEPENDENCIES = xproto_inputproto xserver_xorg-server xproto_randrproto xproto_xproto udev +XDRIVER_XF86_INPUT_EVDEV_DEPENDENCIES = xproto_inputproto xserver_xorg-server \ + xproto_randrproto xproto_xproto libudev $(eval $(autotools-package))
Signature · 1 line
1.9.1
RFC PATCH v4 10/14 package/libatasmart: needs libudev, not a udev daemon
In reply to Yann E. MORINDo as the comment says: it's only libudev that is required.
--- package/libatasmart/Config.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
package/libatasmart/Config.in +2 -2
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LIBATASMART bool "libatasmart" - depends on BR2_PACKAGE_HAS_UDEV # libudev is configure dependency + depends on BR2_PACKAGE_HAS_LIBUDEV 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://0pointer.de/blog/projects/being-smart.html comment "libatasmart requires udev to be enabled" - depends on !BR2_PACKAGE_HAS_UDEV + depends on !BR2_PACKAGE_HAS_LIBUDEV
Signature · 1 line
1.9.1
RFC PATCH v4 11/14 package/libinput: needs libudev, not a udev daemon
In reply to Yann E. MORINlibinput is happy enough with just a libudev, and does not require a udev daemon.
--- package/libinput/Config.in | 6 +++--- package/libinput/libinput.mk | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-)
package/libinput/Config.in +3 -3
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LIBINPUT bool "libinput" - depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_PACKAGE_HAS_LIBUDEV select BR2_PACKAGE_LIBEVDEV select BR2_PACKAGE_MTDEV help
@@ -13,5 +13,5 @@ config BR2_PACKAGE_LIBINPUT http://freedesktop.org/wiki/Software/libinput/ -comment "libinput needs udev /dev management" - depends on !BR2_PACKAGE_HAS_UDEV +comment "libinput needs a libudev provider to be selected" + depends on !BR2_PACKAGE_HAS_LIBUDEV
package/libinput/libinput.mk +1 -1
@@ -10,7 +10,7 @@ LIBINPUT_SITE = http://www.freedesktop.org/software/libinput LIBINPUT_LICENSE = MIT LIBINPUT_LICENSE_FILES = COPYING -LIBINPUT_DEPENDENCIES = host-pkgconf libevdev mtdev udev +LIBINPUT_DEPENDENCIES = host-pkgconf libevdev mtdev libudev LIBINPUT_INSTALL_STAGING = YES # Tests need fork, so just disable them everywhere.
Signature · 1 line
1.9.1
RFC PATCH v4 12/14 package/libusb: needs libudev, not a udev daemon
In reply to Yann E. MORINlibusb is happy enough with just a libudev, and does not require a udev daemon.
--- package/libusb/libusb.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
package/libusb/libusb.mk +3 -2
@@ -21,8 +21,9 @@ ifeq ($(BR2_avr32),y) LIBUSB_CONF_OPT += --disable-timerfd endif -ifeq ($(BR2_PACKAGE_HAS_UDEV),y) -LIBUSB_DEPENDENCIES += udev +ifeq ($(BR2_PACKAGE_HAS_LIBUDEV),y) +LIBUSB_CONF_OPT += --enable-udev +LIBUSB_DEPENDENCIES += libudev else LIBUSB_CONF_OPT += --disable-udev endif
Signature · 1 line
1.9.1
RFC PATCH v4 13/14 package/vlc: needs libudev, not a udev daemon
In reply to Yann E. MORINvlc is happy enough with just a libudev, and does
not require a udev daemon.
--- package/vlc/vlc.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
package/vlc/vlc.mk +2 -2
@@ -284,9 +284,9 @@ else VLC_CONF_OPT += --disable-tremor endif -ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +ifeq ($(BR2_PACKAGE_HAS_LIBUDEV),y) VLC_CONF_OPT += --enable-udev -VLC_DEPENDENCIES += udev +VLC_DEPENDENCIES += libudev else VLC_CONF_OPT += --disable-udev endif
Signature · 1 line
1.9.1
RFC PATCH v4 14/14 package/weston: needs libudev, not a udev daemon
In reply to Yann E. MORINweston is happy enough with just a libudev, and does not require a udev daemon.
--- package/weston/Config.in | 6 +++--- package/weston/weston.mk | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-)
package/weston/Config.in +3 -3
@@ -1,6 +1,6 @@ -comment "weston needs udev and a toolchain w/ threads, headers >= 3.0" +comment "weston needs a toolchain w/ threads, headers >= 3.0" depends on !BR2_avr32 - depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 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_HAS_UDEV + depends on BR2_PACKAGE_HAS_LIBUDEV depends on !BR2_avr32 # wayland depends on BR2_TOOLCHAIN_HAS_THREADS # wayland depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
package/weston/weston.mk +1 -1
@@ -11,7 +11,7 @@ WESTON_LICENSE = MIT WESTON_LICENSE_FILES = COPYING WESTON_DEPENDENCIES = host-pkgconf wayland libxkbcommon pixman libpng \ - jpeg mtdev udev cairo + jpeg mtdev libudev cairo WESTON_CONF_OPT = \ --with-dtddir=$(STAGING_DIR)/usr/share/wayland \
Signature · 1 line
1.9.1