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