Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] First (experimental) 17.1 profiles news item for review (v2)
Date: Wed, 20 Dec 2017 13:40:39
Message-Id: 1513777227.1173.2.camel@gentoo.org
In Reply to: [gentoo-dev] [RFC] First (experimental) 17.1 profiles news item for review by "Michał Górny"
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

Replies