Aqui está uma maneira de fazer isso:
Salve seu horário de início antes de começar
date +%s >emergestart && emerge -e --keep-going @world
Então, quando o emerge inevitavelmente parar, você pode continuar com este script (depois de corrigir qualquer construção problemática)
#!/bin/bash
starttime='cat emergestart'
eix '-I*' --format '<installedversions:DATESORT>' | cut -f1,3 >tmplist
echo $starttime >>tmplist
sort -n tmplist | sed -e/$starttime/q | sed -e'/[0-9]*\t*/s///' | sort | comm -23 - <(sort omitlist) | comm -23 - <(sort /etc/portage/profile/package.provided) >buildlist
rm tmplist
emerge -a 'cat buildlist' --keep-going
O script remove todos os pacotes de packages.provided
da lista, e também outros pacotes que você não quer que apareçam (seja porque estão causando problemas ou não precisam ressurgir) de um arquivo chamado omitlist
Exemplo omitlist
:
sys-devel/gcc:5.4.0
sys-kernel/gentoo-sources:4.13.12
sys-kernel/gentoo-sources:4.14.2
app-cdr/cdrdao
media-gfx/kphotoalbum
virtual/libintl
virtual/libiconv
app-doc/abs-guide
app-doc/autobook
app-doc/jargon
Você provavelmente precisará fazer várias iterações no script de currículo