Welcome to the weekly development notes for snapcraft!
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.
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
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.