can't load package when building a go project

Bug #1583426 reported by Leo Arias
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Snapcraft
Fix Released
High
Sergio Schvezov
snapcraft (Ubuntu)
Fix Released
Undecided
Unassigned
Xenial
Fix Released
Undecided
Unassigned
Yakkety
Fix Released
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.

Revision history for this message
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
Revision history for this message
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)
description: updated
Changed in snapcraft (Ubuntu Xenial):
milestone: none → xenial-updates
Revision history for this message
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
Revision history for this message
Chris J Arges (arges) wrote : Please test proposed package

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
Revision history for this message
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
Revision history for this message
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  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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