Updates to snapd package on Arch

Ah ok, i was just having an update, it didn’t updated automatically. it only update when i refresh snap

Edited: I am not sure but its written on Arch Wiki

Configuration

The package ships several systemd unit files, which manage several tasks like automatically refreshing all installed snaps once a new version is released.
To launch the snapd daemon when snap tries to use it, start the snapd.socket and/or enable it to have it started at boot.
To start the timer which periodically refreshes snaps when a new version is pushed to the store use:

systemctl start snapd.refresh.timer

Thre is a schedule involved … see:

and:

OK. I guess you are right :smiley:

2 Likes

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

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

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!!

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.

1 Like

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