Pode-se selecionar pacotes de teste em um gentoo stable
sistema adicionando uma linha com a seguinte sintaxe à lista de palavras-chave:
cat /etc/portage/package.keywords
=dev-python/ipython-0.13.2 ~amd64
# and many lines later
=dev-python/ipython-0.14.1 ~amd64
# and many lines later
>=dev-python/ipython-0.13.4 ~amd64
Este arquivo aumentará dentro de algum tempo e, mais cedo ou mais tarde, não será possível lembrar quais linhas estão obsoletas.
Como posso arrumar a lista com um script de tempos em tempos?
Uma linha deve ser excluída,
- se a versão de teste já estiver estabilizada
- > = foi usado para o mesmo pacote
- = foi usado para o mesmo pacote com número de versão menor
package-management
configuration
gentoo
disk-cleanup
maintenance
Jonas Stein
fonte
fonte
Respostas:
Agora existe um pacote oficial para esta tarefa chamada app-portage / portpeek .
Pode
-f
(correção) for adicionado como parâmetro.fonte
Eu escrevi um pequeno script python que cuida desse problema. A lógica examina cada linha do arquivo
package.accept_keywords
e atua apenas nas linhas que começam com=
ou<=
. Essas linhas têm uma versão limite máxima para que possamos verificar se são mais necessárias. As linhas sem um qualificador ou a>=
são deixadas como estão, pois não podemos saber se são obsoletas.As linhas com as quais nos preocupamos são analisadas e a versão instalada do pacote é verificada. Se a versão instalada for mais recente que a versão com palavras-chave ou não estiver mais instalada, a palavra-chave será considerada obsoleta. Se o pacote instalado tiver a mesma versão da palavra-chave, o pacote instalado será verificado para ver se ainda está com a palavra-chave. Se tiver sido estabilizada, a linha será obsoleta, caso contrário, será mantida.
Isso imprimirá o novo arquivo de palavras-chave como padrão. Nota : não redirecione a saída de volta para
/etc/portage/package.accept_keywords
você, ou você estraga o arquivo e perde tudo.Isso ajudará bastante a limpar o arquivo de palavras-chave e, para outras preocupações, classificar o arquivo e examiná-lo em várias linhas para o mesmo pacote, ajudando a resolver a maior parte do que resta.
fonte
Você sabe que pode converter os arquivos package. * Em diretórios, certo?
Então você pode organizar seus átomos em vários arquivos, por exemplo, no meu sistema, obtive o seguinte (bem, na verdade não, não estou no meu laptop agora. Mas você entendeu a idéia):
etc.
Achei isso realmente útil para me ajudar a atualizar os arquivos.
fonte
Adicionando à resposta de Ikraav:
Após o uso
eix -tT
, remova os operadores de comparação e o número da versão do pacote. Seu arquivo também pode ser escrito como:Isso garantirá que você sempre obtenha as versões de teste
dev-python/ipython
epackage-cat/package
fonte
~amd64
na minha pergunta pode ser enganoso. Os números da versão devem permanecer intocados. Não quero obter sempre a versão mais recente, mas encontrar linhas redundantes.Aqui está um pequeno script que filtra as entradas dos arquivos /etc/portage/package.* que não estão mais instalados. Além disso, remove todas as linhas de comentário diretamente acima da entrada removida. (por exemplo, conforme gerado pelo autounmask). Se os comentários forem separados por uma linha em branco, apenas os comentários inferiores serão removidos. O script não remove entradas duplicadas.
Observe que o portage-utils precisa ser instalado e o gancho postsync /etc/portage/postsync.d/q-reinitialize deve ser ativado para que este script funcione.
fonte
A partir de agora, o
app-portage/eix
pacote oferece uma ferramenta útil chamadaeix-test-obsolete
. Uma breve descrição deeix-test-obsolete -h
:Ele fornece uma boa visão geral de todas as entradas redundantes nos
/etc/portage/package.*
arquivos. A única coisa que estou sentindo falta pessoalmente é de informações sobre o arquivo e a linha exatos que definem o desmascaramento redundante / use / accept / qualquer coisa. No entanto,grep -nr
ajuda nesse caso.fonte
Comece com
eix -tT
. Instaleapp-portage/eix
para conseguir isso.fonte