Week 24 of 2017 in snapcraft

Welcome to the weekly development notes for snapcraft! This covers work from June 12th until June 16th of 2017.

Release updates

We had some more SRU work to do for python3-click-package on Xenial, but we finally got both python3-click-package and snapcraft 2.31 into -proposed for all supported releases. We anticipate releasing into -updates early next week. The 2.31 snap is also available in the beta channel. A call for testing is out.

Bug squashing and improvements

A significant portion of the snapcraft codebase interacts with the store. We test these interactions against a number of fake servers. As the store interactions get more complex, the fake servers get more difficult to maintain, so we’ve been working to simplify them by using Pyramid as a router. Work is ongoing in this PR.

As the snapcraft snap becomes more stable (it’s in beta now), it becomes important to make sure we don’t have version skew when building in a container. To that end, we’ve been working to inject the correct version of the core and snapcraft snaps into the container if running from a snap. Work is ongoing in this PR.

Cross-compiling has become increasingly important in snapcraft. Snapcraft 2.31 saw the introduction of cross-compiling support for Go, and work to support cross-compiling for Rust is happening in this PR. Work is also ongoing to support multi-arch build dependencies in this PR.

On the robotics front, work is ongoing to support ROS Lunar in this PR.

External contributions

We love seeing pull requests from people outside of the snapcraft core team, and we saw some this week. A big thank you to @sparkiegeek and James Beedy!


  • The ROS prototype to production on Ubuntu Core series was added to the list of 96boards projects
  • A ROS tutorial was written serving as an intro to snaps and snapcraft
  • Planned Open Hours with @popey and @Wimpress (first one is next Friday)
  • A gobot guide to write a snap that blinks an LED, enable continuous delivery and install it from the store