Since /usr/portage/eclass/php.eclass has been split into the various other eclass files (php-ext-base.eclass, php-ext-source.eclass, php-lib.eclass, php-sapi.eclass, php-ext-pecl.eclass, php-ext.eclass, php-pear.eclass, php5-sapi.eclass) unmerge fails on older ebuilds which rely on php.eclass. This is actually a portage wide problem. ebuilds that depend on eclasses that have been removed or replaced will break. Particularly annoying is when (as mod_php) an eclass is a prerequisite for removing the package. Perhaps the solution is to include eclasses in the /var/db/pkg/... database or keep an eclass graveyard for dead classes. At any rate, I had success replacing the "include php ..." with "include php-lib ..." in /var/db/pkg/dev-php/mod_php-4.3.3-r3/mod_php-4.3.3-r3.ebuild. Reproducible: Always Steps to Reproduce: 1. Start off having an old version of mod_php (e.g. 4.3.3-r3) installed 2. Wait until some point when php.eclass has been replaced with other eclasses such as ... now. 3. Try to unmerge mod_php Actual Results: ... >>> Unmerging dev-php/mod_php-4.3.3-r3... No package files given... Grabbing a set. /usr/sbin/ebuild.sh: line 1101: /usr/portage/eclass/php.eclass: No such file or directory !!! ERROR: dev-php/mod_php-4.3.3-r3 failed. !!! Function inherit, Line 1102, Exitcode 1 !!! died sourcing /usr/portage/eclass/php.eclass in inherit() !!! FAILED prerm: 1 Expected Results: The command: emerge mod_php unmerge should've unmerged mod_php.
Known issue I'm afraid. This is a dupe of 46223 . *** This bug has been marked as a duplicate of 46223 ***