1 |
On Monday 24 Apr 2017 08:57:26 Neil Bothwick wrote: |
2 |
> On Sun, 23 Apr 2017 17:29:28 -0700, Ian Zimmerman wrote: |
3 |
> > What I hope for is a way to selectively download only the gcc-5 ebuild |
4 |
> > and its depndencies, which I could temporarily put in a separate local |
5 |
> > repo. Then, if the gcc update goes OK, I can move them in the normal |
6 |
> > portage tree and go ahead with the rest of the update. |
7 |
> |
8 |
> PORTDIR="/somewhere/else" emerge --sync |
9 |
> |
10 |
> should give you a new copy of the portage tree without touching the |
11 |
> original. |
12 |
> |
13 |
> You may be overthinking this, I have no recollection of the gcc-5.4.0 |
14 |
> update which means either there was nothing to remember or I'm losing the |
15 |
> plot. I hope it is the former. That includes installing it on stable |
16 |
> systems that run testing gcc to make use of distcc easier. |
17 |
> |
18 |
> gcc is slotted so you will still have 4.9 available should anything go |
19 |
> wrong. You can potentially get build failures with a gcc upgrade but that |
20 |
> won't affect your installed software, so it's an inconvenience rather |
21 |
> than a problem. |
22 |
|
23 |
I'm with Neil here, I think you are labouring over a process that portage will |
24 |
mostly take care of itself. As others have already suggested; |
25 |
|
26 |
1. Emerge the new gcc: |
27 |
|
28 |
emerge -uaDv gcc |
29 |
|
30 |
2. List available gcc versions: |
31 |
|
32 |
gcc-config -l |
33 |
[1] x86_64-pc-linux-gnu-4.9.4 * |
34 |
[2] x86_64-pc-linux-gnu-5.4.0 |
35 |
|
36 |
3. Select the new gcc version: |
37 |
|
38 |
gcc-config 2 |
39 |
gcc-config -l |
40 |
[1] x86_64-pc-linux-gnu-4.9.4 |
41 |
[2] x86_64-pc-linux-gnu-5.4.0 * |
42 |
|
43 |
4. Source the new profile: |
44 |
|
45 |
. /etc/profile |
46 |
|
47 |
5. Rebuild all packages that have a dependency on libstdc++.so.6': |
48 |
|
49 |
revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc |
50 |
|
51 |
6. Clean old versions of gcc you no longer need: |
52 |
|
53 |
emerge --depclean -a -v |
54 |
|
55 |
|
56 |
NOTE: If some program fails to emerge on step 5 continue with 'emerge -- |
57 |
resume --skip-first' and make a note of the package that failed to emerge. |
58 |
When step 5 finishes manually emerge the previously failed packages with |
59 |
'emerge -1aDv <package_1> <package_2>' |
60 |
|
61 |
I hope I haven't forgotten any steps above, but if you run into trouble post |
62 |
back with specifics. |
63 |
-- |
64 |
Regards, |
65 |
Mick |