Today’s package manager frontends give a rigid and un-customizable feel.
A list of some of the things a perfect package manager should have:
1. Plugin-system for any type of package format… debs, rpms or tarballs.
2. Should not fuss when attempts are made to install something by overriding or disrespecting dependencies… a “fusser” plugin should be okay.
3. Have the ability to parse simple input files for package installation… and generate meaningful output files such as error files and download scripts… even better, rather than download scripts, it should just output an easily processable list of packages, allowing for greater user choice.
4. Should provide an option for removing configuration files of programs when you try to uninstall them.
5. All cache-related stuff… about storing in cache… that is standard nowadays.
6. There should be a program that can *EFFECTIVELY* convert debs, rpms, and stuff to each other without much hassle and such programs should be available as plugins to the package manager. AND there should be provisions for handling inter-format dependencies, that is, i should be able to install some packages from the opensuse repos and some from the debian repos for one single package i wish to install.
7. There should be a modular download backend. That is, I should be able to use wget or axel or whatever * download manager program to install my packages, and this should be integrated into the package manager. For example, my hostel download speed rarely exceeds 5 kilobytes/sec, and apt-get frequently stops its data transfer when the speed falls. On the other hand, kget rarely stops downloading.
Obviously i would like my package manager to download using kget’s method.
8. Ability to pause and resume downloads later.
9. Ability to automatically get gpg keys for added repos like ppa’s… there should be a central, trusted “gpg repo”, which contains keys for all major and minor trusted repos, so the user does not have to add a key file.
Modularity is the biggest asset…
One in-development package manager is Kpackagekit, and i would really like it to have all these features.