Thursday, January 29, 2009

Portage: emerge all packages depending on a live ebuild you've just updated

So... you've re-emerged your favorite live package and now all apps depending on it are failing!

This relatively simple command finds all packages depending on a specific package (in this case, everything depending on qt-gui) and re-emerges them.

emerge -av1 `equery depends qt-gui | grep -v x11-libs | cut -d" " -f1 | sed "s/^/=/"`

-1 means it won't write every package in the world file ( if you skip this argument, all the re-emerged packages will be recorded as manually emerged - you don't want that ).