[MacPorts] #61192: Lots of golang ports are downloading dependencies at build time

MacPorts noreply at macports.org
Fri Oct 16 14:15:36 UTC 2020


#61192: Lots of golang ports are downloading dependencies at build time
-------------------------------------------------+-------------------------
  Reporter:  amake                               |      Owner:  (none)
      Type:  defect                              |     Status:  new
  Priority:  Normal                              |  Milestone:
 Component:  ports                               |    Version:
Resolution:                                      |   Keywords:
      Port:  annie aws-vault certigo chezmoi     |
  cloudmonkey copilot croc elvish evans fzf      |
  gitqlite glow go-migrate golangci-lint gore    |
  gotop grpcurl hugo ipfs istioctl jenkins-cli   |
  k9s krew kubergrunt kustomize micro mole       |
  newreleases pulumi rclone scw staticcheck      |
  syncthing tektoncd-cli terragrunt trivy uni    |
  up webify wtfutil yq nebula                    |
-------------------------------------------------+-------------------------
Changes (by amake):

 * port:
     annie aws-vault certigo chezmoi cloudmonkey copilot croc elvish evans
     fzf gitqlite glow go-migrate golangci-lint gore gotop grpcurl hugo
     ipfs istioctl jenkins-cli k9s krew kubergrunt kustomize micro mole
     newreleases pulumi rclone scw staticcheck syncthing tektoncd-cli
     terragrunt trivy uni up webify wtfutil yq
     =>
     annie aws-vault certigo chezmoi cloudmonkey copilot croc elvish evans
     fzf gitqlite glow go-migrate golangci-lint gore gotop grpcurl hugo
     ipfs istioctl jenkins-cli k9s krew kubergrunt kustomize micro mole
     newreleases pulumi rclone scw staticcheck syncthing tektoncd-cli
     terragrunt trivy uni up webify wtfutil yq nebula


Old description:

> With the introduction of the Go modules system, it's very easy to
> accidentally make a port that downloads dependencies at build time.
>
> I want to add `GOPROXY=off GO111MODULE=off` to `build.env` to prevent
> this, but there are many ports that currently fail in my testing.
>
> Discover ports using the golang-1.0 portgroup (currently 85):
>
> {{{
> find . -name Portfile | xargs grep -l -E 'PortGroup +golang' | xargs -n 1
> dirname | xargs -n 1 basename
> }}}
>
> Of those, ports that failed to build with `GOPROXY=off GO111MODULE=off`
> appended to `build.env`:
>
> ||= port =||= maintainer =||= status =||
> ||~~annie~~||@l2dy,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8632|fixed]]||
> ||~~aws-
> vault~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/commit/d7f7ca6dabc2f935ccc179e60fe5ff5200976ffa|fixed]]||
> ||~~certigo~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8622|fixed]]||
> ||~~chezmoi~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8593|fixed]]||
> ||~~cloudmonkey~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8594|fixed]]||
> ||copilot||@herbygillot,openmaintainer||Non-trivial: has a complicated
> asset generating step that relies on multiple golang tools that should be
> ports of their own: `mockgen`, `packr2`||
> ||~~croc~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/commit/a523de582e5c6389ad1a1ec311975ab1dbfd363c|fixed]]||
> ||~~elvish~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/commit/236e0c2f119ed5b5fd1d6f2da5b3ec670d36706b|fixed]]||
> ||~~evans~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8578|fixed]]||
> ||~~fzf~~||@cardi,openmaintainer||[[https://github.com/macports/macports-
> ports/pull/8633|fixed]]||
> ||~~gitqlite~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8623|fixed]]||
> ||~~glow~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/commit/9876801804d06272278ebfdbb8512532440a0f83|fixed]]||
> ||go-migrate||@herbygillot,openmaintainer||Non-trivial: depends on
> multiple modules housed in same repo but with different versions||
> ||golangci-lint||@herbygillot,openmaintainer||Non-trivial: import path
> error||
> ||~~gore~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/commit/76f74db8796dc5f03c9fcaf6b686dfd9ce1addca|fixed]]||
> ||~~gotop~~||@i0ntempest,openmaintainer||[[https://github.com/macports
> /macports-ports/commit/cc761aa313fab209e261105a7332d22fc80b91e1|fixed]]||
> ||grpcurl||@herbygillot,openmaintainer||Non-trivial: depends on multiple
> modules housed in same repo but with different versions||
> ||hugo||@cardi,openmaintainer||Non-trivial: depends on multiple modules
> housed in same repo but with different versions||
> ||ipfs||@sirn,openmaintainer||Non-trivial: extracted source file name
> collisions||
> ||istioctl||@nickolaev,openmaintainer||due to #61184||
> ||~~jenkins-cli~~||@harens,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8644|fixed]]||
> ||k9s||@breun,openmaintainer||Non-trivial: import path error||
> ||~~krew~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8566|fixed]]||
> ||kubergrunt||@herbygillot,openmaintainer||#61185; Non-trivial: import
> path error||
> ||kustomize||@breun,openmaintainer||Non-trivial: depends on multiple
> modules housed in same repo but with different versions||
> ||~~micro~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8553|fixed]]||
> ||~~mole~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8494|fixed]]||
> ||~~newreleases~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8493|fixed]]||
> ||pulumi||@herbygillot,openmaintainer||Non-trivial: contains numerous
> dependencies from unsupported domains||
> ||rclone||@eborisch,openmaintainer||Non-trivial: depends on multiple
> modules housed in same repo but with different versions||
> ||scw||@dgsb,openmaintainer||[[https://github.com/macports/macports-
> ports/pull/8655|pending]]||
> ||~~staticcheck~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8492|fixed]]||
> ||syncthing||@lbschenkel,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8654|pending]]||
> ||tektoncd-cli||@herbygillot,openmaintainer||Non-trivial: contains
> numerous dependencies from unsupported domains||
> ||terragrunt||@mjrc,openmaintainer||Non-trivial: depends on multiple
> modules housed in same repo but with different versions||
> ||trivy||@herbygillot,openmaintainer||Non-trivial: contains numerous
> dependencies from unsupported domains||
> ||~~uni~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8491|fixed]]||
> ||~~up~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8485|fixed]]||
> ||~~webify~~||@harens,openmaintainer||[[https://github.com/macports
> /macports-ports/commit/1d5abbe395918dc567f95b0e65e31646b513d41b|fixed]]||
> ||wtfutil||@herbygillot,openmaintainer||Non-trivial: contains numerous
> dependencies from unsupported domains||
> ||~~yq~~||@herbygillot,openmaintainer||[[https://github.com/macports
> /macports-ports/pull/8477|fixed]]||
>
> I have not yet checked that each of these failures is from being unable
> to download dependencies, as opposed to e.g. something more esoteric
> about `GO111MODULE`.

New description:

 With the introduction of the Go modules system, it's very easy to
 accidentally make a port that downloads dependencies at build time.

 I want to add `GOPROXY=off GO111MODULE=off` to `build.env` to prevent
 this, but there are many ports that currently fail in my testing.

 Discover ports using the golang-1.0 portgroup (currently 85):

 {{{
 find . -name Portfile | xargs grep -l -E 'PortGroup +golang' | xargs -n 1
 dirname | xargs -n 1 basename
 }}}

 Of those, ports that failed to build with `GOPROXY=off GO111MODULE=off`
 appended to `build.env`:

 ||= port =||= maintainer =||= status =||
 ||~~annie~~||@l2dy,openmaintainer||[[https://github.com/macports/macports-
 ports/pull/8632|fixed]]||
 ||~~aws-
 vault~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/commit/d7f7ca6dabc2f935ccc179e60fe5ff5200976ffa|fixed]]||
 ||~~certigo~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8622|fixed]]||
 ||~~chezmoi~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8593|fixed]]||
 ||~~cloudmonkey~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8594|fixed]]||
 ||copilot||@herbygillot,openmaintainer||Non-trivial: has a complicated
 asset generating step that relies on multiple golang tools that should be
 ports of their own: `mockgen`, `packr2`||
 ||~~croc~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/commit/a523de582e5c6389ad1a1ec311975ab1dbfd363c|fixed]]||
 ||~~elvish~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/commit/236e0c2f119ed5b5fd1d6f2da5b3ec670d36706b|fixed]]||
 ||~~evans~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8578|fixed]]||
 ||~~fzf~~||@cardi,openmaintainer||[[https://github.com/macports/macports-
 ports/pull/8633|fixed]]||
 ||~~gitqlite~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8623|fixed]]||
 ||~~glow~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/commit/9876801804d06272278ebfdbb8512532440a0f83|fixed]]||
 ||go-migrate||@herbygillot,openmaintainer||Non-trivial: depends on
 multiple modules housed in same repo but with different versions||
 ||golangci-lint||@herbygillot,openmaintainer||Non-trivial: import path
 error||
 ||~~gore~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/commit/76f74db8796dc5f03c9fcaf6b686dfd9ce1addca|fixed]]||
 ||~~gotop~~||@i0ntempest,openmaintainer||[[https://github.com/macports
 /macports-ports/commit/cc761aa313fab209e261105a7332d22fc80b91e1|fixed]]||
 ||grpcurl||@herbygillot,openmaintainer||Non-trivial: depends on multiple
 modules housed in same repo but with different versions||
 ||hugo||@cardi,openmaintainer||Non-trivial: depends on multiple modules
 housed in same repo but with different versions||
 ||ipfs||@sirn,openmaintainer||Non-trivial: extracted source file name
 collisions||
 ||istioctl||@nickolaev,openmaintainer||due to #61184||
 ||~~jenkins-cli~~||@harens,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8644|fixed]]||
 ||k9s||@breun,openmaintainer||Non-trivial: import path error||
 ||~~krew~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8566|fixed]]||
 ||kubergrunt||@herbygillot,openmaintainer||#61185; Non-trivial: import
 path error||
 ||kustomize||@breun,openmaintainer||Non-trivial: depends on multiple
 modules housed in same repo but with different versions||
 ||~~micro~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8553|fixed]]||
 ||~~mole~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8494|fixed]]||
 ||~~newreleases~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8493|fixed]]||
 ||pulumi||@herbygillot,openmaintainer||Non-trivial: contains numerous
 dependencies from unsupported domains||
 ||rclone||@eborisch,openmaintainer||Non-trivial: depends on multiple
 modules housed in same repo but with different versions||
 ||scw||@dgsb,openmaintainer||[[https://github.com/macports/macports-
 ports/pull/8655|pending]]||
 ||~~staticcheck~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8492|fixed]]||
 ||syncthing||@lbschenkel,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8654|pending]]||
 ||tektoncd-cli||@herbygillot,openmaintainer||Non-trivial: contains
 numerous dependencies from unsupported domains||
 ||terragrunt||@mjrc,openmaintainer||Non-trivial: depends on multiple
 modules housed in same repo but with different versions||
 ||trivy||@herbygillot,openmaintainer||Non-trivial: contains numerous
 dependencies from unsupported domains||
 ||~~uni~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8491|fixed]]||
 ||~~up~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8485|fixed]]||
 ||~~webify~~||@harens,openmaintainer||[[https://github.com/macports
 /macports-ports/commit/1d5abbe395918dc567f95b0e65e31646b513d41b|fixed]]||
 ||wtfutil||@herbygillot,openmaintainer||Non-trivial: contains numerous
 dependencies from unsupported domains||
 ||~~yq~~||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8477|fixed]]||
 ||nebula||@herbygillot,openmaintainer||[[https://github.com/macports
 /macports-ports/pull/8810|pending]]||
 ||qri||@herbygillot,openmaintainer||Non-trivial: depends on multiple
 modules housed in same repo but with different versions||

 I have not yet checked that each of these failures is from being unable to
 download dependencies, as opposed to e.g. something more esoteric about
 `GO111MODULE`.

--

-- 
Ticket URL: <https://trac.macports.org/ticket/61192#comment:83>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list