Here in Gentoo land, the concept of upgrading is quite different compared to
the rest of the Linux world. You probably already know that we never got in
touch with the "classic" way of upgrading software: waiting for a new release,
downloading it, burning, putting it in the cdrom drive and then following the
upgrade instructions.

You know (being a Gentoo user after all) that this process is extremely
frustrating for power users that want to live on the bleeding edge. Even power
users from other distributions probably share the same feelings, given the
popularity and spread of tools like apt or apt-rpm which make it
possible to have quick and frequent updates. However, no distibution is more
suited than Gentoo to satisfy these kind of demanding users. From the beginning,
Gentoo was designed around the concept of fast, incremental updates.

Ideally, you install once and then do not to bother with releases:
just follow the instructions in
Portage and
Software in the
Gentoo Handbook that explain how to keep
your system up to date. While that's the way things usually go, sometimes
changes are made to the core system which require updates to be done manually.

Releases and Profiles

A recurring question about the Gentoo release process is: "Why roll out new
releases frequently, if they are not intended to let users update software?".
There are various reasons:

A new release means new LiveCDs with bugfixes and more features.

A new release provides an updated set of GRP packages, so that users that
choose "the fast way" to install (stage3 + precompiled packages) and end up
with a system that is not outdated.

Finally, a new release may, from time to time, implement some features that
are incompatible with previous releases.

When a release includes new incompatible features, or provides a set of core
packages and settings that deeply modify the behavior of the system, we say
that it provides a new profile.

A profile is a set of configuration files, stored in a subdirectory of
/usr/portage/profiles/, that describe things such as the ebuilds
that are considered system packages, the default USE flags, the default
mapping for virtual packages, and architecture that the system is running.

The profile in use is determined by the symbolic link
/etc/make.profile, which points to a subdirectory of
/usr/portage/profiles which holds the profile files. For instance,
the x86 2004.2 profile can be found at /usr/portage/profiles/default-x86-2004.2
(old-style location) or at /usr/portage/profiles/default-linux/x86/2004.2 (new-style
location). With respect to new-style profile directories, note that the files in
parent directories are part of the profile (and are therefore shared
by different subprofiles).

Profiles obsoleted by new ones are kept in /usr/portage/profiles
along with the current ones, but they are marked as deprecated. When that happens a
file named deprecated is put in the profile directory. The content
of this file is the name of the profile that should be "upgraded to"; portage uses
this information to automatically warn you when you should update to a new profile.

There are various reasons that a new profile may be created: the release of new
versions of core packages (such as baselayout, gcc, or glibc)
that are incompatible with previous versions, a change in the default USE flags, or
in the virtual mappings, or maybe a change in system-wide settings (such as defining
udev to be the default manager for /dev instead of devfs).

Keeping up with new releasesReleases without profile changes

If a new Gentoo release is announced that does not include a new profile (such
as the 2004.1 release for x86), then you can safely pretend that it never
happened :).

If you update your installed packages
as explained in
the Gentoo Handbook, then your system will be exactly the same as one
that has been installed using the new release.

Releases with profile changes

If a release introduces a new profile, you have the choice to migrate to the
new profile.

Naturally, you are not forced to do so, and you can continue to use the old profile
and just update your packages
as explained in
the Gentoo Handbook.

However, Gentoo strongly recommends updating your profile if it becomes deprecated.
When this happens, it means that Gentoo developers no longer plan on supporting it.
Using the table below, you can quickly check to see what profiles are currently supported.

If you decide to migrate to the new profile, then you will have to manually
perform the update. The way you update may vary significantly from release to release; it
depends on how deep the modifications introduced in the new profile.

In the simplest case you only have to change the /etc/make.profile
symlink, in the worst case you may have to recompile your system from scratch
while doing a neat voodoo dance. Regardless, we will publish migration instructions
as part of the release. You can also find these instructions at the end of this guide.

Supported profiles

The following profiles are officially supported by Gentoo developers:

Architecture

Most recent profile

Other supported profiles

arm

2004.0

amd64

2004.22004.0

hardened-x86

2004.0

hppa

2004.0

ppc

2004.0

mips

2004.11.4

sparc

2004.0

sparc64

2004.0

x86

2004.22004.0, 1.4

Profile updating instructionsUpdating to 2004.2

To switch to the 2004.2 profile, point the /etc/make.profile symlink
to the new location:

x86 - This profile changes the default X11 implementation from
x11-base/xfree to x11-base/xorg-x11. This change only touches
the default value, and is only relevant for those who have not installed
an X server yet. If you already have one installed, then it will not affect
you at all; you are free to switch from one X server to the other exactly as
before.

amd64 - There are no fundamental changes from previous profiles, no
specific action needs to be performed.

Updating to 2004.0

To switch to the 2004.0 profile, point the /etc/make.profile symlink
to the new location: