|
|
Subscribe / Log in / New account

Why write a new package manager anyway?

Why write a new package manager anyway?

Posted Jan 16, 2014 18:16 UTC (Thu) by smoogen (subscriber, #97)
In reply to: Why write a new package manager anyway? by niner
Parent article: DNF and Yum in Fedora

I am trying to find the version of rpm that SuSE uses and going through the various spec files to see. The obvious items to me would be tie-ins to YaST and the Recommends logic which Fedora doesn't use.

In the end, I am going off from what the various people who have tried to get zypper into Fedora in the past. They ran into issues that are just basic design choices between the OS's.


to post comments

Why write a new package manager anyway?

Posted Jan 16, 2014 18:26 UTC (Thu) by johannbg (guest, #65743) [Link] (4 responses)

Well it would immediately be better if all rpm based distribution could use the exact same tools.

Why write a new package manager anyway?

Posted Jan 16, 2014 21:06 UTC (Thu) by RedDwarf (guest, #89472) [Link] (3 responses)

I don't know about Fedora. But as an openSUSE packager, the only differences I can think of are openSUSE "workarounds" that should be fixed anyway.

a) "Clean"
Uninstall unused packages. You know, you install pacA, which requires pacB. The you uninstall pacA and pacB stays installed.
To do this properly you need to know if a package was installed automatically, or directly per the user instruction.
libzypp uses an history file (O(n), with n being the number of RPM/zypp operations you have made since you installed the system).
This information should be stored in the RPM database itself, so if you install a package without using libzypp you still have the info.

b) Soft dependencies
"Recommends", "Suggests", etc.
Why upstream RPM still doesn't include them is a big mystery to me.

c) Poorly documented dependency types
AND dependencies, which are included in the repository metadata but not in the RPMs (WTF!) because RPM doesn't support AND dependencies.
Dependencies on installed hardware (think drivers), system language, etc... basically extra features that you can ignore.

d) Something similar to file triggers
It's not even really used. But libzypp supports something to run a script at the end of the whole transaction. This shouldn't be needed, RPM should support file triggers.

openSUSE's RPM is here: https://build.opensuse.org/package/show/openSUSE:Factory/rpm
Yes, a lot of patches, but they don't really change things so much.

Why write a new package manager anyway?

Posted Jan 16, 2014 22:19 UTC (Thu) by mathstuf (subscriber, #69389) [Link]

> Uninstall unused packages

Yum stores this info in the yumdb. Since RPM doesn't actually fetch, it doesn't have a reason why it is doing installs and removals. For yum, there's the yum-remove-leaves package (and yum history undo $transaction). My understanding is that dnf acts with remove-leaves behavior by default.

> "Recommends", "Suggests", etc.

Ask RPM devs. Something about it being hairy to implement? Or the semantics associated with it.

> AND dependencies

While nice, this isn't included anywhere. Instead, you Require a virtual package (like web-server) which is Provide'd by httpd, nginx, etc. But yes, dependencies on things outside of the RPM world would be nice, but is also likely a Hard Problem (what if I remove my joystick; should RPM refuse to do anything until I uninstall a joystick-requiring package?).

> Something similar to file triggers

This would be very nice. No more need to look up which scriptlet my package may need.

Why write a new package manager anyway?

Posted Jan 17, 2014 2:52 UTC (Fri) by HelloWorld (guest, #56129) [Link] (1 responses)

What are AND dependencies?

Why write a new package manager anyway?

Posted Jan 17, 2014 3:22 UTC (Fri) by rahulsundaram (subscriber, #21946) [Link]

There are a bunch of non upstream patches carried by the openSUSE rpm package that implements features that they are only apparently using exclusively. The best description of them I know of is at

https://www.youtube.com/watch?v=FNwNF19oFqM

Unfortunately the slides are not accessible anymore but if anyone has a non video reference, feel free to post it.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds