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-1.8.0.162-r1 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-1.8.0.162-r1', Log file: > * '/var/log/portage/dev-java:oracle-jre-bin-1.8.0.162-r1:20180410-201117.log' > * Package: dev-java/oracle-jre-bin-1.8.0.162-r1 > * Repository: gentoo > * Maintainer: java@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-1.8.0.162-r1/distdir: > * > * 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