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 |