~wgrant/snapcraft/+git/github:bp-unified-setup

Last commit made on 2020-09-17
Get this branch:
git clone -b bp-unified-setup https://git.launchpad.net/~wgrant/snapcraft/+git/github

Branch merges

Branch information

Name:
bp-unified-setup
Repository:
lp:~wgrant/snapcraft/+git/github

Recent commits

79891ea... by Chris Patterson

build providers: unified provider refactoring for provider setup

Refactoring for unified approach to checking if a provider is ready, and
performing installation.

- Adds 'is_provider_ready()' interface, replacing 'ensure_provider()'.

- Makes 'setup_provider()' responsible for all user interaction to install
and/or configure the provider, and its depdenencies. Adds 'interactive'
parameter to allow for non-interactive installs, though not currently utilized.

- Refactored LXD checks into their own methods, adding a compatibility check to
check the LXD version is 4.0+, and removing the snap install check in favor of
just ensuring the hardcoded /snap/bin/lx[cd] paths are present.

- Moves setup code out of MultipassCommand into the Multipass provider.

- Update lifecycle CLI to utilize new interfaces. When tty is not connected,
and setup is required, exit with error that that build provider is not
installed or configured.

Signed-off-by: Chris Patterson <email address hidden>

1d4ba49... by Sergio Schvezov

cmake v2 plugin: add help for cmake generators (#3288)

Signed-off-by: Sergio Schvezov <email address hidden>

97c3b0c... by Chris Patterson

db: introduce generalized datastore (#3238)

Provides a generalized datastore for snapcraft components that
need persistent storage. This datastore provides:

- a TinyDB-based storage system with YAML file-backed storage

- schema versioning with migration support

Initial use will be the environment manager datastore, allowing
snapcraft to better track all snapcraft-created build environments.

Signed-off-by: Chris Patterson <email address hidden>

7016a1b... by Chris Patterson

v1 plugins: lock godep's dependencies (#3285)

godeps hasn't been updated in quite some time, but it has
dependencies that need to be locked [1]. Specifically, go-toml
has been updated recently to require newer string interfaces,
requiring go 1.10+, breaking godeps projects on older go
versions.

Since godeps is used for dependency tracking (prior to go
modules), we lock in the dependencies ourselves by checking
out the correct revisions after downloading via go-get.

https://github.com/rogpeppe/godeps/blob/master/dependencies.tsv

Signed-off-by: Chris Patterson <email address hidden>

262f118... by Sergio Schvezov

cli: client side check for setting default tracks (#3278)

Check for valid track names within the active set of tracks before
trying to set a default track.

This is in part a workaround for the generic django error provided by
the Snap Store but can live on even after that issue is fixed.

LP: #1892553

Signed-off-by: Sergio Schvezov <email address hidden>

8303c30... by Kyle Fazzari

v2 plugins: add catkin-tools plugin (#3282)

Add a new catkin-tools plugin using v2 of the plugin API. This also uses
the ROS functionality shared by the existing Catkin and Colcon plugins.

Signed-off-by: Kyle Fazzari <email address hidden>

8029036... by Sergio Schvezov

build providers: hide systemd setup for LXD (#3281)

The LXD setup is overly verbose. This is a first pass to hide some of
the many unnecessary things show by default (snapcraft's internal debug
still shows them).

Signed-off-by: Sergio Schvezov <email address hidden>

853c4af... by Martin Wimpress 

extensions: set VDPAU_DRIVER_PATH appropriately (#3279)

This pull request sets `VDPAU_DRIVER_PATH` appropriately and supports NVIDIA hardware
when the host has the proprietary drivers installed.

ab04b21... by Chris Patterson

specifications: environment lifecycle (#3140)

Signed-off-by: Chris Patterson <email address hidden>
Co-authored-by: Sergio Schvezov <email address hidden>

d0f4177... by Kyle Fazzari

v2 plugins: add catkin plugin (#3268)

Add a new Catkin plugin using v2 of the plugin API. Refactor common
functions out of the Colcon plugin to share functionality with both.

Signed-off-by: Kyle Fazzari <email address hidden>