Thursday, 26 November 2015

plans for go in xenial


I'm starting to make plans for packaging Go and packages written in Go
for Xenial. I thought I'd sketch out my ideas here for feedback and
avoidance of surprises later in the piece.

Some background:

1. Go 1.6 is due to be released around the time of feature freeze for Xenial.

2. As part of the work involved in getting juju and go into main, the
security team received a promise that we would at least try to use
shared libraries in the juju packaging.

3. Go 1.5 only has support for shared libraries on amd64, but Go 1.6
will have support for shared libraries on all supported architectures
(well, apart from s390 and powerpc, which only have gccgo anyway)

The timeline means that getting 1.6 into Xenial is probably
reasonable, but waiting for the release or even a release candidate
would be too late to explore how shared libraries are working out --
that needs to start soon, and so with a 1.6 pre-release.

There are two broad options here: do all the shared library
exploration in a staging PPA or create a golang1.6 package that can be
uploaded to the distro without affecting everything that build depends
on "golang-go".

The advantages of the former are that it's less pollution in the
archive, especially if we end up not using shared libraries this
cycle. The latter has the advantage that one wouldn't need to add a
ppa to every image involved in testing. (Tangentially, I'm also
exploring the idea of having separate and co-installable golang1.5-go
and golang1.6-go packages, partly to make this easier and partly so we
can backport golang1.5-go cleanly to trusty).

Well, this is mostly a braindump, but let me know what you think.


ubuntu-devel mailing list
Modify settings or unsubscribe at: