Call for testing: snapcraft 2.39


#1

Hello community!

tldr: sudo snap install snapcraft --classic --candidate

The whole snapcraft team is together in Seattle. We are closing an amazing week of summit, with a lot of work done in collaboration with nice people from many companies and projects that are part of our ecosystem. You can read more about the summit in the insights blog.

To finish the summit we want to make a new snacraft release to stable. The version 2.39 includes many fixes and new features requested by our users. And this release is big because our latest stable release was 2.35, as we have been hard trying to resolve all the possilbe corner cases that our new way to handle elf files could cause.

So, we would love to get your help testing the release. If you have already installed snapcraft from stable, you can run:

sudo snap refresh snapcraft --candidate

And try rebuiding with it all your snaps.

Or, if it’s the first time you are coming to our community, run:

sudo snap install snapcraft --classic --candidate

Then read this tutorial to create your first snap, and try to make a new snap for a project of your own, or one you use and enjoy.

Here you will find a guide for testing the changes that we made in each version:

We will all be travelling to our homes during the weekend, but on Monday we will be back and eager to read about your experience, and any feedback you might have. Please leave it in a reply here.

If you have questions, leave a reply here too.

pura vida


#2

I just installed it and ran a snapcraft cleanbuild on my restic snap. Ran without issue.


#3

Ok, I pulled atom/ brave/ discord/ github-desktop/ mumble/ pulsemixer/atom/ brave/ discord/ github-desktop/ mumble/ pulsemixer/ from th erepos and did a local build. All is looking good so far. Will report if anything turns up.

Unrelated… pulseaudio is missing the grade in the yaml file.

EDIT - Pull request for adding the grade (minor). https://github.com/snapcrafters/pulsemixer/pull/2


#4

So I went back and read the results of the builds I did.

Atom, discord, github-desktop, and pulsemixer, I noted (likely expected)

  • Seems like they have some dependencies to get fixed up.
Files from the build host were migrated into the snap to satisfy dependencies that would otherwise not be met. This feature will be removed in a future release. If these libraries are needed in the final snap, ensure that the following are either satisfied by a stage-packages entry or through a part:
<truncated>

Each package had a list of dependencies, etc. I can list those out below.

For Mumble and Brave

  • all built without issue.

NOTE

I still need to go back an read up on the actual testing guide. I was just doing this on the side while I had other weekend things going on.

Dependency notes (for the few packages I was testing)

  • Atom
Files from the build host were migrated into the snap to satisfy dependencies that would otherwise not be met. This feature will be removed in a future release. If these libraries are needed in the final snap, ensure that the following are either satisfied by a stage-packages entry or through a part:
usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
usr/lib/x86_64-linux-gnu/librtmp.so.1
  • Discord
Files from the build host were migrated into the snap to satisfy dependencies that would otherwise not be met. This feature will be removed in a future release. If these libraries are needed in the final snap, ensure that the following are either satisfied by a stage-packages entry or through a part:
snap/core/current/usr/lib/x86_64-linux-gnu/libdb-5.3.so
  • github-desktop
Files from the build host were migrated into the snap to satisfy dependencies that would otherwise not be met. This feature will be removed in a future release. If these libraries are needed in the final snap, ensure that the following are either satisfied by a stage-packages entry or through a part:
snap/core/current/usr/lib/x86_64-linux-gnu/libdb-5.3.so
usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
usr/lib/x86_64-linux-gnu/librtmp.so.1
  • Pulsemixer
Files from the build host were migrated into the snap to satisfy dependencies that would otherwise not be met. This feature will be removed in a future release. If these libraries are needed in the final snap, ensure that the following are either satisfied by a stage-packages entry or through a part:
snap/core/current/usr/lib/x86_64-linux-gnu/libdb-5.3.so

Hope this is helpful in some way.


#5

It is very helpful, thanks!
It would be nice if you add those dependencies as stage packages, and try again to see if the warning disappears.


#6

I can likely do that today. And if it works, I’ll put in some pull requests on the repos.


#7

I’m working on a few of these. The snaps that use a monitor.sh - just waiting for some clarification on their update proceedure. (Version bumping snaps that have a monitor.sh)


#8

Hey, thanks for taking the time to run through all those snaps and the sharp eye on those warning messages :slight_smile:


#9

No worries! I do plan on picking through the rest that are in the repo. I’ll keep updating as I work through it. There’s already a pull request for pulse mixer.


#10

Hello again!

Since we returned from Seattle we have been fixing a few bugs that we found on the permissions while using container builds, and improving the efficiency and supporting some corner cases during the elf patching step. This is very exciting because we are almost ready for the next LTS release, that thanks to all our contributors will come with an amazing snapcraft version.

Right now, we need a lot of help to test the stable release update that will get snapcraft 2.39.2 into ubuntu 16.04.

If you would like to help but don’t know where to start, here I wrote the instructions:

I’m going to copy the guide for testing from the first post, for your convenience. The idea is mostly to explore building snaps, running commands, trying weird scenarios that we might have missed on automated testing, so in here you will find some ideas to try to break it:

Please let us know how it goes. And as usual, we welcome contributors with all kinds of experience. If you are new to the community and have a lot of questions, we will be happy to answer them. Just ask your question in a reply here.

Thanks a lot to everybody who have tested so far, and specially to @bashfulrobot for reporting his results! Our stats show that we are building a very big community of users helping us to test often from the edge, beta and candidate snaps <3


#11

I’ve run into two issues so far with snapcraft 2.39, first with the snap, and second with the latest 2.39.2 package in xenial-proposed.

The first issue is described in this post.

The second is an issue I was surprised to hit again, as it causes issues with large uploads, is a one-liner, with a patch attached to the bug:

https://bugs.launchpad.net/snapcraft/+bug/1720369


#12

I’ll see if I get a few rebuilds going on in the next few days. I’m a little indisposed today and tomorrow though.