public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: William Hubbs <williamh@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Cc: mgorny@gentoo.org, zmedico@gentoo.org
Subject: Re: [gentoo-dev] [PATCH 1/1] go-module.eclass: introduce new eclass to handle go modules
Date: Tue, 17 Sep 2019 09:10:28 -0500	[thread overview]
Message-ID: <20190917141028.GA5659@linux1.home> (raw)
In-Reply-To: <35b14362c4ac77ffac5ff753becebd094dd994c3.camel@gentoo.org>

[-- Attachment #1: Type: text/plain, Size: 2709 bytes --]

On Tue, Sep 17, 2019 at 07:36:07AM +0200, Michał Górny wrote:
> On Mon, 2019-09-16 at 17:00 -0500, William Hubbs wrote:
> > On Mon, Sep 16, 2019 at 11:50:12AM -0700, Zac Medico wrote:
> > > On 9/16/19 11:35 AM, William Hubbs wrote:
> > > > On Mon, Sep 16, 2019 at 11:01:38AM -0700, Zac Medico wrote:
> > > > > For packages that I maintain, I'd prefer to continue using EGO_VENDOR to
> > > > > even with packages using go.mod. I hope that this go-module.class will
> > > > > not preclude this sort of usage. For example, the latest go-tools ebuild
> > > > > uses EGO_VENDOR together with GOFLAGS="-mod=vendor":
> > > > > 
> > > > > https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8cc6d401139526e2f9a6dbadbd31f0ff2387705f
> > > > 
> > > > Can you elaborate on why you want to keep EGO_VENDOR?
> > > > 
> > > > The "go mod vendor" command above downloads all the correct versions
> > > > of the dependencies and puts them in the vendor directory, so I'm not
> > > > sure why you would need the EGO_VENDOR variable.
> > > 
> > > EGO_VENDOR eliminates to need to generate and host monolithic tarballs
> > > containing vendored dependencies. It's more space-efficient in the sense
> > > that each vendored dependency is stored in a separate tarball, so
> > > multiple ebuilds can share the same tarball if the version of a
> > > particular vendored dependency has not changed.
> > 
> > I see what you are saying, but I haven't yet found a way to generate
> > these separate tarballs that I'm comfortable with. Also, thinking about
> > this, there will be many more tarballs on our mirrors if we store one
> > dependency in each tarball than if we generate vendor tarballs that
> > contain all dependencies for a package.
> > 
> > I would consider this an enhancement to the eclass if you  still feel
> > that we need it, but let me get the eclass into the tree first then we
> > can work on that.
> > 
> 
> That sounds like a bad idea.  If there are any potential enhancements
> that can happen, I'd rather see them happen before there's a bunch of
> ebuilds using the eclass in the wild, and potentially limiting possible
> changes.

Like I just said on IRC, it would have been better if you responded in
terms of discussing the enhancement itself.

The main blocker for me is that EGO_VENDOR is basically the same
information as go.mod, but it isn't quite the same format.
You can get close with "go list -m all", but EGO_VENDOR doesn't
automatically handle imports that start with things like golang.org/x or
gopkg.in; you have to manually fix those, and you would have to do that
every time. That seems to be a lot of work for little gain.

William



[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

  reply	other threads:[~2019-09-17 14:10 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-16 14:17 [gentoo-dev] [PATCH 0/1] introduce new eclass to handle go modules (round 3) William Hubbs
2019-09-16 14:17 ` [gentoo-dev] [PATCH 1/1] go-module.eclass: introduce new eclass to handle go modules William Hubbs
2019-09-16 17:40   ` William Hubbs
2019-09-16 17:48   ` Zac Medico
2019-09-16 18:26     ` William Hubbs
2019-09-16 19:50       ` Zac Medico
2019-09-16 18:01   ` Zac Medico
2019-09-16 18:35     ` William Hubbs
2019-09-16 18:50       ` Zac Medico
2019-09-16 22:00         ` William Hubbs
2019-09-17  5:36           ` Michał Górny
2019-09-17 14:10             ` William Hubbs [this message]
2019-09-17 17:40               ` Zac Medico
2019-09-16 18:05   ` Michał Górny
2019-09-16 18:46     ` William Hubbs
2019-09-16 19:19       ` Michał Górny
2019-09-18 17:49   ` Michael Orlitzky
2019-09-18 18:04     ` Alec Warner
2019-09-18 19:15       ` Michael Orlitzky
2019-09-18 19:33         ` Alec Warner
2019-09-19  1:09           ` Michael Orlitzky
2019-09-18 19:28       ` Zac Medico
2019-09-18 21:11         ` William Hubbs
  -- strict thread matches above, loose matches on Subject: below --
2019-09-18 20:26 [gentoo-dev] [PATCH 0/1] introduce an eclass to handle go modules (round 5) William Hubbs
2019-09-18 20:26 ` [gentoo-dev] [PATCH 1/1] go-module.eclass: introduce new eclass to handle go modules William Hubbs
2019-09-18 20:29   ` Michał Górny
2019-09-18 21:28     ` William Hubbs
2019-09-19  1:02       ` Michael Orlitzky
2019-09-16 22:47 [gentoo-dev] [PATCH 0/1] introduce new eclass to handle go modules (round 4) William Hubbs
2019-09-16 22:47 ` [gentoo-dev] [PATCH 1/1] go-module.eclass: introduce new eclass to handle go modules William Hubbs
2019-09-13 15:49 [gentoo-dev] [PATCH 0/1] Introduce new eclass to handle go modules (round 2) William Hubbs
2019-09-13 15:49 ` [gentoo-dev] [PATCH 1/1] go-module.eclass: introduce new eclass to handle go modules William Hubbs
2019-09-13 15:58   ` William Hubbs

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190917141028.GA5659@linux1.home \
    --to=williamh@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    --cc=mgorny@gentoo.org \
    --cc=zmedico@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox