Após a atualização gcc-5.x
para gcc-6.4
todos os usuários do Gentoo Linux foram aconselhados a executar
emerge -e @world
que irá recompilar todos os pacotes em um sistema e assumir meu i7 com 16 GB em torno de 30 h em teoria. Isso funcionará em algumas situações simples, mas em muitos casos a tarefa para após, digamos, 80 de 2.000 pacotes devido a um problema em algum ponto. O usuário tenta corrigi-lo e começa do zero novamente. eu tentei
emerge --resume --skipfirst
e --keep-going
mas isso não funciona, se o problema não foi causado pelo primeiro pacote.
Um segundo problema é que todos os pacotes listados em packages.provided
devem ser ignorados. O packages.provided é importante para os usuários, que precisam de um TeXlive recente, por exemplo, e instalar via tlmgr
.
Minha ideia era começar com uma lista de pacotes que não foram compilados depois de 01/12/2017, que é o dia em que começo a recompilar.
genlop -ln --date 1999-01-01 --date 2017-12-01 | perl -ne '/>>> (.*)/ and print " =$1";'
Idealmente, o sistema compilaria todos os pacotes que não geram erros. No dia seguinte, o usuário pode corrigir um problema e compilar o pacote corrigido um após o outro.
Como posso recompilar todos os pacotes que foram realmente instalados da árvore (excluindo os packages.provided) sem começar do ponto zero após cada problema?
editar: Obviamente, isso não é uma duplicata de Listar todos os pacotes em um sistema Gentoo, que não foram recompilados desde uma data , no entanto, seus resultados podem ajudar na solução desta questão.
Aqui está uma maneira de fazer isso:
Salve seu horário de início antes de começar
Então, quando o emerge inevitavelmente parar, você pode continuar com este script (depois de corrigir quaisquer compilações problemáticas)
O script remove todos os pacotes da
packages.provided
lista, e também outros pacotes que você não deseja emergir (seja porque estão causando problemas ou porque não precisam ressurgir) de um arquivo chamadoomitlist
Exemplo
omitlist
:Você provavelmente precisará fazer várias iterações do script de currículo