Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] [RFC] First (experimental) 17.1 profiles news item for review
Date: Mon, 18 Dec 2017 18:51:31
1 Hello, everyone.
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.
8 ===
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
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.
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).
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.
34 The migration is performed using app-portage/unsymlink-lib tool.
35 The following steps can be used to upgrade your system:
37 1. Sync and upgrade your system to the newest package versions
38 to reduce the risk of issues.
40 2. Install the tool, e.g. via 'emerge -1v app-portage/unsymlink-lib'
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.
46 [past this point do not call emerge or modify /usr manually]
48 4. This is a very good time to make a backup.
50 5. Run 'unsymlink-lib --migrate'. You can add '--pretend' first to see
51 what is going to happen.
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.
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.
63 8. Switch the profile, e.g.:
65 eselect profile set --force default/linux/amd64/17.1/desktop
67 [at this point you can start using emerge again]
69 9. Rebuild sys-devel/gcc. If you are switching from 13.0 profiles,
70 rebuild sys-devel/binutils and sys-libs/glibc afterwards.
72 10. If you are using a multilib profile, rebuild all 32-bit packages.
73 This can be done using:
75 emerge -1v /lib32 /usr/lib32
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.
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.
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.
88 [1]:
90 --
91 Best regards,
92 Michał Górny