After some discussion on news.kde.org I was reminded of some thoughts of myself which I had about the perfect package system.
According to this terms the perfect package format which will solve all of your problems and will wash your clothes:
– every binary package (if it makes sense) should be installable as a normal user
– if you install it as user than it should be very easy for the administrator to make this install systemwide
– every binary package should define clear dependencies
– every binary package should have a list of useful but not necessary packages
– every binary package should have the path to the update source
– the information about the update source should contain information about how to authentificate to this source; that’s important for some software vendors
– there should be delta-binary packages for lower download-traffic
I am not sure yet if this list is really complete – maybe there are missing some features, but I think the most important things are there.
If someone wonders, I try to have a list which fits the needs of the users, the admins of the systems, the software vendors and every programmer who want to provide one (!) package for linux (no one can package different packages for at least all important packages…).
And, yes, I know that from this point of view (deb and rpm, different gccs, different kernels, KDE 3.4 next to KDE 3.5, …) it seems to impossible to reach such a aim, but we have to start with it, or we will end up in a state of complete incompatible Linux Distributions like BSD…
And, yes, my favourite is: lets take together all rpm-community distributions, and lets have only two different Linux-bases: debian and rpm-based. I mean, Mandriva, Suse and Fedora are developing in some kind of community distributions. So they can be merged (with some kind of “wings”: suse-wing (yast), fedora-wing (anaconda, system-config-…) and mandriva-wing (drake, …).
But then rpm and deb are not fitting the terms mentioned above, so we need a new solution in the next years… So spread the word 🙂