3

A system change (like gcc, perl, python, qt... update) can demand that many packages have to be rebuilt.

This ends often in a world rebuild with

# emerge --ask --emptytree --verbose @system
# emerge --ask --emptytree --verbose @world

In a world rebuild with 2000 packages it is likely, that the merge failed for tens or hundreds and one has to fix the problems.

Technically one could rebuild the world after fixing the problems, but this takes very long.

How can I list all packages which have not been successfully rebuilt since the day $DATE?

What I tried so far:

# create a sorted list with all packages built till $DATE=2017-05-30
qlop -ld 2000-01-01 -d $DATE | cut -d ">" -f 4 | sort

But this list contains

  • all versions and not only the latest one
  • packages which were removed from the system
  • packages which have been rebuilt successfully after $DATE
Jonas Stein
  • 4,078
  • 4
  • 36
  • 55

1 Answers1

2

Emerge eix

Then

eix-update
eix '-I*' --format '<installedversions:DATESORT>' | sort -n | cut -f2-3

will give you a list of installed packages (with slots if necessary), sorted by installation date. e.g.: ... 15/11/17 12:34:51 net-misc/rsync 15/11/17 12:35:29 dev-libs/libuv 15/11/17 12:35:58 app-editors/vim-core 15/11/17 12:36:32 dev-python/pycairo 15/11/17 12:37:17 app-editors/vim 15/11/17 12:37:49 dev-util/eric

Save this to a file, remove all packages emerged after your cutoff date, edit out the timestamps, and you have the list of packages to re-emerge

PiedPiper
  • 944