public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Patrick McLean <chutzpah@gentoo.org>
To: Michael Orlitzky <mjo@gentoo.org>
Cc: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] [PATCH 3/3] dev-vcs/hub: migrate to go-module.eclass
Date: Fri, 13 Sep 2019 17:22:30 -0700	[thread overview]
Message-ID: <20190913172230.2d765910@patrickm.gaikai.org> (raw)
In-Reply-To: <2b8d7f00-fdf9-e879-5035-cc00b9c2b551@gentoo.org>

On Fri, 13 Sep 2019 19:44:55 -0400
Michael Orlitzky <mjo@gentoo.org> wrote:

> (Replying to both messages at once.)
> 
> 
> On 9/13/19 4:17 PM, Patrick McLean wrote:
> >>  
> > I don't think anyone here has suggested that any go packages are
> > installed in the stage3 tarballs, or included in profiles.
> > Something's presence in the tree does not mean that you are
> > required to install it. A package's presence in the tree really has
> > little to zero effect on any user that does not use the package. If
> > you do not install the package, it will have zero effect on your
> > banking.  
> 
> This is true only so far as they never become dependencies of anything
> else. Do all new developers know that dev-go is an insecure ghetto? Do
> our users? Or might someone accidentally install or depend upon
> something in dev-go before learning that crucial bit of information?

A suggestion was made on IRC to have a pkg_postinst in the eclass that
warn about golang package dependencies not having the same level of
Gentoo security coverage that other packages in the tree have due to
static linking. I think this is a reasonable approach, and users and
developers will know. There is precedent for this, see
sys-kernel/vanilla-sources

> > I also want to point out that the Gentoo packages for Firefox,
> > Chromium, and Webkit all have a _lot_ of bundled dependencies and
> > absolutely do static linking internally. If you are using a browser
> > to do your banking, you are almost certainly using static linking,
> > even without the presence of code written in golang.  
> 
> Is this is a "two wrongs make a right" argument? I'm telling mom =P

I am pointing out that we can't ban all static linking in the tree,
many upstream packages won't work without it (or significant effort
that no one has the time or motivation for).

> > Despite your (and my) objections to it's approach to linking,
> > golang is a very popular language these days with some very popular
> > packages written in it.  
> 
> No it's not. It's below Delphi and Object Pascal on TIOBE this month.
> It's a trend that a tiny percentage of people jumped on because they
> heard the name "Google" back when Google was cool.

Random stats from a website are not really an indication of how much a
language is being used. There are plenty of very popular packages that
are written in golang.

> The "people want this in Gentoo" argument I understand, but people
> don't really have it "in Gentoo." They have a thin wrapper around the
> "go" command. They don't get the Gentoo security guarantees, they
> don't get the Gentoo license handling, they don't get the ease of
> management that comes with a Gentoo @world update. They silently get
> something less than they're expecting. We would be better off telling
> people to run "go whatever" themselves, or by putting this stuff in
> an overlay where expectations are clearly defined.

Users and Gentoo developers want Docker and Kubernetes (to name a
couple) in the main tree. These are written in golang. I don't think we
should ban packages because of the language they are written in.
Especially if there are developers who want to maintain them.

They do get the ease of management of @world in that if the upstream
package releases a new version, it will be pulled in via an @world
update. That is quite a large advantage to users, and is worth doing if
there are developers willing to maintain the packages in the tree.

> 
> > While I personally have opinions about static linking (I basically
> > completely agree with you that it's a dumb idea). That said, this
> > has nothing to do with this particular discussion, I suggest you
> > take it up with the golang upstream. I don't think anyone here is
> > arguing that static linking is a great idea and everyone should do
> > it.  
> 
> We just have a philosophical difference here. I don't think we should
> commit admittedly-dumb ideas to ::gentoo. These packages would work
> fine in an overlay until such a time as someone is interested in
> doing things correctly. They also work "fine" if you install them
> with "go" yourself: Portage isn't doing much for you when everything
> is bundled, statically linked, and has LICENSE set incorrectly.

When "doing things correctly" means basically forking the entire
ecosystem and maintaining all the forks internally, that is not
something that is ever going to happen. There is demand from users and
developers for golang packages.

It's the same reason why we don't unbundle everything in Firefox and
Chromium, it's simply too much work. It basically means maintaining our
own fork of the package. That also means security updates will take
significantly longer, as the fork will need to be rebased on the new
upstream version.

> I don't want to keep replying to these threads -- I've said everything
> that I've got to say, and I'm boring myself, so I can only imagine how
> you all feel. This will get pushed through anyway, because it always
> does. It's just demoralizing constantly begging people not to make
> things worse and being ignored.

Then don't, golang and packages written in it are going to stay in the
tree and new golang packages are going to be added. This entire
thread has been about how we are going to support a newer packaging
style upstream adopted.

I encourage you to package.mask dev-lang/go, and carefully inspect any
-bin packages you install to make sure you don't install anything
written in golang on your machine.


  reply	other threads:[~2019-09-14  0:22 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-11 17:21 [gentoo-dev] [PATCH 0/3] add eclass to handle go modules William Hubbs
2019-09-11 17:21 ` [gentoo-dev] [PATCH 1/3] go-module.eclass: introduce new " William Hubbs
2019-09-11 17:38   ` Michał Górny
2019-09-11 18:22     ` William Hubbs
2019-09-11 18:31       ` Michał Górny
2019-09-11 19:40         ` William Hubbs
2019-09-11 19:47           ` Michał Górny
2019-09-11 23:11             ` William Hubbs
2019-09-12  5:39               ` Michał Górny
2019-09-12 16:39                 ` William Hubbs
2019-09-12 17:03                   ` Michał Górny
2019-09-12 20:16                     ` Kent Fredric
2019-09-12 21:10                       ` Michał Górny
2019-09-11 23:31   ` Alec Warner
2019-09-12  0:05     ` William Hubbs
2019-09-12  0:28       ` Alec Warner
2019-09-12 15:36         ` William Hubbs
2019-09-12 20:20         ` Kent Fredric
2019-09-12 20:38           ` Alec Warner
2019-09-12 21:12             ` Michał Górny
2019-09-12 22:01               ` Alec Warner
2019-09-13  9:13               ` Kent Fredric
2019-09-11 17:21 ` [gentoo-dev] [PATCH 2/3] app-misc/spire: migrate to go-module.eclass William Hubbs
2019-09-11 17:21 ` [gentoo-dev] [PATCH 3/3] dev-vcs/hub: " William Hubbs
2019-09-11 17:39   ` Michael Orlitzky
2019-09-11 17:47     ` William Hubbs
2019-09-11 17:48       ` Michael Orlitzky
2019-09-11 19:15       ` Kent Fredric
2019-09-11 19:26         ` William Hubbs
2019-09-11 23:34     ` Alec Warner
2019-09-11 23:48       ` William Hubbs
2019-09-12  0:05         ` Alec Warner
2019-09-12 15:46           ` William Hubbs
2019-09-12 16:14             ` Michael Orlitzky
2019-09-12 16:42               ` Alec Warner
2019-09-12 16:52                 ` Michael Orlitzky
2019-09-12 16:55                   ` Mike Gilbert
2019-09-12 17:05                     ` Michael Orlitzky
2019-09-12 17:43                       ` Mike Gilbert
2019-09-12 21:11                         ` Michael Orlitzky
2019-09-12 21:23                           ` Mike Gilbert
2019-09-13  0:14                             ` Michael Orlitzky
2019-09-13  1:56                               ` Alec Warner
2019-09-13  2:16                                 ` Alec Warner
2019-09-13  3:13                               ` Mike Gilbert
2019-09-13 12:11                                 ` Michael Orlitzky
2019-09-12 17:45                   ` Alec Warner
2019-09-12 21:58                     ` Michael Orlitzky
2019-09-13  9:19                       ` Kent Fredric
2019-09-13 12:29                         ` Michael Orlitzky
2019-09-13 20:17                           ` Patrick McLean
2019-09-13 23:44                             ` Michael Orlitzky
2019-09-14  0:22                               ` Patrick McLean [this message]
2019-09-14 17:06                               ` Alec Warner
2019-09-14 22:37                                 ` Michael Orlitzky
2019-09-16  7:54                               ` Kent Fredric
2019-09-14  6:52                             ` Ulrich Mueller
2019-09-13 16:50                     ` Michael Orlitzky
2019-09-13 20:52                       ` Patrick McLean
2019-09-16  8:11                       ` Kent Fredric
2019-09-12 20:10                   ` Kent Fredric
2019-09-12 17:31                 ` Michał Górny
2019-09-12 16:46             ` Alec Warner

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=20190913172230.2d765910@patrickm.gaikai.org \
    --to=chutzpah@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    --cc=mjo@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