Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 12974 - [New feature] Form of PDEPEND *only* if package installed.
Summary: [New feature] Form of PDEPEND *only* if package installed.
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Martin Schlemmer (RETIRED)
Depends on:
Reported: 2002-12-31 05:59 UTC by Phil Richards
Modified: 2003-11-29 13:27 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---

emerge.diff (emerge.diff,468 bytes, patch)
2003-01-16 06:02 UTC, J Robert Ray
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Phil Richards 2002-12-31 05:59:02 UTC
This is *not* the same as bug 12689, but is related.

I emerged gcc-config (and some other stuff) (already had colorgcc installed).
From that point on, all other ebuilds failed during ./configure (they were
trying to run /usr/bin/gcc, which doesn't exist).

After a bit of digging I realised that it was because of the wrapper versions
from colorgcc, and once I had done an update emerge on colorgcc to get the
latest version, everything was fine.

colorgcc should be forced to update to the new version if the new gcc-config
is installed - the emerge system is left almost unusable if you don't.

Comment 1 Martin Schlemmer (RETIRED) gentoo-dev 2002-12-31 14:45:54 UTC
Fine by me, but no way for me to do with current portage features.  Adding
Nick ...
Comment 2 J Robert Ray 2003-01-16 06:01:56 UTC
The latest perl ebuilds give me an idea about this.  All the gcc ebuild would
need is something like:

if $(has_version dev-util/colorgcc) ; then
     PDEPEND="${PDEPEND} dev-util/colorgcc"

However, there are a number of bugs that prevent this from working.

First, PDEPEND is not working as advertised, the way I understand the
advertising.  I thought PDEPEND is supposed to emerge the packages in PDEPEND
unconditionally after the current package is merged.

What I'm seeing instead is the PDEPENDs only being merged if the package is not
already installed.  I'll post a patch to fix that.

Second, the dep cache in /var/cache/edb/... is only updated when the ebuild is
newer than the cache file, AFAICT.  The problem is that when the cache is
created, it doesn't take into consideration the conditional PDEPEND, but saves
away the current value of PDEPEND at that time.

So, in this case, if gcc is merged without colorgcc installed, the cached deps
will not list colorgcc.  Then, if the user emerges colorgcc, and then later
merges gcc again, the dep cache will still not list colorgcc.

All I can think to fix this problem is to add a flag to the ebuild that says to
not use the cache.

At any rate, it would be cool if this worked.
Comment 3 J Robert Ray 2003-01-16 06:02:41 UTC
Created attachment 7367 [details, diff]

Force PDEPENDs to be merged unconditionally.
Comment 4 Martin Schlemmer (RETIRED) gentoo-dev 2003-02-02 13:54:18 UTC
Hmm, simple patch.  Well, the problem is also fixed by gcc-config-1.3.1.
Comment 5 Andrew Cooks (RETIRED) gentoo-dev 2003-11-29 13:27:41 UTC
This bug has been inactive for more than 180 days.

I believe the problem's been fixed. Please reopen if it persists.