From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 591B0138334 for ; Tue, 17 Sep 2019 17:40:51 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 66F33E0997; Tue, 17 Sep 2019 17:40:47 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 0EEF6E098A for ; Tue, 17 Sep 2019 17:40:47 +0000 (UTC) Received: from [10.126.15.130] (unknown [100.42.98.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: zmedico) by smtp.gentoo.org (Postfix) with ESMTPSA id CA97334AEC8; Tue, 17 Sep 2019 17:40:45 +0000 (UTC) Subject: Re: [gentoo-dev] [PATCH 1/1] go-module.eclass: introduce new eclass to handle go modules To: gentoo-dev@lists.gentoo.org, mgorny@gentoo.org, William Hubbs References: <20190916141719.12922-1-williamh@gentoo.org> <20190916141719.12922-2-williamh@gentoo.org> <2f70ef66-63d7-0359-17a0-e517979f700d@gentoo.org> <20190916183500.GB27855@whubbs1.dev.av1.gaikai.org> <20190916220048.GA28491@whubbs1.dev.av1.gaikai.org> <35b14362c4ac77ffac5ff753becebd094dd994c3.camel@gentoo.org> <20190917141028.GA5659@linux1.home> From: Zac Medico Openpgp: preference=signencrypt Autocrypt: addr=zmedico@gentoo.org; prefer-encrypt=mutual; keydata= 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 Message-ID: <1d187ef7-25f0-ac53-6cb7-8f4182f54fec@gentoo.org> Date: Tue, 17 Sep 2019 10:40:43 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 In-Reply-To: <20190917141028.GA5659@linux1.home> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="o86CTkJyzPKmA7UdQcEOjSyoRE1KybU94" X-Archives-Salt: c6a5bebb-f07b-4aa8-b5d9-f5768e19ffe2 X-Archives-Hash: 93de0d9036743ef1002855f8d022fadf This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --o86CTkJyzPKmA7UdQcEOjSyoRE1KybU94 Content-Type: multipart/mixed; boundary="Nnf1oQHlWZZdXPLE1HrSD7wM2sjx2AVLk"; protected-headers="v1" From: Zac Medico To: gentoo-dev@lists.gentoo.org, mgorny@gentoo.org, William Hubbs Message-ID: <1d187ef7-25f0-ac53-6cb7-8f4182f54fec@gentoo.org> Subject: Re: [gentoo-dev] [PATCH 1/1] go-module.eclass: introduce new eclass to handle go modules References: <20190916141719.12922-1-williamh@gentoo.org> <20190916141719.12922-2-williamh@gentoo.org> <2f70ef66-63d7-0359-17a0-e517979f700d@gentoo.org> <20190916183500.GB27855@whubbs1.dev.av1.gaikai.org> <20190916220048.GA28491@whubbs1.dev.av1.gaikai.org> <35b14362c4ac77ffac5ff753becebd094dd994c3.camel@gentoo.org> <20190917141028.GA5659@linux1.home> In-Reply-To: <20190917141028.GA5659@linux1.home> --Nnf1oQHlWZZdXPLE1HrSD7wM2sjx2AVLk Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 9/17/19 7:10 AM, William Hubbs wrote: > On Tue, Sep 17, 2019 at 07:36:07AM +0200, Micha=C5=82 G=C3=B3rny 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_VEN= DOR 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=3D"-mod=3Dvendor": >>>>>> >>>>>> https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3D8cc6d401139= 526e2f9a6dbadbd31f0ff2387705f >>>>> >>>>> Can you elaborate on why you want to keep EGO_VENDOR? >>>>> >>>>> The "go mod vendor" command above downloads all the correct version= s >>>>> of the dependencies and puts them in the vendor directory, so I'm n= ot >>>>> sure why you would need the EGO_VENDOR variable. >>>> >>>> EGO_VENDOR eliminates to need to generate and host monolithic tarbal= ls >>>> containing vendored dependencies. It's more space-efficient in the s= ense >>>> 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 abo= ut >>> 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 w= e >>> 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 possibl= e >> changes. >=20 > Like I just said on IRC, it would have been better if you responded in > terms of discussing the enhancement itself. >=20 > 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 o= r > 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. It looks like it should not be too difficult to create a script that will convert from go.mod to EGO_VENDOR format. For example, take this go.mod file: https://github.com/golang/tools/blob/master/go.mod It contains a line like this: golang.org/x/net v0.0.0-20190620200207-3b0461eec859 The part after the last hyphen corresponds to the commit hash which can be used directly or expanded like this: $ curl -sS https://api.github.com/repos/golang/net/commits/3b0461eec8= 59 | jq -r .sha 3b0461eec859c4b73bb64fdc8285971fd33e3938 The github owner and repo names can resolved like this: $ curl -sS https://golang.org/x/net | grep go-source I've found that `go get` parses a similar meta element named "go-import" here: https://github.com/golang/go/blob/master/src/cmd/go/internal/get/disc= overy.go --=20 Thanks, Zac --Nnf1oQHlWZZdXPLE1HrSD7wM2sjx2AVLk-- --o86CTkJyzPKmA7UdQcEOjSyoRE1KybU94 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQKTBAEBCgB9FiEE8OgXaltWzqgSupCu0HX7jBBKPSAFAl2BGptfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEYw RTgxNzZBNUI1NkNFQTgxMkJBOTBBRUQwNzVGQjhDMTA0QTNEMjAACgkQ0HX7jBBK PSBSGw/9HWXE/6wI7THkh2whN3B4Lu2TKztegNJr78Tw0ESF8WDL90QueXBCJvmA 0fOeiE+XPo+TJShgj80at7KTvZQW+chnF7waKiCUcdy1zdHWB674LMCBczSDK4d6 bXD5515bw5FbtPurHnbZjPw3k5ahcjmwtxV6s/CJmYJhJZnMe5ZFojWzFrSorolG WoH8qLD3MCiFPbB6Vc927JAdjODDUZCL6Ddf+WXQ+jSLh066n9/WxIpbPKSdkJ/t TCFrMipNluKMFIc9fVAzeGDqxFfeC0NU8HLB+eah3E+T2BvqDMWfO+3rFI9HRoQu TF3aDjGff6CMBXn7utkO09V+crBLitg2h2eP4NUOzgeVtOCT+YdZ0a7TonjYxFg7 RB3rI9KnnXyAOFcGn09In+S/Tqh3y1QmfaabRo/92f45LdqWwkoCfezfo4QJDrLV awl2yZn2TguehswdLF1op9WXfC1VsCX4+8YsLNup0MA6t8Pn6Bqx5yzfNbgglmKd 5EiLc+7/bVZgINLiVZQK2i/y4DJY8iA41Xh6o4rJv2BC671pD8XhrjDAjSis3kJZ CwW2hd/XIBu+7Yc+kNUEdqJDxDNnOqeJ0h6T7RBHP32Bi//oIn2YMxLaTDrnDXQ9 E/yqMs38CJ9U1vGiJaoMh5OqGq/kPQb2ulZXHKQSWXUSURMmlqY= =z0Ox -----END PGP SIGNATURE----- --o86CTkJyzPKmA7UdQcEOjSyoRE1KybU94--