[Bug 1536882] Re: upload golang1.5 package for trusty

Michael Hudson-Doyle michael.hudson+lp at canonical.com
Fri Jan 22 03:32:16 UTC 2016


** Description changed:

- [coming soon]
+ There is a need to provide a version of Go 1.5 in trusty-updates. We
+ can't upgrade the golang package itself in trusty because that will
+ cause other packages to ftbfs so the best place seems to be providing a
+ golang1.5 package that juju and other consumers can build depend upon.
+ 
+ There is an expectation that new versions of juju will be made available
+ in trusty-updates. trusty was released with version 1.2 of Go, which is
+ almost indescribably ancient in Go terms. The Go team maintains at most
+ two versions of Go, so 1.4 and 1.5 at the time of writing but this will
+ be 1.5 and 1.6 in a few weeks, which means that trusty will soon be 3
+ versions behind a supported version.
+ 
+ In particular, authors of third-party packages that juju depends upon
+ are mostly no longer supporting go 1.2. Specific examples of packages
+ this affects:
+ 
+ * lxd client code requires Go 1.3+ (currently not built on trusty)
+   the new Azure provider requires Go 1.3+ (needed for centos and windows   
+   workloads in azure)
+ * vmware provider requires Go 1.3+ (currently vendored and hacked to work 
+   with 1.2)
+ * the systemd go bindings require Go 1.3+ (currently vendored and hacked
+   to work with 1.2)
+ 
+ In addition, Go 1.5 is available for all supported architectures in
+ trusty, which means the Juju developers and release managers do not have
+ to worry about bugs and different behaviours in gccgo (such as the
+ rather alarming https://bugs.launchpad.net/bugs/1517611 ) as well as the
+ gc compiler.
+ 
+ [Test Case]
+ 
+ None as such. Just that the golang1.5-go package is installable.
+ 
+ [Regression Potential]
+ 
+ This is to be a new package, so none.
+ 
+ [Building the packages]
+ 
+ A wrinkle is that Go 1.5 requires Go 1.4 to bootstrap, which is not
+ available in trusty. Also there is no version of the 1.4 gc compiler for
+ arm64 or ppc64le, which means that the only option is to build with
+ gccgo 5. While it presumably would be possible to create temporary gccgo
+ 5 packages for trusty that could be used to build the package, this is
+ an almighty lot of work compared to building the package once in wily or
+ xenial, binary copying this to trusty and then rebuilding it with the
+ copied package there.
+ 
+ I have built packages for this here
+ http://people.canonical.com/~mwh/go15trusty/ -- the plan would be to
+ upload 1.5.3-0ubuntu1~bootstrap to xenial in a devirted all arch PPA,
+ binary copy the result to trusty, upload 1.5.3-0ubuntu1 to trusty in the
+ ppa and then binary copy this to the archive.
+ 
+ I have done these steps in a ppa:
+ https://launchpad.net/~mwhudson/+archive/ubuntu/go15-trusty/+packages
+ but unfortunately made some stupid mistakes which means the version
+ numbers are not quite what I'd want, so the packages will need to be
+ built again if this process is approved.
+ 
+ There is some more thinking about this on
+ https://wiki.ubuntu.com/MichaelHudsonDoyle/Go15InTrusty

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to golang in Ubuntu.
https://bugs.launchpad.net/bugs/1536882

Title:
  upload golang1.5 package for trusty

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/golang/+bug/1536882/+subscriptions



More information about the Ubuntu-server-bugs mailing list