I just started a first-time install of dev-lang/go-1.12.4 on an amd64 machine. Emerge downloads bootstrap files for all architectures: 55.053.831 /usr/portage/distfiles/go-darwin-amd64-bootstrap-1.8.tbz 53.739.013 /usr/portage/distfiles/go-freebsd-386-bootstrap-1.8.tbz 55.103.927 /usr/portage/distfiles/go-freebsd-amd64-bootstrap-1.8.tbz 53.843.745 /usr/portage/distfiles/go-linux-386-bootstrap-1.8.tbz 55.399.105 /usr/portage/distfiles/go-linux-amd64-bootstrap-1.8.tbz 53.948.103 /usr/portage/distfiles/go-linux-arm-bootstrap-1.8.tbz 51.947.002 /usr/portage/distfiles/go-linux-arm64-bootstrap-1.8.tbz 52.315.782 /usr/portage/distfiles/go-linux-ppc64-bootstrap-1.8.tbz 52.211.575 /usr/portage/distfiles/go-linux-ppc64le-bootstrap-1.8.tbz 57.124.869 /usr/portage/distfiles/go-linux-s390x-bootstrap-1.8.tbz 54.926.326 /usr/portage/distfiles/go-solaris-amd64-bootstrap-1.8.tbz Emerge also checks all of those files. But it unpacks only one of them: >>> Emerging (1 of 1) dev-lang/go-1.12.4::gentoo * go1.12.4.src.tar.gz BLAKE2B SHA512 size ;-) ... * go-linux-amd64-bootstrap-1.8.tbz BLAKE2B SHA512 size ;-) ... * go-linux-arm-bootstrap-1.8.tbz BLAKE2B SHA512 size ;-) ... * go-linux-arm64-bootstrap-1.8.tbz BLAKE2B SHA512 size ;-) ... * go-linux-ppc64-bootstrap-1.8.tbz BLAKE2B SHA512 size ;-) ... * go-linux-ppc64le-bootstrap-1.8.tbz BLAKE2B SHA512 size ;-) ... * go-linux-s390x-bootstrap-1.8.tbz BLAKE2B SHA512 size ;-) ... * go-linux-386-bootstrap-1.8.tbz BLAKE2B SHA512 size ;-) ... * go-freebsd-amd64-bootstrap-1.8.tbz BLAKE2B SHA512 size ;-) ... * go-freebsd-386-bootstrap-1.8.tbz BLAKE2B SHA512 size ;-) ... * go-darwin-amd64-bootstrap-1.8.tbz BLAKE2B SHA512 size ;-) ... * go-solaris-amd64-bootstrap-1.8.tbz BLAKE2B SHA512 size ;-) ... >>> Unpacking source... >>> Unpacking go1.12.4.src.tar.gz to /var/tmp/portage/dev-lang/go-1.12.4/work >>> Unpacking go-linux-amd64-bootstrap-1.8.tbz to /var/tmp/portage/dev-lang/go-1.12.4/work >>> Source unpacked in /var/tmp/portage/dev-lang/go-1.12.4/work Emerge should download only the bootstrap file which is required for the current architecture. Reproducible: Always
This is fixed in the following commit: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=167c53006749b6bbf952c80af0e0b5a7d31eca32
William, can you please reopen? You're correct when commenting: > on an amd64 box you should download the amd64 bootstrap binary, not the arm one. Adding to everyone's first install a never used 600m download isn't okay. The ebuild still wants to spend an additional half hour wasting a significant fraction of monthly traffic. Crossdev support, forcing the user to fetch all binaries for every architecture, should be optional, with a USE flag of its own.
The problem seems to persist. See: https://forums.gentoo.org/viewtopic-t-1102520.html
Created attachment 604032 [details, diff] Introduce go-bootstrap package This patch series should address the issue.
This is fixed in 1.13.6.