Distribuições baseadas em
Gentoo usam
Portage como gerenciador de pacotes. Suponha que você tenha uma antiga instalação de Gentoo, ou de Sabayon, que ficou muito tempo sem atualizar.
Ocorre que o Portage mudou muito nesse tempo. Os perfis, os EAPI, alguns arquivos mudaram de lugar (ex.: o
make.conf e
make.profile, mudaram de
/etc para
/etc/portage, etc...).
Se você tentar atualizar direto (comando:
emerge --sync), não conseguirá e obterá mensagens assim:
# emerge -va portage
!!! Unable to parse profile: '/etc/make.profile'
!!! ParseError: Profile contains unsupported EAPI '5':
'/usr/portage/profiles/eapi-5-files/eapi'
!!! Your current profile is invalid. If you have just changed your profile
!!! configuration, you should revert back to the previous configuration.
!!! Allowed actions are limited to --help, --info, --search, --sync, and
!!! --version.
# emerge --sync
!!! Unable to parse profile: '/etc/make.profile'
!!! ParseError: Profile contains unsupported EAPI '5':
'/usr/portage/profiles/eapi-5-files/eapi'
!!! SYNC is undefined. Is /usr/share/portage/config/make.globals missing?
Detalhes:
Gentoo Forums :: View topic - Unable to parse profile
Se você verificar seus perfis (comando:
eselect profile list), verá que eles estão velhos.
O ideal é reinstalar limpo seu Gentoo ou Sabayon. Mas, suponho que queira consertar (pois o Gentoo é muito trabalhoso para instalar). Ainda, o
Dinossauro gosta de consertar o
GNU/Linux! (rs!)
Faça assim:
1. Abra seu editor de texto em modo root (em usei Pluma, com sudo gráfico:
gksu pluma) e edite o arquivo
/etc/portage/make.profile/parent.
Se seu Portage for velho, provavelmente o terá. Ao editar, comente a linha do perfil velho e a modifique para o novo perfil (13, EAPI 5).
Deixe-o assim:
# Perfil Novo:
gentoo:default/linux/amd64/13.0/desktop
# Arquivo Original. Perfis Velhos:
# gentoo:default/linux/amd64/10.0/desktop
# gentoo:gentoo/1.0/linux-gnu/build/current
# gentoo:gentoo/1.0/linux-gnu/flavor/desktop
2. Salve o arquivo na pasta correta, com o mesmo nome:
/etc/portage/make.profile/parent
Em meus testes, não ocorreu, mas se você não tiver o arquivo original, crie-o. Mantenha o editor ABERTO, isto porque:
Agora, você precisará editar outros arquivos. Verá no editor, ou com comandos (tipo:
locate ou
find):
cd /
$ find -name make.profile
Verá que tem um arquivo
make.profile ou em
/etc, ou em
/etc/portage. Mas se tentar abrir no editor, receberá uma mensagem de que o "arquivo não foi achado". Isso é uma proteção do Portage, que não deixa editar.
Drible isso da seguinte forma: se você tiver seu
make.conf na pasta
/etc ou na pasta
/etc/portage, mantenha o caminho adequado.
No meu exemplo, estava em
/etc/portage. Então, este é o caminho padrão do seu Portage. Em modo root, crie um arquivo "branco", "vazio", chamado
make.profile nessa pasta:
cd /
$ sudo touch /etc/portage/make.profile
Observe que isso sobrescreverá o arquivo original (que vimos acima, não editava!).
Agora, volte ao editor que manteve aberto, e lembrando que editou o arquivo
/etc/portage/make.profile/parent, salve uma outra cópia dele, mas em
/etc/portage/make.profile (ou alternativamente, em
/etc/make.profile, dependendo do que seu Portage usar).
Se você for um usuário com alguma experiência em GNU/Linux, um outro jeito de fazer isso é com os comandos:
cd /
$ cd etc/portage
$ sudo touch make.profile
$ sudo echo "gentoo:default/linux/amd64/13.0/desktop" > /etc/portage/make.profile
Agora, feche o editor, etc... E, num terminal, execute o comando para ver os perfis:
eselect profile list
Verá que já tem todos os perfis novos:
Available profile symlink targets:
[1] default/linux/amd64/13.0
[2] default/linux/amd64/13.0/selinux
[3] default/linux/amd64/13.0/desktop
[4] default/linux/amd64/13.0/desktop/gnome
[5] default/linux/amd64/13.0/desktop/gnome/systemd
[6] default/linux/amd64/13.0/desktop/kde
[7] default/linux/amd64/13.0/desktop/kde/systemd
[8] default/linux/amd64/13.0/developer
[9] default/linux/amd64/13.0/no-multilib
[10] default/linux/amd64/13.0/x32
[11] hardened/linux/amd64
[12] hardened/linux/amd64/selinux
[13] hardened/linux/amd64/no-multilib
[14] hardened/linux/amd64/no-multilib/selinux
[15] hardened/linux/amd64/x32
[16] hardened/linux/uclibc/amd64
Agora, escolha um perfil. Eu uso o para Desktop:
sudo eselect profile set 3
E regule as variáveis de ambiente. Nas distros tipo Gentoo, é feito com os comandos abaixo e o
source deve ser executado como usuário comum:
sudo etc-update
$ sudo env-update
$ source /etc/profile
Espero ter ajudado a colocar seu Portage funcionando novamente.
Até a próxima.