Skip to content

Conversation

@dkwo
Copy link
Contributor

@dkwo dkwo commented Feb 27, 2023

https://github.com/illiliti/libudev-zero

  • user must provide own alternative udevd (e.g. mdevd), and edit runit stage 1 script accordingly (see e.g. allow alternative udev void-runit#106 )
  • I tested the changes in this PR: initram and init scripts, rebuilt some libraries with it
  • I built this PR locally for my native architecture, (x86_64-musl)

@dkwo dkwo marked this pull request as draft February 27, 2023 16:50
@mobinmob
Copy link
Contributor

mobinmob commented Feb 27, 2023

You have quite a project in your hands :)
libudev-zero is not a eudev-libudev drop-in alternative :(
I have a PR open for the skarnet stack update, unfortunatelly [wip], I will finish it asap.
#41635

@mobinmob
Copy link
Contributor

  • how to deal with eudev-libudev: libudev-zero replaces, conflicts, provides it? it provides /usr/lib/libudev.so.1, I expect some stuff built with eudev-libudev-devel (wlroots, libinput) to work with it, while other may not if one removes eudev-libudev (lvm2, pipewire), see https://github.com/illiliti/libudev-zero

It is waaaay too early for this, but I think replaces is the wrong choice here.

  • find an optimal mdev.conf (current one is taken from kiss-linux, alpine has a similar one)

That is not the only thing you need. You should look at the mdev-like-a-boss scripts and work with them and also checkout how you can extend the functionality in other ways.

@dkwo
Copy link
Contributor Author

dkwo commented Feb 27, 2023

@mobinmob thanks, I rebased on your pr for now.

@dkwo dkwo force-pushed the udev branch 3 times, most recently from b32cfd9 to 9c9c761 Compare February 27, 2023 18:38
@dkwo
Copy link
Contributor Author

dkwo commented Feb 27, 2023

libudev-zero is not a eudev-libudev drop-in alternative :(

From the project homepage: Drop-in replacement for libudev intended to work with any device manager

@classabbyamp classabbyamp added the new-package This PR adds a new package label Feb 27, 2023
@mobinmob
Copy link
Contributor

mobinmob commented Feb 28, 2023

libudev-zero is not a eudev-libudev drop-in alternative :(

From the project homepage: Drop-in replacement for libudev intended to work with any device manager

Yes, that is the goal and the developer has done trully amazing work. Last time I checked it did not implement all the libudev api, so as far as that is concerned it has not yet reached that goal.
My comment was technically wrong though. I meant to highlight the work that should be done outside of the packaging of libudev-zero itself.
I happy @dkwo that you took it up ;)
BTW, checkout tinyramfs if you have not already - it is also written by @illiliti.

@dkwo dkwo force-pushed the udev branch 4 times, most recently from dfa6296 to 1349945 Compare March 1, 2023 19:57
@dkwo dkwo changed the title [rfc] udev alternatives new package: libudev-zero Mar 1, 2023
@dkwo dkwo marked this pull request as ready for review March 1, 2023 20:54
@dkwo
Copy link
Contributor Author

dkwo commented Mar 1, 2023

how about void-linux/void-runit#106 ?

@dkwo
Copy link
Contributor Author

dkwo commented Mar 1, 2023

Here's a puzzle: why do some packages (e.g. wlroots libinput) both run_depends on eudev-libudev and shlib-requires libudev.so.1? if they only did the latter, then the provides/conflicts in libudev-zero should be enough..

@dkwo
Copy link
Contributor Author

dkwo commented Apr 7, 2023

btw, tinyramfs is now in the repo; it needs hostonly for now, but we can experiment more :)

@dkwo dkwo force-pushed the udev branch 3 times, most recently from e7aa110 to 29f1e5e Compare April 11, 2023 21:49
@dkwo dkwo force-pushed the udev branch 2 times, most recently from a74f61f to d5c9342 Compare April 24, 2023 18:24
@dkwo
Copy link
Contributor Author

dkwo commented Apr 29, 2023

rebuilt wlroots successfully, while libinput (due to libblkid) fails :)

@mobinmob mobinmob mentioned this pull request May 1, 2023
@mobinmob
Copy link
Contributor

mobinmob commented May 1, 2023

@mobinmob can you include the mdevd commit in the skarnet update? it adds a service and config file (which you can edit).

Done, thanks!
I want to fork mdev-like-a-boss and turn it into a mdevd-only collection of configurations/scripts, but no idea when I 'll have the time...

@github-actions
Copy link

Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.

@github-actions
Copy link

Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.

@github-actions
Copy link

Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.

@xplshn
Copy link

xplshn commented Apr 16, 2024

libudev-zero confirmed working with Pipewire through a small patch to libudev-zero: illiliti/libudev-zero#69

What is blocking this one from being packaged?

@xplshn
Copy link

xplshn commented Apr 16, 2024

@dkwo this is an unrelated question, do you know how to create a busybox based Void install? You seem interested in the GNUless linux landscape of things

@dkwo
Copy link
Contributor Author

dkwo commented Apr 17, 2024

the package per se should be ok. maybe wait until they merge that patch and tag a new release?
to be useful, it needs smth like mdev-like a boss. the runit part could not be merged, not sure if we should drop it here.

(don't know much about busybox, but i've been playing with dinit, and i like it. it's also packaged, but not as init for now.
for the coreutils part, you might as well give chimera linux a try.)

@xplshn
Copy link

xplshn commented Apr 18, 2024

I didn't find the chimera community welcoming, at all. And I was also looking for a more Unix approach to Linux distros... Think I will stick to Alpine, nBSD and Void (in that order).

@github-actions
Copy link

Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.

@github-actions github-actions bot added the Stale label Jul 17, 2024
@xplshn
Copy link

xplshn commented Jul 17, 2024

Any updates on this?

@github-actions github-actions bot removed the Stale label Jul 18, 2024
@dkwo
Copy link
Contributor Author

dkwo commented Jul 18, 2024

You need to provide your own alternative to udevd, e.g. mdevd (change init scripts, provide a service and config for mdevd).

Maybe there's a better way to deal with conflicts/replaces. (E.g. in Alpine apk a package can depend on libudev.so.1 cleanly, and then they'd use

provides="udev"
replaces="udev"
provider_priority=20

in the libudev-zero package.) Just not sure if this can be achieved in xbps at present.

@ahesford
Copy link
Member

At this time, we aren't interested in supporting alternative udev implementations on Void.

@ahesford ahesford closed this Jul 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-package This PR adds a new package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants