Updates to snapd package on Arch

Can I check in on the first issue? I’ve installed 2.27.5 on arch from the package downloaded from the releases page; it seems to work tolerably (e.g. I successfully installed hello-world and the core snap, and ran the former), but despite creating the /snap => /var/lib/snapd/snap symlink, attempting to snap install --classic ldc2 still leaves me with the message:

error: cannot install "ldc2": classic confinement is not yet supported on your
       distribution

… so what are the status and possibilities here?

This change went in on cfd4177, which is not on 2.27.5 or .6. It should be on 2.28 which is due at early October per the roadmap.

2 Likes

Great to hear. Thanks very much to everyone :slight_smile:

The community repo package is a bit outdated. Meanwhile, how about publishing snapd-stable and snapd-git package to AUR instead?

By convention, *-git packages usually build the latest master. The *-stable would follow the releases. Once the community repo package situation clears up we could align build files of AUR *-stable and the official one.

3 Likes

According to my knowledge, there was a limitation in snapd which causes snap to not updated through core, i think 2.29 will fix that issue so its can be update through snap!

Edited: One more limitation is Nvidia Binary Driver. i think that isn’t solved yet.

A little progress report. I have 2 PRs related to Arch. One https://github.com/snapcore/snapd/pull/4119 is already merged. The other https://github.com/snapcore/snapd/pull/4135 carries updates to unit tests and minor fixes to account control. There are some problems with spread tests at the moment (namely tests/main/static) but I hope we’ll be able to figure out a reasonable solution soon.

4 Likes

I’ve opened another PR that updates Arch packaging: https://github.com/snapcore/snapd/pull/4174 This is what should end up in snapd-git AUR package. Note that https://github.com/snapcore/snapd/pull/4174 must get merged first as it contains required build fixes.

I’m happy to report that we’re almost there. The current master carries an updated PKGBUILD. Once the code is checked out, you can:

cd packaging/arch
makepkg --nocheck -i

This will build a snapd-git package and install it.

We are still short of these 2 PRs:

Once these are merged, it will be possible to drop --nocheck and the package will be ready for AUR.

Note, the updated package adds a symlink /snap -> /var/lib/snapd/snap so that --classic applications such as blender can work.

I’d be happy to hear about your results.

@Wimpress I wonder if there are news around Arch package issue. Is there anything we can do to improve the state of the community package? Can we start the unresponsive maintainer process now?

I’ve published snapd-git to AUR: https://aur.archlinux.org/packages/snapd-git. Use your favourite AUR frontend to grab the files and build.

Minor niptick, run-checks --unit errors are currently masked. This is temporary, only until https://github.com/snapcore/snapd/pull/4235 is resolved.

ArchWiki Snapd page has been updated as well.

2 Likes

What’s the real blockage, that don’t let snapd update through core on these distribution? I think app armor problem was solved? 2.29 solved it right?

There may be other problems but one particular issue is that snap-confine still has two build-time choices: the layout of the /snap directory and the mode in which nvidia is handled. Both can be fixed but nobody is looking at that. If someone’s interested please contact the snapd team and I will happily guide them on the process.

I’ve pushed some updates to snapd-git, the changes are:

  • add optional dependency on bash-completion
  • install snap(1) manpage
  • disable unit tests (no need to run those on end user machines)
  • pre create missing directories and set proper permission bits
  • install snapd info file (contains snapd version and revision)
  • use snap-mgmt for proper cleanup when uninstalling
1 Like

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.