1 |
Hi, |
2 |
|
3 |
Here's r1 of the item. I've included the link to 17.0 news item |
4 |
and combined upgrade instructions for both. I've also reformatted them |
5 |
to put explicit upgrade commands more explicitly. |
6 |
|
7 |
|
8 |
--- |
9 |
Title: amd64 17.1 profiles are now stable |
10 |
Author: Michał Górny <mgorny@g.o> |
11 |
Posted: 2019-05-xx |
12 |
Revision: 1 |
13 |
News-Item-Format: 2.0 |
14 |
Display-If-Profile: default/linux/amd64/13.0 |
15 |
Display-If-Profile: default/linux/amd64/13.0/selinux |
16 |
Display-If-Profile: default/linux/amd64/13.0/desktop |
17 |
Display-If-Profile: default/linux/amd64/13.0/desktop/gnome |
18 |
Display-If-Profile: default/linux/amd64/13.0/desktop/gnome/systemd |
19 |
Display-If-Profile: default/linux/amd64/13.0/desktop/plasma |
20 |
Display-If-Profile: default/linux/amd64/13.0/desktop/plasma/systemd |
21 |
Display-If-Profile: default/linux/amd64/13.0/developer |
22 |
Display-If-Profile: default/linux/amd64/13.0/no-multilib |
23 |
Display-If-Profile: default/linux/amd64/13.0/systemd |
24 |
Display-If-Profile: default/linux/amd64/17.0 |
25 |
Display-If-Profile: default/linux/amd64/17.0/selinux |
26 |
Display-If-Profile: default/linux/amd64/17.0/hardened |
27 |
Display-If-Profile: default/linux/amd64/17.0/hardened/selinux |
28 |
Display-If-Profile: default/linux/amd64/17.0/desktop |
29 |
Display-If-Profile: default/linux/amd64/17.0/desktop/gnome |
30 |
Display-If-Profile: default/linux/amd64/17.0/desktop/gnome/systemd |
31 |
Display-If-Profile: default/linux/amd64/17.0/desktop/plasma |
32 |
Display-If-Profile: default/linux/amd64/17.0/desktop/plasma/systemd |
33 |
Display-If-Profile: default/linux/amd64/17.0/developer |
34 |
Display-If-Profile: default/linux/amd64/17.0/no-multilib |
35 |
Display-If-Profile: default/linux/amd64/17.0/no-multilib/hardened |
36 |
Display-If-Profile: default/linux/amd64/17.0/no-multilib/hardened/selinux |
37 |
Display-If-Profile: default/linux/amd64/17.0/systemd |
38 |
|
39 |
A new set of 17.1 amd64 profiles has been added to the Gentoo |
40 |
repository in Dec 2017. These profiles switch to a more standard |
41 |
'no SYMLINK_LIB' multilib layout, and require explicit migration as |
42 |
described below. They are considered stable at the moment, and we would |
43 |
like to request all users to upgrade their systems. The old profiles |
44 |
will be deprecated in the near future. |
45 |
|
46 |
In the new profiles, the lib->lib64 compatibility symlink is removed. |
47 |
64-bit libraries need to be installed directly to lib64. /lib |
48 |
and /usr/lib become real directories, that are used for cross-arch |
49 |
and native non-library packages (gcc, clang) and 32-bit libraries |
50 |
on the multilib profile (which improves compatibility with prebuilt x86 |
51 |
packages). |
52 |
|
53 |
Migration from both 13.0 and 17.0 profiles is supported. In case |
54 |
of the former, reading the news item for 17.0 upgrade [1] |
55 |
is recommended. |
56 |
|
57 |
The migration is performed using app-portage/unsymlink-lib tool. |
58 |
The following steps can be used to upgrade your system: |
59 |
|
60 |
1. Sync and upgrade your system to the newest package versions |
61 |
to reduce the risk of issues. |
62 |
|
63 |
2. If you are still running a 13.0 profile, select gcc 6.4.0 or later |
64 |
as the system compiler, source /etc/profile and reinstall libtool: |
65 |
|
66 |
# gcc-config -l |
67 |
[1] x86_64-pc-linux-gnu-5.5.0 * |
68 |
[2] x86_64-pc-linux-gnu-8.3.0 |
69 |
# gcc-config 2 |
70 |
# . /etc/profile |
71 |
# emerge -1v libtool |
72 |
|
73 |
3. Install the tool: |
74 |
|
75 |
# emerge -1v app-portage/unsymlink-lib |
76 |
|
77 |
4. Run 'unsymlink-lib --analyze' and check the output for obvious |
78 |
mistakes. If you need to perform any changes to the system, remember |
79 |
to run 'unsymlink-lib --analyze' again afterwards. |
80 |
|
81 |
[past this point do not call emerge or modify /usr manually] |
82 |
|
83 |
5. This is a very good time to make a backup. |
84 |
|
85 |
6. Run 'unsymlink-lib --migrate'. You can add '--pretend' first to see |
86 |
what is going to happen. |
87 |
|
88 |
7. Reboot your system. Check if important programs work. |
89 |
In particular, verify that e.g. 'emerge --info' works (but do not |
90 |
install anything). If you hit any serious problems, you can use |
91 |
'unsymlink-lib --rollback' to revert the changes and return to |
92 |
step 3. |
93 |
|
94 |
8. Run 'unsymlink-lib --finish'. You can add '--pretend' first to see |
95 |
what is going to happen but note that you're going to see a very long |
96 |
list of files to remove. |
97 |
|
98 |
9. Switch the profile, e.g.: |
99 |
|
100 |
# eselect profile set default/linux/amd64/17.1/desktop |
101 |
|
102 |
[at this point you can start using emerge again] |
103 |
|
104 |
10. Rebuild the toolchain: |
105 |
|
106 |
# emerge -1v sys-devel/gcc:8.3.0 |
107 |
[ repeat for other slots you will be using ] |
108 |
[ if you are upgrading from 13.0 profile, also: ] |
109 |
# emerge -1v sys-devel/binutils |
110 |
# emerge -1v sys-libs/glibc |
111 |
|
112 |
11. If you are using a multilib profile, rebuild all 32-bit packages. |
113 |
This can be done using: |
114 |
|
115 |
# emerge -1v /lib32 /usr/lib32 |
116 |
|
117 |
Alternatively, if you are switching from one of the 13.0 profiles |
118 |
you can rebuild all packages as detailed in the 17.0 news item: |
119 |
|
120 |
# emerge -ev @world |
121 |
|
122 |
12. Once the last 32-bit package is rebuilt, your package manager |
123 |
should remove the orphaned /lib32 and /usr/lib32 symlinks. If that |
124 |
does not happen, remove them manually: |
125 |
|
126 |
# rm /lib32 /usr/lib32 |
127 |
|
128 |
For known issues, please see bug #506276 [2]. If you have any problems |
129 |
with the new profiles or the migration procedure, please report a bug |
130 |
and make it block the tracker. |
131 |
|
132 |
For more information on the layout, please see the wiki article |
133 |
on AMD64 multilib layouts [3]. |
134 |
|
135 |
[1] https://gentoo.org/support/news-items/2017-11-30-new-17-profiles.html |
136 |
[2] https://bugs.gentoo.org/506276 |
137 |
[3] https://wiki.gentoo.org/wiki/Project:AMD64/Multilib_layout |
138 |
|
139 |
-- |
140 |
Best regards, |
141 |
Michał Górny |