1 |
> $ls -1 /etc/eselect/compiler/ |
2 |
> selection.conf |
3 |
> x86_64-pc-linux-gnu-3.4.6.conf |
4 |
> x86_64-pc-linux-gnu-4.0.3.conf |
5 |
> x86_64-pc-linux-gnu-4.1.0.conf |
6 |
> x86_64-pc-linux-gnu-4.1.1.conf |
7 |
> |
8 |
> I have USE=-multislot for gcc, so 4.1.1 replaced 4.1.0. |
9 |
> As you can see from the above output, eselect-compiler updated the |
10 |
> x86_64 |
11 |
> entry to point to the new gcc, but failed to update the i686 entry, |
12 |
> which |
13 |
> still points at the now invalid 4.1.0. Further, the stale and |
14 |
> invalid 4.1.0 entries were not removed and remain available for |
15 |
> attempted |
16 |
> selection. Looks like I still have to update the i686 entry |
17 |
> manually, and |
18 |
> remove stale /etc/eselect/compiler/* entries manually as well. |
19 |
> |
20 |
|
21 |
The old profiles are there because the files are in /etc which means |
22 |
they're not removed when the version of gcc is unmerged. This is |
23 |
fixed if you emerge the newest eselect-compiler, but you'll still |
24 |
need to remove the old profile files manually. I should add |
25 |
something to the ebuild to remove invalid profiles after the first |
26 |
install since the CONFIG_PROJECT_MASK won't be valid until AFTER |
27 |
eselect-compiler is installed. Thanks for pointing this out. |
28 |
|
29 |
|
30 |
> Of course, that isn't a problem with eselect-compiler itself, but |
31 |
> rather, |
32 |
> it would seem, with the various eselect-compiler functions in |
33 |
> toolchain.eclass. I just took a brief look and toolchain.eclass |
34 |
> does have |
35 |
> eselect-compiler functions and logic, presumably your work, but it |
36 |
> appears |
37 |
> a bit more work may be necessary before unmasking, unless you tweaked |
38 |
> further after my emerges on May 26. |
39 |
> |
40 |
|
41 |
That depends on when on the 26th. I committed my changes on the |
42 |
26th, so I'm not sure what you have. My fixes actually specifically |
43 |
target updating _both_ the i686 and x86_64 compiler. I actually |
44 |
tested this by using the 4.1.1_pre* gcc, then emerging 4.1.1. I saw |
45 |
both the i686 and x86_64 compiler get updated. Perhaps you missed |
46 |
the fix by a few hours. The toolchain.eclass commit was made a few |
47 |
hours after eselect-compiler was updated. |
48 |
|
49 |
|
50 |
> If you need more testing and want a bit faster responses, mail me |
51 |
> directly |
52 |
> if you wish. Be sure it's plain text so it doesn't get caught in |
53 |
> my spam |
54 |
> filter, but yeah, I'm up for trying eclass patches or the like, and |
55 |
> recompiling gcc a few times to try things out, if necessary. Handling |
56 |
> removal of stale config files manually isn't a big problem here, |
57 |
> and I've |
58 |
> been managing it for some time, but it's something that should be |
59 |
> fixed |
60 |
> before unmasking, I'm sure you'll agree. |
61 |
> |
62 |
|
63 |
Yes, I definitely agree here. The problem is with portage not |
64 |
unmerging the files with gcc and QA wanting the base profile not to |
65 |
include the override for eselect-compiler. This forced me to set |
66 |
CONFIG_PROJECT_MASK via env.d for users who have eselect-compiler, |
67 |
but that strands profiles for users who unmerge gcc before they get |
68 |
eselect-compiler... thus I'm going to need to cleanup /etc/eselect/ |
69 |
compiler on the first merge. |
70 |
|
71 |
|
72 |
> |
73 |
> Very cool idea, BTW, handling both archs, and obviously a step up from |
74 |
> current gcc-config, or I wouldn't have bothered with the manual |
75 |
> updates |
76 |
> this past year. The core, the part that's working, works very |
77 |
> well, and |
78 |
> I've been quite happily using it, occasional manual updates and the |
79 |
> former |
80 |
> manual initial setup, or not. =8^) |
81 |
> |
82 |
|
83 |
Great. Glad to see it working well for you. I've been using it as |
84 |
well, and I'm just glad I got it to a usable state before work tore |
85 |
me away from the project for so long. Hopefully I can get this |
86 |
finished soon and start working on something similar for binutils. |
87 |
|
88 |
--Jeremy |
89 |
|
90 |
-- |
91 |
gentoo-amd64@g.o mailing list |