Wget relies on pod2man to create man pages. Pod2man belongs to dev-lang/perl, but Perl is not listed as a dependency in the wget ebuild. However, the src_install phase of the wget ebuild relies on the man page being present. Ideally, a "man" USE flag should be added to IUSE in net-misc/wget. If USE="man" is set, dev-lang/perl should be added to DEPEND. Adding "man" to IUSE prevents systems with FEATURES="noman" from installing unnecessary build-time dependencies, because the manuals will not be installed anyway. Reproducible: Always Steps to Reproduce: 1. emerge --unmerge dev-lang/perl 2. emerge --oneshot =net-misc/wget-1.19.1-r2 Actual Results: emerge fails with: "sed: can't read /var/tmp/portage/net-misc/wget-1.19.1-r2/image//usr/share/man/man1/wget.1: No such file or directory" Expected Results: "emerge wget" finishes successfully
There's no need to add perl to the dependencies, because it anyway [resents in the systems, and many packages implicitly relies on it, there are a few cases when perl should be added explicitly, but that is not the one.
I understand that it can make sense to have implicit dependencies that are not listed in the ebuild. You don't have to explicitly depend on GCC, for instance. However, shouldn't these implicit dependencies be part of the @system set? Otherwise you cannot rely on the implicit dependency being installed by some package.
*** Bug 656170 has been marked as a duplicate of this bug. ***
Sorry for digging this up again, but the issue continues to come up. I understand that Perl should not be a build-time dependency. But would it be possible to adjust src_install to not fail when the man or info pages are not present?