Como atualizar o Gentoo para usar as versões mais recentes de todos os softwares instalados, incluindo aqueles com palavras-chave em branco?

1

Eu sei como atualizar o Gentoo para usar a versão mais recente de todos os softwares instalados marcados com a palavra-chave de teste, editando a ACCEPT_KEYWORDS line em /etc/portage/make.conf to:

ACCEPT_KEYWORDS="~ARCH"

em que ARCH é a arquitetura do sistema, por exemplo amd64 para sistemas x86-64. Em vez disso, esta pergunta é como usar as versões mais recentes de todos os softwares que estão nas sobreposições atualmente ativadas, incluindo aquelas com campos de palavras-chave vazias. Por exemplo, sys-devel/gcc-7.1.0-r1 atualmente tem esse campo de palavras-chave em sua ebuild:

KEYWORDS=""

Eu sei que ele é marcado sem palavras-chave, porque é experimental e pode causar a quebra do sistema. Eu sei que esta atualização pode causar a quebra do sistema, então eu fui avisado, mas eu só quero saber como faço para atualizar para um sistema experimental do Gentoo (onde um sistema de teste do Gentoo teria a palavra-chave ~ARCH ) com as últimas versões disponíveis do todo o software instalado.

EDIT: Eu pensei que eu fiquei claro por ter "todos os softwares instalados" no título desta pergunta, mas pelo primeiro comentário eu aparentemente não o fiz. Quero atualizar TODOS os softwares instalados para os mais recentes, incluindo aqueles marcados com campos de palavras-chave vazias.

    
por Brenton Horne 18.06.2017 / 20:26

1 resposta

0

Crie o seguinte arquivo (como jimmij sugeriu para você):

/etc/portage/package.accept_keywords

No dito arquivo, adicione uma entrada como essa (comentários adicionados para explicação, raciocínio abaixo do arquivo de exemplo):

# The following values are permitted for arch:
# ** indicates a package with no keywords.  These are the 
# packages usually hard masked.
# ~arch, where arch is your platform type, will download testing versions.
# arch, where arch is your platform type, will download stable versions.
# This is the convention used in make.conf.

#Package Name            #Arch
sys-devel/gcc            **
package-cat/package      arch_keyword

# It's also acceptable to version lock a package.  
# Note that the arch is also needed, when a package has
# no keywords, or is in testing.

#Package Name                  #Arch
=sys-devel/gcc-6.3.0           **
<=sys-devel/gcc-3.4.6-r2       amd64
=package-cat/package-9999      **

Atualizando para o topo da forma como sua pergunta é possível somente usando o método jimmij e eu estamos propondo, devido ao fato de que nem todo pacote na árvore do Gentoo tem um pacote ou um pacote 9999 Por esse motivo, não há como definir globalmente seu sistema usando make.conf .

O mais próximo que você conseguirá é usar app-portage/layman para adicionar e gerenciar sobreposições, adicionar cada pacote com uma versão mascarada a package.accept_keywords e criar um perfil personalizado usando o arquivo de palavras-chave. Por fim, use eselect profile para alternar para seu perfil personalizado. Para um exemplo de como fazer isso corretamente, visite o Sabayon Linux , e o Repositório Sabayon GitHub . O repositório do GitHub contém múltiplas sobreposições que transformam uma instalação do Gentoo em uma distribuição Linux completa com seu próprio gerenciador de pacotes. Veja também ChromiumOS , que usa uma árvore do Gentoo personalizada para criar o Chrome e o ChromeOS para ChromeBooks. Observe que a árvore é interna ao Google.

    
por 20.06.2017 / 02:04