please transition to shared libraries

Bug #1508122 reported by Jamie Strandboge
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
dh-golang (Ubuntu)
Fix Released
High
Michael Hudson-Doyle
golang-1.6 (Ubuntu)
Fix Released
High
Michael Hudson-Doyle
golang-defaults (Ubuntu)
Fix Released
Undecided
Unassigned
juju-core (Ubuntu)
Confirmed
High
Unassigned
lxd (Ubuntu)
Fix Released
Low
Michael Hudson-Doyle

Bug Description

As part of the golang MIR (bug 1267393), golang 1.6 is going to gain shared library support and 1.6 has been targeted for the 16.04 release. The Ubuntu go maintainers (ie, Foundations and currently juju teams) committed to enabling shared library support by default for archive go builds with the option for people to opt into static builds. Currently we have a MIR process for golang packages that are statically compiled, but this process does not scale and once shared library support is available, the MIR team will require its use. This bug tracks that work.

The juju team committed to testing shared library support for 16.04 and defers on the decision to use shared libraries in juju-core for 16.04 until it can be thoroughly tested. If the testing results in instability, etc, the juju-core package will continue to be statically compiled for 16.04 and the juju team will work with the Ubuntu go maintainers to address issues so that juju-core will be built with shared library support in 16.10. This has MIR and security team approval.

Moving to shared library support was not yet discussed with the LXD team, but since they are a package in main they will need to adhere to the new MIR acceptance criteria after shared library support is available. The same concession should be made for LXD as for juju: please test shared library support with golang 1.6 and enable it if it is solid. If not, statically compile for 16.04 and work with the Ubuntu go maintainers to address issues so that LXD will be built with shared library support in 16.10.

Changed in lxd (Ubuntu):
status: New → Triaged
importance: Undecided → High
milestone: none → ubuntu-16.04
assignee: nobody → Stéphane Graber (stgraber)
Changed in golang (Ubuntu):
assignee: nobody → Michael Hudson-Doyle (mwhudson)
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

I'm attaching a debdiff for the golang package that builds the go standard library into a shared library, which is part 1 of this.

Changed in golang (Ubuntu):
status: New → In Progress
Changed in dh-golang (Ubuntu):
assignee: nobody → Michael Hudson-Doyle (mwhudson)
status: New → In Progress
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

And here's a patch for dh-golang. I'll mail this one upstream too.

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "dh-golang-bug-1508122.diff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Mathew Hodson (mhodson)
Changed in dh-golang (Ubuntu):
importance: Undecided → High
Changed in golang (Ubuntu):
importance: Undecided → High
Changed in juju-core (Ubuntu):
importance: Undecided → High
affects: golang (Ubuntu) → golang-1.6 (Ubuntu)
Revision history for this message
Martin Pitt (pitti) wrote :

> And here's a patch for dh-golang. I'll mail this one upstream too.

Where did you do this? I don't see it on https://bugs.debian.org/src:dh-golang

Revision history for this message
Martin Pitt (pitti) wrote :

The patch for golang applies to the "golang" source which does not exist in xenial and yakkety, it's golang-1.6. It also does not apply to golang-1.6 (not only the changelog, which is easy to fix). Can you please re-do this against golang-1.6?

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote : Re: [Bug 1508122] Re: please transition to shared libraries

Ah yes, I have re done this but it's only in git and ppas. Can post patches
next week if you want to see.
On 13/05/2016 7:26 pm, "Martin Pitt" <email address hidden> wrote:

> The patch for golang applies to the "golang" source which does not exist
> in xenial and yakkety, it's golang-1.6. It also does not apply to
> golang-1.6 (not only the changelog, which is easy to fix). Can you
> please re-do this against golang-1.6?
>
> --
> You received this bug notification because you are a bug assignee.
> Matching subscriptions: juju-core packaging
> https://bugs.launchpad.net/bugs/1508122
>
> Title:
> please transition to shared libraries
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/ubuntu/+source/dh-golang/+bug/1508122/+subscriptions
>

Mathew Hodson (mhodson)
Changed in lxd (Ubuntu):
milestone: ubuntu-16.04 → ubuntu-16.10
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package golang-1.6 - 1.6.2-1ubuntu2

---------------
golang-1.6 (1.6.2-1ubuntu2) yakkety; urgency=medium

  * Build standard library into shared library. (LP: #1508122)
  * Add two patches with fixes for Go shared libraries on i386 and ppc64el:
    - d/patches/0003-cmd-compile-do-not-generate-tail-calls-when-dynamic-.patch
    - d/patches/0004-cmd-internal-obj-runtime-fixes-for-defer-in-386-shar.patch

 -- Michael Hudson-Doyle <email address hidden> Fri, 10 Jun 2016 13:02:04 +1200

Changed in golang-1.6 (Ubuntu):
status: In Progress → Fix Released
tags: added: block-proposed
tags: removed: block-proposed patch
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package golang-defaults - 2:1.6.1+1ubuntu2

---------------
golang-defaults (2:1.6.1+1ubuntu2) yakkety; urgency=medium

  * Add golang-go-shared-dev and golang-any-shared-dev. (LP: #1508122)

 -- Michael Hudson-Doyle <email address hidden> Wed, 25 May 2016 20:59:32 +1200

Changed in golang-defaults (Ubuntu):
status: New → Fix Released
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

I'd just like to mention that this work is very exciting and the work Michael is doing is very much appreciated. Thanks! :)

Changed in lxd (Ubuntu):
status: Triaged → In Progress
Changed in dh-golang (Ubuntu):
status: In Progress → Fix Released
Changed in juju-core (Ubuntu):
status: New → Confirmed
Changed in lxd (Ubuntu):
assignee: Stéphane Graber (stgraber) → nobody
importance: High → Low
status: In Progress → Triaged
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

Dear ubuntu-release, can I get an FFe for https://github.com/lxc/lxd-pkg-ubuntu/pull/20 please?

Changed in lxd (Ubuntu):
status: Triaged → In Progress
assignee: nobody → Michael Hudson-Doyle (mwhudson)
Revision history for this message
Martin Pitt (pitti) wrote :

Oh yeah, please do! The CI tests should cover this adequately, as the nature of this change should be rather binary: if it fails, it should fail so drastically that every test will be red :-)

So this is low risk IMHO, FFE granted.

Changed in lxd (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lxd - 2.1-0ubuntu4

---------------
lxd (2.1-0ubuntu4) yakkety; urgency=medium

  * Fix powerpc build by using golang-any-shared-dev instead of
    golang-go-shared-dev.

 -- Stéphane Graber <email address hidden> Thu, 08 Sep 2016 17:39:41 -0400

Changed in lxd (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.