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
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.
Why write a new package manager anyway?
Posted Jan 16, 2014 18:26 UTC (Thu)
by johannbg (guest, #65743)
[Link] (4 responses)
Posted Jan 16, 2014 18:26 UTC (Thu) by johannbg (guest, #65743) [Link] (4 responses)
Why write a new package manager anyway?
Posted Jan 16, 2014 21:06 UTC (Thu)
by RedDwarf (guest, #89472)
[Link] (3 responses)
Posted Jan 16, 2014 21:06 UTC (Thu) by RedDwarf (guest, #89472) [Link] (3 responses)
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]
Posted Jan 16, 2014 22:19 UTC (Thu) by mathstuf (subscriber, #69389) [Link]
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)
Posted Jan 17, 2014 2:52 UTC (Fri) by HelloWorld (guest, #56129) [Link] (1 responses)
Why write a new package manager anyway?
Posted Jan 17, 2014 3:22 UTC (Fri)
by rahulsundaram (subscriber, #21946)
[Link]
Posted Jan 17, 2014 3:22 UTC (Fri) by rahulsundaram (subscriber, #21946) [Link]
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.