[Buildroot] [PATCH/next v9 00/12] Introduce libudev (branch yem/libudev-6)

Bernd Kuhls bernd at kuhls.net
Sun Aug 6 14:02:29 UTC 2023


Hi,

quoting Yann from 2016:
https://lists.buildroot.org/pipermail/buildroot/2016-July/167371.html

"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...

During previous developers days, it was suggested that libudev was to be
made a virtual package that could be selected (like jpeg is). So I
eventually got some time to rework it (since the series was not adopted
by Peter as it was discussed during those DevDays:
https://lite5.framapad.org/p/buildrootfosdem15 ;-) ).

This series is a full rewrite from scratch, with very little caried over
from the previous attempts (far back in the past).

  - first come a few cleanup patches;

  - then eudev is split in two, virtually providing to different
    packages in one, with two different configure/build/install
    procedures, one for libudev only, one for the full package;

  - then the libudev virtual package is introduced, with eudev and
    systemd both declared as providers;

  - libudev is made selectable, so that packages can select it instead
    of depending (like is usual) on the virtual package;

  - eventually, two packages are converted over to using libudev:
    qt5base, as an optional implicit dependency, and libinput, as a
    mandatory dependency.

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. This can be done in
follow up patches once libudev is eventually in the tree (for good this
time I hope! ;-) )"

This patch series was rebased on Yann's latest code from 2020:
https://git.buildroot.org/~ymorin/git/buildroot/log/?h=yem/libudev-6
as suggested in 2021:
https://lists.buildroot.org/pipermail/buildroot/2021-March/607988.html
"eudev now has had the ability to only build the library for a while
already"

and more packages were ported to make use of libudev.

Bernd Kuhls (4):
  package/kodi: only needs libudev, not udev daemon
  package/libv4l: optionally use libudev
  package/libcec: optionally use libudev
  package/usbutils: only needs libudev, not udev daemon

Yann E. MORIN (8):
  package/eudev: add option to enable the udev daemon
  package/eudev: allow building only the library
  package/libudev: new virtual package
  package/eudev: provides libudev
  package/systemd: provides libudev
  package/libudev: make it selectable
  package/qt5base: optionally use libudev
  package/libinput: only needs libudev, not udev daemon

 package/Config.in              |  1 +
 package/eudev/Config.in        | 45 +++++++++++++++++++++++++-------
 package/eudev/eudev.mk         | 47 ++++++++++++++++++++++++----------
 package/kodi/Config.in         |  4 +--
 package/kodi/kodi.mk           |  4 +--
 package/libcec/libcec.mk       |  4 +--
 package/libinput/Config.in     | 10 +++++---
 package/libinput/libinput.mk   |  2 +-
 package/libudev/Config.in      | 13 ++++++++++
 package/libudev/libudev.mk     |  7 +++++
 package/libv4l/libv4l.mk       |  4 +--
 package/qt5/qt5base/qt5base.mk |  4 +--
 package/systemd/Config.in      |  4 +++
 package/systemd/systemd.mk     |  2 +-
 package/usbutils/Config.in     | 12 ++++++---
 package/usbutils/usbutils.mk   |  2 +-
 system/Config.in               |  1 +
 17 files changed, 124 insertions(+), 42 deletions(-)
 create mode 100644 package/libudev/Config.in
 create mode 100644 package/libudev/libudev.mk

-- 
2.39.2




More information about the buildroot mailing list