Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: "active" gcc/kernel/... dependencies (was: tr1 dependencies)
Date: Tue, 30 Jan 2007 16:42:39
Message-Id: epnsb3$2a1$5@sea.gmane.org
In Reply to: Re: [gentoo-dev] "active" gcc/kernel/... dependencies (was: tr1 dependencies) by Marius Mauch
1 Marius Mauch <genone@g.o> posted
2 20070130164951.1b0215d9.genone@g.o, excerpted below, on Tue, 30
3 Jan 2007 16:49:51 +0100:
4
5 > On Tue, 30 Jan 2007 14:49:48 +0100
6 > Matthias Langer <mlangc@×××.at> wrote:
7 >
8 >> isn't it possible to check the version of gcc that is in _use_ in an
9 >> ebuild, like i can do in a configure script? if so, one could provide a
10 >> "old-gcc" use flag that must be enabled when trying to build with
11 >> <gcc-4.1.0 (that actually pulls in boost etc.) and must not be enabled
12 >> when using >=gcc-4.1.0 ...
13 >
14 > Sure you can check for it, but not at dependency calculation time. A
15 > useflag won't help there, would be the same as a || dependency, just
16 > worse.
17
18 What about a USE flag set by the profile (there's a boost
19 use flag already, however, so that's out unless usage can be made
20 compatible with the profile-masking bit)? Archs that don't have >gcc-4.1
21 can mask the flag and hard-set the dependency to boost. Those that have
22 it stable can mask it and hard-set the gcc-4.1 dependency. Those that
23 have >gcc-4.1 as unstable can unmask the useflag and default it to boost.
24
25 Ebuilds using the flag could set an ewarn or elog that warns appropriately
26 about having to run revdep-rebuild or emerge -N if the flag is changed or
27 boost unmerged, and the rest could be handled in profile upgrade
28 documentation where it applies.
29
30 This should certainly be sufficient for non-toolchain. If there's a
31 toolchain dependency, things get a bit more hairy, but profile changes and
32 possibly having an emergency binary tarballed version if appropriate,
33 preferably built with the dependency static, should still handle it. With
34 the transfer to profile-controlled multilib, I know amd64 had a couple
35 hairy profile upgrades where a multilib gcc binary tarball came in handy.
36 IIRC there was a flag set in the profile change that the profile's bashrc
37 tested for and warned about if the profile switching instructions hadn't
38 been followed, and emerge wouldn't do much until the profile was switched
39 back and the profile switched to following the instructions if desired, so
40 it can be done.
41
42 --
43 Duncan - List replies preferred. No HTML msgs.
44 "Every nonfree program has a lord, a master --
45 and if you use the program, he is your master." Richard Stallman
46
47 --
48 gentoo-dev@g.o mailing list