Open main menu

Funtoo β

Instrucciones para Actualizar/1.3-release

< Upgrade Instructions
Revision as of 22:36, June 14, 2019 by Skyark (talk | contribs) (Created page with "===Anterior a 1.3===")
Other languages:
English • ‎español

Template:Precaución Template:Importante

Anterior a 1.3

Prior to upgrading to 1.3, you will need to perform an ego sync under 1.2. If you encounter errors with ego sync not completing successfully on xorg-kit or gnome-kit, perform the following steps to correct your tree. First, add the following to /etc/ego.conf:

   /etc/ego.conf
[global]

kits_depth = 20

Then, run the following commands:

root # rm -rf /var/git/meta-repo
root # ego sync

Now, make sure you have ego 2.7.2 or later installed, as this will be required to start the upgrade process.

Set Release and Sync

In /etc/ego.conf, set the release to 1.3:

   /etc/ego.conf
[global]

release = 1.3

Then, run ego sync:

root # ego sync

Optionally Retarget Pure64

If you are running a pure64 build of Funtoo Linux, you will need to run the following command to update your /etc/portage/make.profile/parent file to no longer reference the pure64 arch profile, as it has been deprecated. Run the following command:

root # epro arch x86-64bit
root ##y##WARNING: Previous value: x86-64bit -- typically, user should not change this.

=== Enabled Profiles: ===

        arch: x86-64bit
       build: current
     subarch: intel64-westmere
      flavor: core
     mix-ins: mediaformat-gfx-common
     mix-ins: mediaformat-gfx-extra

>>> Set arch to x86-64bit.
Updating profiles at /etc/portage/make.profile/parent...
   Note

You may also need to update subarch using a similar set of arguments to epro, e.g. from intel64-westmere-pure64 to intel64-westmere.

Optionally Remove Xorg-Server

1.3-release contains a completely reworked xorg-server, and as such, it is best to remove your old xorg-server prior to updating:

root # emerge -C xorg-server
root # emerge -aC $(qlist -IC x11-proto)
root # emerge --oneshot x11-base/xorg-proto

Relax Deps and Rebuild

Before upgrading, it is a good idea to perform the following commands to relax any existing 32-bit ABI deps so that installed packages don't block necessary updates. Be sure to back up /var/db/pkg, as included in the instructions below, and specify the find commands below exactly -- best to copy and paste:

root # cd /var/db
root # cp -a pkg /var/tmp/pkg.bak
root # cd pkg
root # find -iname RDEPEND -exec sed -i -e 's/\[abi_x86_32(-),abi_x86_64(-)]//g' {} \;
root # find -iname RDEPEND -exec sed -i -e 's/,abi_x86_32(-),abi_x86_64(-)]/]/g' {} \;

Any critical installed packages should no longer depend on ebuilds providing 32-bit ABIs.

Now, proceed to install the new gcc, remove the old one, and then upgrade glibc:

root # emerge -u1 gcc
root # emerge -C =sys-devel/gcc-7.3.1*
root # emerge -u1 glibc

Perl Rebuild

With 1.3-release dev-lang/perl updated from 5.24 to 5.26 version. It is necessary to rebuild perl modules installed with such major version update, which can be done with:

root # emerge -v1 --nodeps dev-lang/perl
root # perl-cleaner --all
   Note

Some systems may require perl-cleaner --reallyall

Now, you are ready to proceed with a full system and world update:

root # emerge -auDN @system --ignore-world
root # emerge -auDN @world

Now, it should be possible to rebuild any necessary packages to get rid of preserved libraries, paying particular attention to any old versions of glibc:

root # emerge -av @preserved-rebuild
   Important

It appears that dev-lang/go will keep rebuilding against a preserved 32-bit glibc, so to fully remove multilib on a system that has dev-lang/go installed, you will need to perform the following steps: emerge -C dev-lang/go; emerge dev-lang/go.

Now, after update and rebuild you will want to either run etc-update or dispatch-conf to perform changes to the configuration files that may happen with ebuild updates:

root # etc-update

Optionally Update Kernel

If you were not using debian-sources-lts before, you may want to upgrade to this kernel. Do this as follows:

root # emerge -av debian-sources-lts
root # ego boot update

Depending on your /etc/boot.conf settings, you may need to tweak the file in order to have debian-sources-lts selected by default.

   Important

Remember to rebuild any necessary kernel modules!

This can be achieved with:

root # emerge -av @module-rebuild --exclude debian-sources-lts

Reboot

At this point, we recommend rebooting the system to ensure you are running in the new environment:

root # reboot