Hi, when unmerging perl, the *.ph that were generated aren't unmerged. This happens not only on unmerging, but also on updating perl. For example when upgrading from perl 5.8.2 to 5.8.4, you will have many *.ph files in /usr/lib/perl5/site_perl/5.8.4/i686-linux, but you will also still have those in /usr/lib/perl5/site_perl/5.8.2/i686-linux which aren't needed anymore, still perl 5.8.2 got unmerged. Reproducible: Always Steps to Reproduce:
There's nothing we can do here. The .ph files are generated during post-install and are created because some perl apps require them to exist[1]. They are created based on the header files available on your system at the time of install in /usr/include. Unfortunately, they can't really be created until perl is on your real system, so there's no way to get them into CONTENTS which is used for unmerge info. 1. http://www.perldoc.com/perl5.8.4/INSTALL.html#cd--usr-include--h2ph-*.h-sys-*.h
For Python, i sometimes see "cleaning orphaned bytecode" etc. So for Python, something was written, so that keeps an eye on generated files. You could do the same, for *.ph files, altough that might be more complicated. On the other hand: if there is something like "post-install", can't there be a "post-uninstall"-handler in the perl-ebuilds that deletes the *.ph files if the perl-version was upgraded from 5.8.2 to 5.8.4 for example? The portage can also be extended by an API, that allows adding files to the database during post-install. I also don't understand, why the *.ph files are only generated once, because if i upgrade gtk, glibc, linux-headers and such stuff, the header-files get updated, but not the *.ph files? Strange. But that's nothing you should fix. I hope, that in future perl-versions, the *.ph-files get generated and updated on demand.
New version of perl ebuild about to hit the trees that will clean out the old .ph files (just running through the last batch of emerging each perl version now). Also, perl-cleaner, the replacement for libperl_rebuilder, can clean these out. Closing this as the commit is less than an hour away.
Already noticed the new perl-cleaner script. Works great. Thank you!