After the upgrade from gcc-5.x
to gcc-6.4
all Gentoo Linux users were advised to run
emerge -e @world
which will recompile all packages on a system and takes on my i7 with 16 GB around 30 h in theory. This will work in some simple situations, but in many cases the task stops after say 80 of 2000 packages due to a problem at some point. The user tries to fix it and starts from zero again. I tried
emerge --resume --skipfirst
and --keep-going
but this does not work, if the problem was not caused by the first package.
A second problem is, that all packages, which are listed in packages.provided
must be ignored. The packages.provided is important for users, who need a recent TeXlive for example and install via tlmgr
.
My idea was to start with a list of packages which were not compiled after 2017-12-01, which is the day, I start to recompile.
genlop -ln --date 1999-01-01 --date 2017-12-01 | perl -ne '/>>> (.*)/ and print " =$1";'
Ideally the system would compile all packages which raise no error. On the next day the user can fix a problem and compiles the fixed package one after the other.
How can I recompile all packages, which were really installed from the tree (excluding the packages.provided) without starting at point zero after each problem?
edit: This is obviously no duplicate of List all packages on a Gentoo system, which were not recompiled since a date, however its results could be help for the solution of this question.
keep-going
does not really solve the problem. But I fixed the typo. – Jonas Stein Dec 03 '17 at 13:34