Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/3] Bootstrap package for libudev to fix device-mapper rules
@ 2026-10-02 15:12 Fiona Klute via buildroot
  2026-10-02 15:12 ` [Buildroot] [PATCH 1/3] package/systemd/systemd-libudev: new bootstrap subpackage Fiona Klute via buildroot
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Fiona Klute via buildroot @ 2026-10-02 15:12 UTC (permalink / raw)
  To: buildroot; +Cc: Eric Le Bihan, Norbert Lange, Sen Hastings, Fiona Klute

Hi everyone,

this series adds a bootstrap package for libudev from systemd. The
reason is that some packages that may be in the dependency chain of
systemd (depending on configuration) depend on libudev, at least for
optional features.

An example is lvm2: It needs libudev to allow using udev's built-in
"blkid" implementation instead of calling "blkid -o udev", which
Busybox's blkid does not support. The issue I saw with Busybox blkid
is that systemd never considered device-mapper block devices as ready
(seen with dm-crypt and dm-verity). Setting
BR2_PACKAGE_UTIL_LINUX_BINARIES=y is a workaround, but shouldn't be
needed when udev has a built-in for that purpose.

Unfortunately adding a dependency on libudev to lvm2 creates a
dependency loop if cryptsetup is also enabled: lvm2 -> systemd
(libudev) -> cryptsetup -> lvm2 (libdevmapper). The bootstrap package
breaks the loop by providing libudev from a build with minimal
options, so lvm2 can be built before systemd. The library used at
runtime is still provided by the main systemd package.

That said, the new systemd-libudev package could relatively easily be
extended to also provide a standalone version of systemd-udevd
together with libudev, as an alternative to long-unmaintained eudev
for non-systemd builds.

A combined package for bootstrap and standalone systemd-udevd would
avoid duplication of most options and variables from systemd, at the
cost of complexity in the package makefile. The main point I see in
favor of a separate package is that it could be updated independently
from systemd. I'd appreciate opinions on what's the better option and
why. If a combined package is preferred, I'd want to rename
systemd-libudev to systemd-udev before merge. :-)

Best regards,
Fiona

Fiona Klute (othermo GmbH) (3):
  package/systemd/systemd-libudev: new bootstrap subpackage
  package/lvm2: set unconditional dependency with "=", not "+="
  package/lvm2: depend on libudev if enabled

 package/lvm2/lvm2.mk                          |   5 +-
 package/systemd/Config.in                     |   7 +-
 package/systemd/systemd-libudev/Config.in     |  21 ++
 .../systemd-libudev/systemd-libudev.hash      |   1 +
 .../systemd-libudev/systemd-libudev.mk        | 195 ++++++++++++++++++
 package/systemd/systemd.mk                    |  11 +-
 6 files changed, 232 insertions(+), 8 deletions(-)
 create mode 100644 package/systemd/systemd-libudev/Config.in
 create mode 120000 package/systemd/systemd-libudev/systemd-libudev.hash
 create mode 100644 package/systemd/systemd-libudev/systemd-libudev.mk

-- 
2.55.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-10-10  9:24 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-02 15:12 [Buildroot] [PATCH 0/3] Bootstrap package for libudev to fix device-mapper rules Fiona Klute via buildroot
2026-10-02 15:12 ` [Buildroot] [PATCH 1/3] package/systemd/systemd-libudev: new bootstrap subpackage Fiona Klute via buildroot
2026-10-02 15:12 ` [Buildroot] [PATCH 2/3] package/lvm2: set unconditional dependency with "=", not "+=" Fiona Klute via buildroot
2026-10-02 19:36   ` Thomas Petazzoni via buildroot
2026-10-10  9:24   ` Thomas Perale via buildroot
2026-10-02 15:12 ` [Buildroot] [PATCH 3/3] package/lvm2: depend on libudev if enabled Fiona Klute via buildroot
2026-10-05 11:56 ` [Buildroot] [PATCH 0/3] Bootstrap package for libudev to fix device-mapper rules Fiona Klute via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox