[Mageia-discuss] Package management system

Renaud MICHEL r.h.michel+mageia at gmail.com
Wed Sep 29 00:42:21 CEST 2010


On mercredi 29 septembre 2010 at 00:16, Richard wrote :
> On Tuesday 28 September 2010 22:21:08 Michael Scherer wrote:
> > Well, apt is likely to be faster, c++ may be the cause.
> 
> That makes sudden sense; I had forgotten how slow rpmdrake has become
> while it builds and rebuilds its view of the installed packages
> inventory. I am guessing this is a "compiled-v-interpreted" thing. No
> matter how much faster is the PC I use, rpmdrake always seems to be
> slower than I would like/expect. That, of course, is where urpmi is most
> certainly your friend being many many times faster to get going -
> provided I already know the name of what I want to install.

No, if you are talking about rpmdrake, you should compare it to synaptic.
I you want to talk about apt (be it apt-get or aptitude), you should compare 
it to urpmi, and urpmi (in my opinion) is not slow.

> > Nope, the problem is not linked to rpm or deb. If a library is needed,
> > it is needed, that's simple.
> > 
> > A system like emerge or macports ( macports is also in contribs, afaik
> > ) may however reduce the required dependency, depending on the
> > software.
> 
> I sense a tendency in your response to the same confusion I am suffering
> from. On the one hand I find it easy to imagine that the packager is in
> total control of what a package regards as a "dependency" but on the
> other hand I must accept that your comment on macports may also be true.
> I do not know yet how to reconcile these apparent contradictions and I
> am really hoping I don't have to become the master of package management
> on all conceivable platforms before I can understand enough of this to
> make sense of it.

emerge and macports are source-based "packet" managers.
As the programs are compiled when you want to install them, you can decide 
to exclude some optional, compile-time functionality, and avoid their 
dependencies.
In pre-compiled packets (like rpm or deb), the packager decided what should 
be compiled, and so what are the required dependencies.
You still have the option to get the source package and tweak it (via the 
spec file for rpm, or rule for deb) to exclude some things you don't 
require. (but you will need to do it again each time an update is available)

> I can fully grasp the concept that the structure of a package (rpm or
> deb) is not relevant to the program's requirement for one or more
> libraries, but I do not understand by what mechanism "nice to haves" are
> included as "must haves". Is it likely to be simply a packager's
> oversight or perhaps do some package types not enable the distinction to
> be made? If the latter, and rpms are of this type, then is ther a
> package type which does support the distinction?

Packages have dependencies, those are interpreted as "this package cannot 
work without those".
You can also have less strict recommendations, deb has provided for long 
recommended packages (not really required, but a must have) and suggested 
packages (is an interesting addition, but nothing essential).
Rpm also provide such a mechanism (though I think is younger than deb) with 
the suggested packages.
Urpmi take the suggested packages into account, when installing it will by 
default selected also the suggested packages, but you can add the --no-
suggests option to avoid this.
On the urpme side, if you uninstall a package that was installed as a 
suggestion, it won't trigger the uninstallation of the package that 
suggested it.

-- 
Renaud Michel


More information about the Mageia-discuss mailing list