Welcome to the weekly development notes for snapcraft!
Events
- Sergio is going to be presenting Ubuntu Core at the Córdoba IoT Meetup on Wednesday 6.
- The Google Code-in event has started; @elopio, @kyrofa and @sergiusens have been having a good time so far as mentors.
Code-In
The team wants to say thank you to all the Code-In participants so far, we have seen a plethora of contributions ranging from:
- fixing bugs in snapcraft picked up from the bug tracker.
- adding support for type hinting to some python modules.
- refactoring snapcraft code for better maintainability.
- proof reading tutorials.
- translating tutorials and videos to different languages.
- creating snaps out of python, node and ruby projects.
Release 2.37
The milestone for 2.37 has been closed and the release notes are in progress. The user oriented release notes will start showing up in the following days.
In the meantime, check out the work that went into this release over at the milestone page.
Some things were dropped from the milestone such as the architectures
rework which would provide build hints for architectures as the team decided the design needed one more round of brainstorming in order to present the feature in a clear manner to its users.
That said, this release is not without its excitement, when creating snaps with classic
confinement, snapcraft will do the right thing with regards to setting rpaths and the linker for prebuilt binaries (as long as building on a matching target base), allowing snapcrafters to get rid of the need to export LD_LIBARY_PATH
which has its drawbacks when calling other binaries from the host.
Also, a lot of work has gone into UI polish, running snapcraft help
is now sane and all the error messages have been consolidated with a pattern of “what went wrong, why it went wrong and how to fix”. We really appreciate all of @mpt’s input for the team to get there.
Another feature we want to mention is a great leap forward for control of snaps in CI: the new snapcraft export-login
command, along with the login --with
option. Want to upload snaps just to the edge channel from CI? You can now export a login that can do only that, and nothing more. Want to create a CI system that puts your edge snap through a gauntlet of tests, and promotes it to beta if they pass? You can export a login that can do only that. Check snapcraft export-login --help
for more details.
One more cool feature comes from @matiasb (thank you!), and that’s the addition of support for binary metadata (specifically icons right now) into snapcraft push-metadata
.
Release 2.38
The 2.38 milestone has been planned and is good to go.
It will include the initial work on allowing to dump binaries from other bases to work correctly on the 16.04 base/core snap most developers target.
Also, long awaited, the ground works to allow for other sources of information to be consumed is going to get started in 2.38 which would allow adding handlers for consuming information from sources like appstream XMLs, setup.py
, and similar.
On the cross compilation front, the on
grammar is going to be expanded to also use from
to clearly define behavior across different architectures when cross compiling.