Created attachment 577078 [details, diff] perl-cleaner-should-find-lib64-libperl.patch When upgrading dev-lang/perl-5.28.2-r1 portage nearly does everything, also dependencies to libperl from git,graphviz,imagemagick,gnumeric,rpm,cups-filters had been rebuilt from the getgo. But it is recommend after perl install: perl-cleaner --all This wants to remerge all of above, why? I found perl-cleaner breaks on my lib64 system at this point: SONAME="$(${scanelf} -qBS "$(realpath ""/usr/lib/libperl ... When using a patched perl-cleaner, the output is as expected again: --- # /usr/local/sbin/perl-cleaner --libperl * Locating ebuilds linked against libperl -- new lib: libperl.so.5.28 * No package needs to be reinstalled. ---
It is not entirely obvious what you think is broken.
(In reply to Jeroen Roovers from comment #1) > It is not entirely obvious what you think is broken. Thnx, yes, I have not shown the error at first ... so here: When perl-cleaner determines if any consumers of libperl need to be remerged, perl-cleaner must extract the new SONAME of the new libperl, using scanelf on the real new $(realpath ""/usr/lib/libperl), where there should show up: # scanelf -qBS /usr/lib64/libperl.so.5.28.2 | awk '{ print $1 }' libperl.so.5.28 should be compared with any old SONAME (like libperl.so.5.26) showing up in consumer binaries. Because perl-cleaner tries to fetsch the SONAME only at /usr/lib and not my existing /usr/lib64 : This comparism everytime is FALSE with an unpatched pearl-cleaner, because of an empty SONAME variable. Trying on a good upgraded system with any reversals already take care of by portage, shows this not needed remerge at the bottom of the output: --- # /usr/sbin/perl-cleaner --all * Removing perl-core packages from world file * emerge --deselect perl-core/File-Temp >>> No matching atoms found in "world" favorites file... * Updating installed Perl virtuals * emerge -u1 virtual/perl-CPAN-Meta virtual/perl-CPAN-Meta-YAML virtual/perl-Carp virtual/perl-Compress-Raw-Bzip2 virtual/perl-Compress-Raw-Zlib virtual/perl-Data-Dumper virtual/perl-Digest-MD5 virtual/perl-Digest-SHA virtual/perl-Encode virtual/perl-Exporter virtual/perl-ExtUtils-CBuilder virtual/perl-ExtUtils-Install virtual/perl-ExtUtils-MakeMaker virtual/perl-ExtUtils-Manifest virtual/perl-ExtUtils-ParseXS virtual/perl-File-Path virtual/perl-File-Spec virtual/perl-File-Temp virtual/perl-Getopt-Long virtual/perl-IO virtual/perl-IO-Compress virtual/perl-IO-Socket-IP virtual/perl-JSON-PP virtual/perl-MIME-Base64 virtual/perl-Module-Metadata virtual/perl-Parse-CPAN-Meta virtual/perl-Perl-OSType virtual/perl-Scalar-List-Utils virtual/perl-Storable virtual/perl-Sys-Syslog virtual/perl-Term-ANSIColor virtual/perl-Test-Harness virtual/perl-Text-ParseWords virtual/perl-Time-HiRes virtual/perl-Time-Local virtual/perl-XSLoader virtual/perl-libnet virtual/perl-parent virtual/perl-podlators virtual/perl-version These are the packages that would be merged, in order: Calculating dependencies .. ... ... ..... ... done! Total: 0 packages, Size of downloads: 0 KiB Nothing to merge; quitting. * Beginning a clean up of .ph files * Excluding files for 5.28.2 and 5.28.2/x86_64-linux-thread-multi from cleaning * Locating ph files for removal * Locating packages for an update * Locating ebuilds linked against libperl * Adding to list: media-gfx/imagemagick:0 * Adding to list: media-gfx/graphviz:0 * Adding to list: app-office/gnumeric:0 * emerge -v1 --backtrack=200 --selective=n media-gfx/imagemagick:0 media-gfx/graphviz:0 app-office/gnumeric:0 These are the packages that would be merged, in order: Calculating dependencies ........ . . .... ... done! [ebuild R ] media-gfx/graphviz-2.40.1-r1::gentoo USE="X cairo -devil -doc -examples gdk-pixbuf gtk gts guile java -lasi nls pdf perl -postscript python qt5 -ruby -static-libs svg -tcl" PYTHON_TARGETS="python2_7" 0 KiB [ebuild R ] media-gfx/imagemagick-7.0.8.42:0/7.0.8.42::gentoo USE="X bzip2 corefonts cxx -djvu fftw fontconfig fpx graphviz hdri -heif jbig jpeg jpeg2k lcms lqr lzma (-opencl) openexr openmp pango perl png -postscript q32 -q8 raw -static-libs svg -test tiff truetype webp wmf xml zlib" 0 KiB [ebuild R ] app-office/gnumeric-1.12.44::gentoo USE="introspection libgda perl python" PYTHON_TARGETS="python2_7 -python3_5 python3_6" 0 KiB Total: 3 packages (3 reinstalls), Size of downloads: 0 KiB ---
This is a duplicate of bug 589874
In https://bugs.gentoo.org/589874#c2 mgorny states it is not necessary for the dev-lang/perl ebuild to advice users to # /usr/sbin/perl-cleaner --all over and over again until all of Perl is clean. There might be a bunch of Gentoo users died in this loop since 3years already.
*** This bug has been marked as a duplicate of bug 589874 ***