1 |
Here's an update using Display-If-Profile header instead. The item |
2 |
applies to users of 13.0 and 17.0 profiles, except for x32 profiles that |
3 |
have been using the correct layout already. |
4 |
|
5 |
=== |
6 |
Title: Experimental amd64 17.1 profiles up for testing |
7 |
Author: Michał Górny <mgorny@g.o> |
8 |
Posted: 2017-12-xx |
9 |
Revision: 1 |
10 |
News-Item-Format: 2.0 |
11 |
Display-If-Profile: default/linux/amd64/13.0 |
12 |
Display-If-Profile: default/linux/amd64/13.0/selinux |
13 |
Display-If-Profile: default/linux/amd64/13.0/desktop |
14 |
Display-If-Profile: default/linux/amd64/13.0/desktop/gnome |
15 |
Display-If-Profile: default/linux/amd64/13.0/desktop/gnome/systemd |
16 |
Display-If-Profile: default/linux/amd64/13.0/desktop/plasma |
17 |
Display-If-Profile: default/linux/amd64/13.0/desktop/plasma/systemd |
18 |
Display-If-Profile: default/linux/amd64/13.0/developer |
19 |
Display-If-Profile: default/linux/amd64/13.0/no-multilib |
20 |
Display-If-Profile: default/linux/amd64/13.0/systemd |
21 |
Display-If-Profile: default/linux/amd64/17.0 |
22 |
Display-If-Profile: default/linux/amd64/17.0/selinux |
23 |
Display-If-Profile: default/linux/amd64/17.0/hardened |
24 |
Display-If-Profile: default/linux/amd64/17.0/hardened/selinux |
25 |
Display-If-Profile: default/linux/amd64/17.0/desktop |
26 |
Display-If-Profile: default/linux/amd64/17.0/desktop/gnome |
27 |
Display-If-Profile: default/linux/amd64/17.0/desktop/gnome/systemd |
28 |
Display-If-Profile: default/linux/amd64/17.0/desktop/plasma |
29 |
Display-If-Profile: default/linux/amd64/17.0/desktop/plasma/systemd |
30 |
Display-If-Profile: default/linux/amd64/17.0/developer |
31 |
Display-If-Profile: default/linux/amd64/17.0/no-multilib |
32 |
Display-If-Profile: default/linux/amd64/17.0/no-multilib/hardened |
33 |
Display-If-Profile: default/linux/amd64/17.0/no-multilib/hardened/selinux |
34 |
Display-If-Profile: default/linux/amd64/17.0/systemd |
35 |
|
36 |
A new set of 17.1 amd64 profiles has been added to the Gentoo |
37 |
repository. Those profiles switch to a more standard 'no SYMLINK_LIB' |
38 |
multilib layout, and require explicit migration as described below. They |
39 |
are considered experimental at the moment, and have a fair risk |
40 |
of breaking your system. We would therefore like to ask our users to |
41 |
test them on their non-production ~amd64 systems. |
42 |
|
43 |
In those profiles, the lib->lib64 compatibility symlink is removed. |
44 |
The 'lib' directory becomes a separate directory, that is used |
45 |
for cross-arch and native non-library packages (gcc, clang) and 32-bit |
46 |
libraries on the multilib profile (for better compatibility with |
47 |
prebuilt x86 packages). |
48 |
|
49 |
Migration from both 13.0 and 17.0 profiles is supported. In case |
50 |
of the former, please read the news item for 17.0 upgrade first |
51 |
and enable gcc 6.4.0 or newer first as explained there. |
52 |
|
53 |
The migration is performed using app-portage/unsymlink-lib tool. |
54 |
The following steps can be used to upgrade your system: |
55 |
|
56 |
1. Sync and upgrade your system to the newest package versions |
57 |
to reduce the risk of issues. |
58 |
|
59 |
2. Install the tool, e.g. via 'emerge -1v app-portage/unsymlink-lib' |
60 |
|
61 |
3. Run 'unsymlink-lib --analyze' and check the output for obvious |
62 |
mistakes. If you need to perform any changes to the system, remember |
63 |
to run 'unsymlink-lib --analyze' again afterwards. |
64 |
|
65 |
[past this point do not call emerge or modify /usr manually] |
66 |
|
67 |
4. This is a very good time to make a backup. |
68 |
|
69 |
5. Run 'unsymlink-lib --migrate'. You can add '--pretend' first to see |
70 |
what is going to happen. |
71 |
|
72 |
6. Reboot your system and see if it still boots. Check if important |
73 |
programs work. In particular, check if e.g. 'emerge --info' works |
74 |
(but do not install anything). If you hit any serious problems, |
75 |
you can use 'unsymlink-lib --rollback' to revert the changes |
76 |
and return to step 3. |
77 |
|
78 |
7. Run 'unsymlink-lib --finish'. You can add '--pretend' first to see |
79 |
what is going to happen but note that you're going to see a very long |
80 |
list of files to remove. |
81 |
|
82 |
8. Switch the profile, e.g.: |
83 |
|
84 |
eselect profile set --force default/linux/amd64/17.1/desktop |
85 |
|
86 |
[at this point you can start using emerge again] |
87 |
|
88 |
9. Rebuild sys-devel/gcc. If you are switching from 13.0 profiles, |
89 |
rebuild sys-devel/binutils and sys-libs/glibc afterwards. |
90 |
|
91 |
10. If you are using a multilib profile, rebuild all 32-bit packages. |
92 |
This can be done using: |
93 |
|
94 |
emerge -1v /lib32 /usr/lib32 |
95 |
|
96 |
Alternatively, if you are switching from one of the 13.0 profiles |
97 |
you can rebuild all packages as detailed in the 17.0 news item. |
98 |
|
99 |
11. Once the last 32-bit package is rebuilt, your package manager |
100 |
should remove the orphaned /lib32 and /usr/lib32 symlinks. If that |
101 |
does not happen, remove them manually. |
102 |
|
103 |
For known issues, please see bug #506276 [1]. If you have any problems |
104 |
with the new profiles or the migration procedure, please report a bug |
105 |
and make it block the tracker. |
106 |
|
107 |
[1]:https://bugs.gentoo.org/506276 |
108 |
|
109 |
-- |
110 |
Best regards, |
111 |
Michał Górny |