129 lines
5.1 KiB
Text
129 lines
5.1 KiB
Text
Title: amd64 17.1 profiles are now stable
|
|
Author: Michał Górny <mgorny@gentoo.org>
|
|
Posted: 2019-06-05
|
|
Revision: 3
|
|
News-Item-Format: 2.0
|
|
Display-If-Profile: default/linux/amd64/13.0
|
|
Display-If-Profile: default/linux/amd64/13.0/selinux
|
|
Display-If-Profile: default/linux/amd64/13.0/desktop
|
|
Display-If-Profile: default/linux/amd64/13.0/desktop/gnome
|
|
Display-If-Profile: default/linux/amd64/13.0/desktop/gnome/systemd
|
|
Display-If-Profile: default/linux/amd64/13.0/desktop/plasma
|
|
Display-If-Profile: default/linux/amd64/13.0/desktop/plasma/systemd
|
|
Display-If-Profile: default/linux/amd64/13.0/developer
|
|
Display-If-Profile: default/linux/amd64/13.0/no-multilib
|
|
Display-If-Profile: default/linux/amd64/13.0/systemd
|
|
Display-If-Profile: default/linux/amd64/17.0
|
|
Display-If-Profile: default/linux/amd64/17.0/selinux
|
|
Display-If-Profile: default/linux/amd64/17.0/hardened
|
|
Display-If-Profile: default/linux/amd64/17.0/hardened/selinux
|
|
Display-If-Profile: default/linux/amd64/17.0/desktop
|
|
Display-If-Profile: default/linux/amd64/17.0/desktop/gnome
|
|
Display-If-Profile: default/linux/amd64/17.0/desktop/gnome/systemd
|
|
Display-If-Profile: default/linux/amd64/17.0/desktop/plasma
|
|
Display-If-Profile: default/linux/amd64/17.0/desktop/plasma/systemd
|
|
Display-If-Profile: default/linux/amd64/17.0/developer
|
|
Display-If-Profile: default/linux/amd64/17.0/no-multilib
|
|
Display-If-Profile: default/linux/amd64/17.0/no-multilib/hardened
|
|
Display-If-Profile: default/linux/amd64/17.0/no-multilib/hardened/selinux
|
|
Display-If-Profile: default/linux/amd64/17.0/systemd
|
|
|
|
A new set of 17.1 amd64 profiles has been added to the Gentoo
|
|
repository in Dec 2017. These profiles switch to a more standard
|
|
'no SYMLINK_LIB' multilib layout, and require explicit migration as
|
|
described below. They are considered stable at the moment, and we would
|
|
like to request all users to upgrade their systems. The old profiles
|
|
will be deprecated in the near future.
|
|
|
|
In the new profiles, the lib->lib64 compatibility symlink is removed.
|
|
64-bit libraries need to be installed directly to lib64. /lib
|
|
and /usr/lib become real directories, that are used for cross-arch
|
|
and native non-library packages (gcc, clang) and 32-bit libraries
|
|
on the multilib profile (which improves compatibility with prebuilt x86
|
|
packages).
|
|
|
|
Migration from both 13.0 and 17.0 profiles is supported. In case
|
|
of the former, reading the news item for 17.0 upgrade [1]
|
|
is recommended.
|
|
|
|
The migration is performed using 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. If you are still running a 13.0 profile, select gcc 6.4.0 or later
|
|
as the system compiler, source /etc/profile and reinstall libtool:
|
|
|
|
# gcc-config -l
|
|
[1] x86_64-pc-linux-gnu-5.5.0 *
|
|
[2] x86_64-pc-linux-gnu-8.3.0
|
|
# gcc-config 2
|
|
# . /etc/profile
|
|
# emerge -1v libtool
|
|
|
|
3. Install the tool:
|
|
|
|
# emerge -1v app-portage/unsymlink-lib
|
|
|
|
4. 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]
|
|
|
|
5. This is a very good time to make a backup.
|
|
|
|
6. Run 'unsymlink-lib --migrate'. You can add '--pretend' first to see
|
|
what is going to happen.
|
|
|
|
7. 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 4.
|
|
|
|
8. 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.
|
|
|
|
9. Switch the profile, e.g.:
|
|
|
|
# eselect profile set default/linux/amd64/17.1/desktop
|
|
|
|
[at this point you can start using emerge again]
|
|
|
|
10. Rebuild the toolchain:
|
|
|
|
# emerge -1v sys-devel/gcc:8.3.0
|
|
[ repeat for other slots you will be using ]
|
|
[ if you are upgrading from 13.0 profile, also: ]
|
|
# emerge -1v sys-devel/binutils
|
|
# emerge -1v sys-libs/glibc
|
|
|
|
11. 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
|
|
|
|
Alternatively, if you are switching from one of the 13.0 profiles
|
|
you can rebuild all packages as detailed in the 17.0 news item:
|
|
|
|
# emerge -ev @world
|
|
|
|
12. 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 [2]. If you have any problems
|
|
with the new profiles or the migration procedure, please report a bug
|
|
and make it block the tracker.
|
|
|
|
For more information on the layout, please see the wiki article
|
|
on AMD64 multilib layouts [3].
|
|
|
|
[1] https://gentoo.org/support/news-items/2017-11-30-new-17-profiles.html
|
|
[2] https://bugs.gentoo.org/506276
|
|
[3] https://wiki.gentoo.org/wiki/Project:AMD64/Multilib_layout
|