portage vs yum

Kevin Kofler kevin.kofler at chello.at
Wed Jun 27 15:07:25 UTC 2007


Thufir <hawat.thufir <at> gmail.com> writes:
> The drawback to fedora is, to my mind, rpm and yum.  portage is 
> superior.  it's also capable, as sabayon has demonstrated, of 
> distributing binaries.

Portage:
* parasites upstream projects for tarball downloads by default. Aside from the 
security concerns which have been raised elsewhere in this thread, this also:
- steals bandwidth from upstream projects,
- makes the user dependent on the upstream project's server being up (for every 
single upstream project) and still carrying the file they want (which isn't 
always the case, many upstream projects delete old versions, they don't have 
infinite webspace nor do they want people to download old buggy versions).
So this really doesn't scale. It also doesn't comply with the GPL when 
distributing binaries. SRPMs carry the full source code.
* rebuilds everything on the user's machine, so users can get completely 
different binaries depending on what version of GCC and glibc they happen to 
have installed when they build it, or even depending on what libraries are 
autodetected by the configure scripts. Some see this as a feature, but it makes 
handling bug reports a nightmare.
* has only limited support for uninstalling. The biggest problem is that 
there's no reverse-dependency tracking, you can unmerge a library and it will 
not know there are still programs depending on it which will be broken by the 
unmerge. This can be particularly bad on upgrades: when you upgrade a library 
to an incompatible version (new soname), it will just do it even when there are 
still packages depending on the old version, breaking those packages. And no, 
rebuilding everything (i.e. emerge remerge world) isn't really an efficient 
solution to this problem.

Other source-based packaging systems, e.g. *BSD ports, share the same 
weaknesses.

RPMs do allow you to build from source, that's what specfiles and SRPMs are 
for. Writing your own specfile is not fundamentally different from writing your 
own portage recipe. Or you can always build from source into /usr/local; 
unpackaged packages (i.e. packages without a specfile or portage recipe) are 
also handled essentially the same way in both worlds.

        Kevin Kofler




More information about the fedora-devel-list mailing list