[This is a copy of an email I sent to an internal Red Hat list last month] In no particular order: (1) Yum should not be so slow. In particular "yum install" takes ages compared to "apt-get install". I don't want to argue about how yum has to download metadata or whatever, the fact of the matter is the yum experience is slow and the apt experience is faster. Play with Debian some time to see what I mean. (2) DNF's dependency resolver should be the default. (3) RPM's spec file format needs to be redone using a Real Parser. At the moment it has all sorts of strange corner cases (for example, how to define a macro containing an arch-dependent list?). It'd be a good opportunity to fix brokenness such as "global" meaning "define", lack of direct support for configuration flags, writing "0%{?rhel}", complexity of non-trivial %setup's, etc. (4) Get rid of %{bindir} etc. There's no need for it. It didn't even help during UsrMove, the one time ever that it plausibly might have helped. (5) Almost all %pre/%post scripts need to be eliminated. There's no reason that RPM can't detect when a shared library is being installed. Related to this, things like users/groups/services should be written declaratively, not imperatively: %need-user kvm.kvm %need-service nfsd.service and have RPM work out how to implement it most efficiently. (6) It should be possible to install into a chroot, and this should be a supported configuration. Needed by LXC. (7) %changelog section of RPM should be abandoned. Instead, you should only have to write a changelog once (ideally in the upstream VCS, which is then propagated everywhere it is needed). Developers or packagers may also need to write summary notes for each release, but again they should only have to be written once. (8) Base packages like 'filesystem', 'setup' should include everything. At the moment mock contains extra rules for device files and things like that, for no reason I can understand. (See mock/backend.py '_setupDev' function). (9) Get rid of yum's pretend "transactions". Either implement real, ACID transactions where the filesystem allows it, or don't pretend. (10) Get rid of multilib, /usr/lib64 etc and copy what Debian/Ubuntu are doing. (11) Make it easier for yum to be consumed from other programs. DNF fixes this. (12) Suggests/Recommends. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel