Skip to content

new package: github.com/eudev-project/eudev (lightweight libudev.so.1) - #13922

Open
tannevaled wants to merge 2 commits into
pkgxdev:mainfrom
tannevaled:new/eudev
Open

new package: github.com/eudev-project/eudev (lightweight libudev.so.1)#13922
tannevaled wants to merge 2 commits into
pkgxdev:mainfrom
tannevaled:new/eudev

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

Adds eudev, the standalone fork of systemd's udev, purely as a lightweight provider of libudev.so.1.

Why

Many packages link libudev (open-mpi, hwloc, openpmix, solana, …), but the only pantry source of libudev.so.1 is currently systemd.io — pulling all of systemd (200+ binaries) just for one client library. eudev provides the same libudev.so.1 in a handful of files.

Build

Built with the udevd-only features disabled (--disable-blkid --disable-selinux --disable-kmod --disable-hwdb --disable-introspection --disable-manpages), so the library's runtime closure is just glibc.

Verified building v3.2.14 from source on linux/x86_64:

  • configure && make && make installlib/libudev.so.1 (readelf -d: NEEDED = libc.so.6 only) + bin/udevadm (udevadm --version251, exit 0).

🤖 Generated with Claude Code

eudev is the standalone fork of systemd's udev. Add it purely as a
lightweight source of libudev.so.1 — many packages link libudev, but until
now the only pantry provider was all of systemd.io (200+ binaries). Built
with blkid/selinux/kmod/hwdb disabled, the resulting libudev.so.1 needs only
glibc.

Verified building v3.2.14 from source (linux/x86_64): configure + make +
make install produce lib/libudev.so.1 (NEEDED: libc.so.6 only) and
bin/udevadm.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
tannevaled added a commit to go-pkgm/pkgm that referenced this pull request Jul 28, 2026
libudev.so.1 was the largest residual FROM-scratch gap (open-mpi, hwloc,
openpmix, solana, fnox). The only pantry provider was systemd.io — 200+
binaries for one client library. Map libudev to the new lightweight
github.com/eudev-project/eudev recipe instead (pkgxdev/pantry#13922; its
libudev.so.1 needs only glibc). Also map the libcap.so.2 those same packages
need to the existing kernel.org/libcap bottle.

libudev resolution activates once the eudev bottle publishes; libcap works now.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The linux/x86-64 + linux/aarch64 builds passed; darwin fails because udev is
Linux-specific. Restrict to platforms: [linux].

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant