FS#39954 - [libsystemd] 212-3 sould have a neutral libudev provides and conflict

Attached to Project: Arch Linux
Opened by artoo (artoo) - Friday, 18 April 2014, 22:09 GMT
Last edited by Dave Reisner (falconindy) - Friday, 18 April 2014, 23:43 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

The libsystemd build should have a provides and conflicts libudev=$udevversion. systemd build still has provides and conflicts=udev.

Additional info:
* libsystemd 212-3

Steps to reproduce:

Install eudev, which installs a libeudev, replacing libsystemd.
If you want to remove eudev and switch back to systemd, this works, but there is no way to remove libeudev as dependency and replace it with libsystemd. It has to be done manually.
This task depends upon

Closed by  Dave Reisner (falconindy)
Friday, 18 April 2014, 23:43 GMT
Reason for closing:  Won't implement
Additional comments about closing:  It's not a real solution. We'd be better suited to rebuild packages which have incorrect dependencies.
Comment by Dave Reisner (falconindy) - Friday, 18 April 2014, 23:09 GMT
If you need libudev, then you should depend on (and/or provide) libudev.so-1, and libsystem provides the library. If you need udevd, then you depend on systemd, and systemd provides the binary.

Doesn't the current situation already suit your needs?
Comment by artoo (artoo) - Friday, 18 April 2014, 23:15 GMT
If you don't mind, take a look at the pkgbuild.

https://github.com/udeved/pkgbuilds/blob/master/eudev-testing/PKGBUILD

I think, I implemented what you say.
The problem was solved, if libsystemd implemented a libudev=$pkgver provides too, and the conflict.
Systemd will not try to install libsystemd, since libeudev needs to provide libsystemd, due to util-linux depending on libsystemd.
Correct me if I am wrong.
Comment by Dave Reisner (falconindy) - Friday, 18 April 2014, 23:25 GMT
No, the problem is that your libeudev wrongly provides libsystemd. You can't possibly claim this since you don't have the other libraries that make up libsystemd.

Similarly, your eudev package doesn't provide systemd at all, yet it claims to.
Comment by artoo (artoo) - Friday, 18 April 2014, 23:37 GMT
Ok, so this effectively means, all packages which depend on systemd, would have to be compiled depending on udev or whatever. Its tons of packages which depend on systemd, even when they only need udev.
Comment by Dave Reisner (falconindy) - Friday, 18 April 2014, 23:42 GMT
Sure, and it's a good goal to work towards. In the meantime, I'm not going to give systemd contradictory dependencies to suit your needs.

Loading...