Updates to snapd package on Arch


#24

@zyga This is still marked as upcoming. Reading above isn’t clear what the upcoming work is.


#25

I just removed the upcoming marker. The arch package can be obtained from our releases page. Unfortunately the maintainer is not responding and we have little room to move right now. I’d like to split this off into a separate topic that involves:

  • updating installation instructions
  • working with the Arch community on a solution to inactive maintainer

#26

As Snapd 2.27.5 release in stable can you update the pkg

Thanks in advance, it would be great if you somehow make it to update using core!! so you don’t have to update the package again and again!!


#27

Ah, sorry, I prepared .5 but somehow didn’t upload it. I will make that happen soon. ^H^H^H it is uploaded on the release page now.

As for your other question, that has some roadblocks still (/snap vs /var/lib/snapd/snap, nvidia handling in snap-confine, apparmor support). Out of that three apparmor support will soon be generalized (definitely in 2.29) so only the two will remain. The work on layouts may help in nvidia support. In addition someone may start a proper nvidia support initiative that would remove the biggest blocker but I haven’t heard anything about it.


#28

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?


#29

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.


#30

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


#31

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.


#32

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.


#33

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.


Brave (and other apps) don't launch on Arch
#34

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.


#35

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.


Snap on Arch/Liri OS
#36

@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?


#37

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.


#38

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?


#39

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.


#40

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

#41

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


#42

@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:


#43

@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?