Profiles are settings for supported architecture and default settings for the portage package system (system ebuilds and default use flags).
Open the upgrading guide https://wiki.gentoo.org/wiki/Upgrading_Gentoo and see what to do. There is also a description in https://wiki.gentoo.org/wiki/Profile.
eselect deals with the profiles:
eselect profile list shows all profiles available and
eselect profile set<number>
lets change (update) to an other profile.
Behind the scenes it modifies where the link /etc/make.profile points to.
Profiles have sub-profiles as example the profile default has the sub-profile linux default/linux/x86/10.0/desktop/gnome
and this corresponds the directory and subdirectory structure under /usr/portage/profiles
.
When changing the profiles run emerge --update --deep --newuse world since it is expected that the useflags have been changed.
Check your
profile by following the link /etc/make.profile
, that points
somewhere into /usr/portage/profiles
. Files are shared
between different profiles, to avoid duplication. In cascaded
profiles a file called parent points to a list what has been added too. Using the links in the parent files a complete tree of directories can be created and those directories contain the files defining the profiles. as example the file make.defaults appears a couple of times and holds the USE flag settings.
The system variable CHOST tells the c compiler for what it has to compile. Once set, modifying require a sequence of steps until the complete system gets aware of the change.
Recompiling everything using emerge --ask --emptytree @world might be necessary. See: https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable
On newer profile CHOST does not have to be set in /etc/portage/make.conf
since the profiles have a default value.
CHOST contains different fields see: https://wiki.gentoo.org/wiki/CHOST
Example 14.2. CHOST
x86_64-pc-linux-gnu
x86_64 is the architecture (only mandatory field)
pc is the vendor information
linux is the operating system
gnu is the c library