Inflation of explicit build requirements

Ralf Corsepius rc040203 at freenet.de
Mon Jun 7 11:15:16 UTC 2004


On Mon, 2004-06-07 at 09:31, Remco Treffkorn wrote:
> /lib/cpp -> ../usr/bin/cpp
> $ rpm -qf /usr/bin/cpp
> cpp-3.3.3-7
> $ rpm -e cpp
> error: Failed dependencies:
>         cpp = 3.3.3-7 is needed by (installed) gcc-3.3.3-7
>         /usr/bin/cpp is needed by (installed) xorg-x11-6.7.0-2
> 
> So, what exactly is your point? 

* Many packages require /lib/cpp and will not build without it.

* /usr/bin/cpp and */cc1 are part of the GCC, /lib/cpp isn't.

* /lib/cpp is obsolete and may be removed at any time in future.

Red Hat and FC split the GCC into several packages and add a /lib/cpp
convenience/backward-compatibility symlink to their "cpp" package.
Their "gcc" package requires this "cpp" package, i.e. implicitly pulls
in /lib/cpp.

I.e. the fact that "BuildRequires: gcc" pulls in "/lib/cpp" is just an
accident exploiting an historic artifact. If FC rsp. RH should remove
/lib/cpp from their "cpp"-package this dependency will break.

Therefore, IMO, all packages needing /lib/cpp (There are many of them)
should "BuildRequires: /lib/cpp".

Ralf






More information about the fedora-devel-list mailing list