Snapcraft Summit summary – day 2

Kyle Fazzari

on 1 February 2018

The second day of Snapcraft Summits tend to be particularly productive as all the participants get more familiar with each other, and this one is no exception. In addition to developers from CircleCI, Electron, Microsoft, Plex, and Slack, today saw the addition of our friends from ROSHub joining us to hack on their snaps.

Snapcraft recently (in v2.37) gained the ability to patch ELF files in classic snaps to have an rpath to load its libraries instead of relying on LD_LIBRARY_PATH. Some of the participants here ran into an issue with this new feature where they needed to set rpaths themselves, and Snapcraft overwrote whatever they did while patching. In a thrilling show of tactile force, Sergio Schvezov cranked out a fix for Snapcraft.

Snapcraft uses Click for its command-line interface. Click requires a locale to be set, and raises an ugly error if it’s not. Unfortunately, this is often the case in some of the environments that run snapcraft, e.g. CI systems that spin up a Docker container to build and push a snap. A few participants hit this, and it was pointed out to be a terrible experience, so Kyle Fazzari whipped up a feature that fell back to C.UTF-8 if it was available. It was reviewed and available in the edge channel before the room could blink.

In a similar vein, there were a number of issues discovered with the Snapcraft docker images, and Kyle devoted some time to making them shine with an eye toward rewriting the CircleCI tutorial to be much simpler.

There has been some interest in adding a Kotlin plugin to Snapcraft. We finally have the skills and experience together in the same room to make it happen, so Leo Arias devoted a good chunk of time to working on his first Kotlin snap: ktlint.

Leo also worked with James Henstridge to make a plan for integrating with Gnome Builder. The idea is to start with fairly basic integration to gauge interest before undertaking the more in-depth Snapcraft work required.

Ubuntu desktop

Learn how the Ubuntu desktop operating system powers millions of PCs and laptops around the world.

Newsletter signup

Select topics you’re
interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Related posts

A snap confined shell based on Mir: Mircade

Mircade: An example snap confined user shell There are various scenarios and reasons for packaging a Snap confined shell and a selection of applications...

A blast from the past – Shutter

The wheel of software turns, and apps come and go. But the end of development does not always mean the end of usefulness. Sometimes, programs stubbornly...

Split Personality Snaps

Broadly speaking, most snaps in the Snap Store fall into one of two categories, desktop applications and server daemons. The graphical applications such as...