summaryrefslogtreecommitdiff
blob: 255b567bbbf62672a44a4922396bdc18fcfd30ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
default/linux/amd64/17.1/hardened/selinux

The amd64 17.1 profiles switch to a more standard 'no SYMLINK_LIB' 
multilib layout, and require an explicit migration.
The migration is performed using the app-portage/unsymlink-lib tool.
The following steps can be used to upgrade your system:

1. Sync and upgrade your system to the newest package versions
   to reduce the risk of issues.

2. Install the tool:
     # emerge -1v app-portage/unsymlink-lib

3. Run 'unsymlink-lib --analyze' and check the output for obvious
   mistakes.  If you need to perform any changes to the system, remember
   to run 'unsymlink-lib --analyze' again afterwards.

[past this point do not call emerge or modify /usr manually]

4. This is a very good time to make a backup.

5. Run 'unsymlink-lib --migrate'.  You can add '--pretend' first to see
   what is going to happen.

6. Reboot your system.  Check if important programs work.
   In particular, verify that e.g. 'emerge --info' works (but do not
   install anything).  If you hit any serious problems, you can use
   'unsymlink-lib --rollback' to revert the changes and return to
   step 3.

7. Run 'unsymlink-lib --finish'.  You can add '--pretend' first to see
   what is going to happen but note that you're going to see a very long
   list of files to remove.

8. Switch the profile, e.g.:
     # eselect profile set default/linux/amd64/17.1/desktop

[at this point you can start using emerge again. emerge will then 
 not display this message anymore, but the remaining steps are still 
 required!]

9. Rebuild gcc:
      # emerge -1v sys-devel/gcc:9.3.0
      [ repeat for other slots you will be using ]

10. If you are using a multilib profile, rebuild all 32-bit packages.
    This can be done using:
      # emerge -1v --deep /lib32 /usr/lib32 /usr/lib/llvm/*/lib32

11. Once the last 32-bit package is rebuilt, your package manager
    should remove the orphaned /lib32 and /usr/lib32 symlinks.  If that
    does not happen, remove them manually:
      # rm /lib32 /usr/lib32

For known issues, please see bug #506276 [1].  If you have any problems
with the new profiles or the migration procedure, please report a bug
and make it block the tracker.

[1] bug #506276