Week 23 of 2017 in snapcraft

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

Release updates

Thanks to @sergiusens’ hacking and @cjwatson’s and @mvo’s careful review, the conflict between python3-click and python3-click-package is very nearly no longer an issue. The changes have been approved, but we’re still working to get the SRU completed.

While Snapcraft 2.30’s SRU was held up due to that conflict, 2.31 was released this week, so we’re skipping the SRU for 2.30. As soon as we get python3-click-package into proposed, we’ll get Snapcraft 2.31 there as well.

Bug squashing and improvements

We continued the theme of making things easy from the sprint last week. Several CLI improvements landed this week, fixing a few bugs around error surfacing and argument handling introduced with the move to the new argument parser. We also moved to finding our data files (the schema file, etc.) via sys.prefix, which makes snapcraft work a lot better when installed via pip (a pain point particularly for new snapcraft hackers).

On the robotics front, the Catkin plugin gained the ability to pull code down via rosinstall files, which is how meta projects typically keep track of their sub-projects.

We made some more progress on the asset tracking story as well, extracting the build packages required for each part and tracking them for the entire project instead of per-part.

Following up on the basic cross-compilation support added last week to the Go plugin, we’ve added support for cross-compiling when using cgo as well. Progress toward supporting cross-compilation in Rust is being made 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 Jonathan Cave, Ruddick Lawrence, and Zygmunt Krynicki!

In the news