can't load package when building a go project

Bug #1583426 reported by Leo Arias on 2016-05-19
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Snapcraft
High
Sergio Schvezov
snapcraft (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Unassigned
Yakkety
Undecided
Unassigned

Bug Description

I'm trying to make a snap for hashicorp's vault.

This is the error I'm getting:

env GOPATH=/home/elopio/workspace/canonical/snaps/vault/parts/vault/go go get -t -d ./vault.git/...
can't load package: package vault.git: code in directory /home/elopio/workspace/canonical/snaps/vault/parts/vault/go/src/vault.git expects import "github.com/hashicorp/vault"
Command '['/bin/sh', '/tmp/tmpwyqwm_y3', 'env',
'GOPATH=/home/elopio/workspace/canonical/snaps/vault/parts/vault/go',
'go', 'get', '-t', '-d', './vault.git/...']' returned non-zero exit
status 1

This is the snapcraft.yaml I'm using:

name: vault-elopio
version: snap0.1
summary: Vault is a tool for securely accessing secrets.
description: bla

apps:
  vault:
    command: bin/vault
    plugs: [network, network-bind]

parts:
  vault:
    plugin: go
    source: https://github.com/hashicorp/vault.git

[Impact]

 * Some go projects can't be easily build.

 * The workaround is hard to find, it should be clearer what to do for these projects.

[Test Case]

 * Create a snapcraft with the vault yaml from this bug.
 * Add the new go-importpath field.
 * Run snapcraft.
 * Verify that you get a usable snap.

[Regression Potential]

 * This could affect other go projects.

Leo Arias (elopio) wrote :

I can build the snap by changing the parts like this:

parts:
  vault:
    plugin: go
    go-packages:
      - github.com/hashicorp/vault

Which is suboptimal because then I can only make the snap from the master branch. I would like to make the snap from the latest tag instead.

Changed in snapcraft:
importance: Undecided → High
milestone: none → 2.10
Changed in snapcraft:
status: New → Incomplete
status: Incomplete → Triaged
Sergio Schvezov (sergiusens) wrote :
Changed in snapcraft:
assignee: nobody → Sergio Schvezov (sergiusens)
status: Triaged → In Progress
Changed in snapcraft:
status: In Progress → Fix Committed
Leo Arias (elopio) on 2016-06-02
description: updated
Changed in snapcraft (Ubuntu Xenial):
milestone: none → xenial-updates
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package snapcraft - 2.10+16.10

---------------
snapcraft (2.10+16.10) yakkety; urgency=medium

  [ Martin Wimpress ]
  * Correct autotools tests to use configflags (#521)

  [ Leo Arias ]
  * Run the integration tests against a local fake server when the user
    password is not in the environment. (#511) (LP: #1585023)
  * Move the login and logout methods to a client. (#518) (LP: #1586504)
  * Improve the config handling. (#519) (LP: #1586511)
  * Fix the one-time password login. (#529) (LP: #1586832)
  * Moved the download to the store client. (#530) (LP: #1586836)
  * Moved the upload to the store client. (#531) (LP: #1586836)
  * Updated the documentation about the icon. (#542) (LP: #1578231)
  * Improve the error message when a part binary is not found. (#541)
    (LP: #1582367)
  * Reenable the ROS demo for autopackage testing. (#520) (LP: #1588098)
  * Add macaroon support to login, upload and download. (#532) (LP: #1586910)
  * Set the no_proxy environment variable to access the local fake servers.
    (#546) (LP: #1588631)

  [ Stephen Stewart ]
  * nodejs plugin: Support configurable node version (#509) (LP: #1586104)

  [ Kyle Fazzari ]
  * Use correct cross-build packages for ppc64le. (#539) (LP: #1570944)

  [ Sergio Schvezov ]
  * Support zip files as source (#523) (LP: #1577062)
  * A nicer error message for incorrect stage-packages (#524) (LP: #1568131)
  * Support the assumes keyword (#525) (LP: #1586429)
  * Improve the template for snapcraft init (#528) (LP: #1575581)
  * Filter out *.snap from sourcedir (#535) (LP: #1575628)
  * Support setting a gopath for a go project from vcs (#538) (LP: #1583426)
  * Add a ticker for snapping (#540) (LP: #1582955)
  * Rename strip to prime (#543) (LP: #1582515)

  [ Didier Roche ]
  * Wrap plugin list output content (#534) (LP: #1587057)
  * Add snapcraft examples to scaffold getting started tour (#513)
    (LP: #1586137)

  [ Joe Talbott ]
  * Add support for parsing the parts wiki (#545) (LP: #1587583)

 -- Sergio Schvezov <email address hidden> Fri, 03 Jun 2016 13:37:58 -0300

Changed in snapcraft (Ubuntu Yakkety):
status: New → Fix Released

Hello Leo, or anyone else affected,

Accepted snapcraft into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/snapcraft/2.10 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in snapcraft (Ubuntu Xenial):
status: New → Fix Committed
tags: added: verification-needed
Changed in snapcraft:
status: Fix Committed → Fix Released
Leo Arias (elopio) wrote :

Tested in an up-to-date xenial system:
- Enabled the proposed archive
- updated snapcraft to 2.10
- Run snapcraft with the yaml from the bug description.
- It says: Please consider setting `go-importpath for the 'vault' part. Minor bug reported about the message: https://bugs.launchpad.net/snapcraft/+bug/1590245
- Added the go-importpath
- Run snapcraft again
- The snap was successfully generated.

I'm marking the verification as done.

Thanks Chris!

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package snapcraft - 2.10.1

---------------
snapcraft (2.10.1) xenial; urgency=medium

  * Backwards compatible clean with strip (#556) (LP: #1590256)

 -- Sergio Schvezov <email address hidden> Wed, 08 Jun 2016 16:32:27 -0300

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

Duplicates of this bug

Other bug subscribers