Updates to snapd package on Arch

I’ve asked around in arch-general mailing list and got a status update:

  • snapd is an orphaned package in [community] repo at the moment, no maintainer means no updates
  • the initial packager has retired from being a TU
  • there’s a motion to drop orphan packages, this is likely to happen sometime January
  • see [1] for details
  • for comparison, flatpak is rather actively maintained

Unless some Dev/TU volunteers to keep snapd in the repos, it will end up being moved to AUR. The upside is that at this point we’ll be able to update the package. The downside is though, the users will have a harder time installing snapd.

I believe we can partially mitigate the installation woes with a nice and clean documentation at snapcraft.io. If using AUR helpers the installation step is rather trivial (eg. pacaur -Suy snapd-git). Without the helpers, it’s not much more complicated either (download installation sources, extract, run makepkg -si).

[1] https://lists.archlinux.org/pipermail/arch-general/2017-December/044547.html

1 Like

@mborzecki I read your topic on arch-general last night. I used to be an Arch Linux TU. I have to tell you that, it is the Arch way :wink:

Allan McRae has advocated for getting more TUs into the project that maintain few packages in the past. If you’re interested, I’d suggest you apply to become a TU. For that you will need to be sponsored by an existing TU. I can help recommend someone if you want to pursue this.

Many Arch users are installing Arch via Antergos these days and many more have switched to Manjaro. Antergos have a small repository carrying some packages specific to their needs while Manjaro have their own repositories. We’ve had good engagement from @philm at Manjaro in the past and Antergos showed some interest. Perhaps working with Manjaro and Antergos would help bring snapd to a large “Arch Linux” user base?

Let me know you thoughts, I can help with introductions :slight_smile:

2 Likes

@mborzecki If you’re going to be doing the work anyway (which you’ve been so far), and given that you are a daily user of Arch, perhaps becoming a TU is the smoothest approach.

If that turns out to be more trouble than it’s worth given the apparent unjustified negativity in the comments in that thread, perhaps the time would be better spent in a positive relationship with Majaro (maybe with you moving there personally as well?) and drop the package in AUR for those interested.

@philm Do you have any other suggestions here?

I’ve just update snapd-git package on our end in unstable to version v2.30dev+171219+g5f5180e. snapd itself is still at v2.27.6. I’ve to see when I might update it.

@mborzecki has a different PKGBUILD and install method. I’ve to check if it is good to adopt his changes made to the scripts. On first glance they look good.

1 Like

I’ve pushed a small fix for Arch packaging:

I try to keep the snapd-git AUR package in sync with the packaging in snapd repo. There’s also ongoing work to make Arch part of CI. This should make life a bit easier for Arch like distros.

Nice Work @mborzecki, but there are still some limitation, i can’t update snapd version using different core channel, for example i wanna try 2.30 on arch linux, i can’t :frowning_face:

Not understanding what you are trying to achieve. You can install @mborzecki 's package from the AUR, it is called snapd-git to get 2.30. Understandably it builds from the master and not a release.

The way snapd is meant to be update is by updating core. But in this case we have to build snapd from git.

FYI, the snapd package has been moved from community to AUR and is now avaialble here: https://aur.archlinux.org/packages/snapd. The package was adopted by @Aimilius (thanks!) and got updated to 2.30 release.

3 Likes

As a results of a review from one of the Arch TUs, the snapd AUR package was updated with the following changes (thanks to Emiel for doing the work!):

  • /var/lib/snapd/snap -> /snap symlink was dropped
  • snapd.socket is no longer restarted in post_upgrade (socket activation of snapd will likely no longer work right after upgrading, user has to restart the socket themselves)

The snapd ArchWiki page was also updated with notes on classic snaps.

I’ve synced snapd-git, so the changes are in both packages now.

1 Like

This makes the skype classic package fail to launch because of the missing symlink.

We are aware of this. The change was requested by one of Arch devs. Attempting to run a classic snap you should get a message with instructions on how to get it working. Also, there is a note in the wiki page https://wiki.archlinux.org/index.php/Snapd#Classic_snaps

Thanks I didn’t know that. But it would be nice if the application didn’t suddenly stop working after a packaging change. Maybe a post-install message in snapd might be good.

According to my knowledge, snapd is meant to update by updating core?
But this isn’t the case with Arch Linux.
For any change in git, have to rebuild it from AUR.

What are the limitation so far?

Snapd and core are different things. You update snapd from AUR and update core from snap: snap refresh core

1 Like

There are still some compile time decisions made. When they are gradually removed each distribution can choose to opt-into the refreshing of snapd directly from a snap.

Oh, and let me just say that @mborzecki’s work just today made it much easier to allow Arch to do this :slight_smile:

1 Like

AUR snapd updated to 2.32 release.

1 Like

@mborzecki Why snapd can’t update itself by updating core?
what are the limitations?
on Arch Linux

As @zyga-snapd mentioned there is still some code that requires compile time configuration. While the pieces in Go rely on run time detection, snap-confine is in C and is currently and relies on various configure switches. There are some ideas about reducing this configuration, but it will obviously take some work and time to get it done.

1 Like