On Mon, 18 Jun 2001, Andrej Borsenkow wrote:
> >
> > There are actually over 20 of these and most are probably hard to avoid
> > (see below). The cases with 'libfoo0-1.2.3 requires foo-1.2.3' are
> > however broken, imho.
>
> Why? It simply means that both versions must match. If this requirements is
> correct is another question; but there is nothing broken in dependency
> itself.
>
In the old days, most of these packages only had a foo and a foo-devel
package. Now there usually is foo, libfoo0 and libfoo0-devel with
"foo requires libfoo0 = 1.2.3", "libfoo0-devel requires libfoo0 = 1.2.3"
and possibly some "bar-2.3.4 requires libfoo0". When you get foo-2.0.0,
you can install libfoo2 and upgrade foo and libfoo-devel without having
to rebuild or even port bar.
However, it can be assumed that foo-2.0.0 and foo-1.2.3 can not be installed
at the same time, so if libfoo0 requires foo-1.2.3, you cannot have
foo-2.0.0 and bar-2.3.4 at the same time, which is bad.
To put it more simply, if you cannot install A without B nor B without A
and they both come from the same source, they can just as well be in the
same RPM.
Arnd <><