Gentoo Package Management – How to Rebuild All Packages Dependent on Another Package

compilingemergegentoopackage-management

I made mistake and changed perl non-threaded version to threaded by unmerge first, change USE flags to include ithreads and emerge perl again. Now most packages depending on perl are broken. How do I rebuild them?

Best Answer

On way is to use equery's depends function to get the list of things that depend on a package.

# equery depends perl

If you want to rebuild all of them, try something like:

# emerge -a --oneshot `equery depends perl|awk '{print " ="$1}'`

You'll have issues with that if you have packages installed that were removed from the portage tree, so a sync and world update beforehand is a good idea.

For this specific case, you might also want to look at app-admin/perl-cleaner - it has specific features to rebuild perl modules.

Related Question