Software Management call for RFEs

Richard W.M. Jones rjones at redhat.com
Wed May 22 21:18:58 UTC 2013


[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


More information about the devel mailing list