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