On 04/10/2018 04:23 PM, Ian Zimmerman wrote:
> When I do emerge dev-java/oracle-jre-bin, portage quoth:
> !!! dev-java/oracle-jre-bin- has fetch restriction turned on.
> !!! This probably means that this ebuild's files must be downloaded
> !!! manually.  See the comments in the ebuild for more information.
>  * Fetch failed for 'dev-java/oracle-jre-bin-', Log file:
>  *  
> '/var/log/portage/dev-java:oracle-jre-bin-'
>  * Package:    dev-java/oracle-jre-bin-
>  * Repository: gentoo
>  * Maintainer: j...@gentoo.org
>  * USE:        abi_x86_64 alsa amd64 elibc_glibc fontconfig kernel_linux 
> userland_GNU
>  * FEATURES:   fakeroot preserve-libs sandbox userpriv
>  * Please download jre-8u162-linux-x64.tar.gz and move it to
>  * /var/tmp/portage/dev-java/oracle-jre-bin-
>  * 
>  *   
> http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
> But no matter how much I tried to please it (copying the file into a
> distdir/ subdirectory, or copying it _as a file_ called distdir) I
> couldn't get it to work.
> OTOH, just doing what first comes to mind (putting the file in
> /usr/portage/distfiles/) does work.
> what the foo?

The problem is that Portage now changes the value of the "${DISTDIR}"
environment variable inside an ebuild to a temporary directory it
creates and fills with symlinks to the real distfiles in your actual
${DISTDIR}.  The message in the ebuild was written before this change
happened and directly references the "${DISTDIR}" environment variable,
assuming it to still have the value you specified in make.conf.  As you
figured out, the correct action is to install the file in your real
${DISTDIR}, but the ebuild no longer has access to determine what the
name of that directory should be.

This probably should be reported as a bug.

Jonathan Callen

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to