Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
packaging/arch: pre-create snapd directories when packaging #4296
Conversation
| + install -d -m 755 "$pkgdir/var/lib/snapd/mount" | ||
| + install -d -m 755 "$pkgdir/var/lib/snapd/seccomp/bpf" | ||
| + install -d -m 755 "$pkgdir/var/lib/snapd/snap/bin" | ||
| + install -d -m 755 "$pkgdir/var/lib/snapd/snaps" |
stolowski
Nov 24, 2017
Contributor
This list is not complete, e.g. /var/lib/snapd/cache, /var/lib/snapd/cookie, /var/lib/snapd/firstboot are missing - I'm not sure how important it is for the list to be complete here. Note that some of these dirs have more strict permissions.
bboozzoo
Nov 27, 2017
Contributor
Some confusion here, need advice. The list in here: https://github.com/snapcore/snapd/blob/master/packaging/ubuntu-16.04/snapd.dirs is slightly different from https://github.com/snapcore/snapd/blob/master/packaging/opensuse-42.2/snapd.spec#L268 and https://github.com/snapcore/snapd/blob/master/packaging/fedora/snapd.spec#L602.
I've captured this in a list:
snap # classic snaps
var/cache/snapd # all
usr/lib/snapd # all
var/lib/snapd/apparmor/snap-confine # apparmor only
var/lib/snapd/auto-import # only ubuntu?
var/lib/snapd/desktop # all?
var/lib/snapd/environment # only ubuntu?
var/lib/snapd/firstboot # only ubuntu?
var/lib/snapd/lib/gl # all?
var/lib/snapd/snaps/partial # all?
var/lib/snapd/void # all, perms 000
var/snap # global data, all?
# fedora
%dir %{_sharedstatedir}/snapd
%dir %{_sharedstatedir}/snapd/assertions
%dir %{_sharedstatedir}/snapd/desktop
%dir %{_sharedstatedir}/snapd/desktop/applications
%dir %{_sharedstatedir}/snapd/device
%dir %{_sharedstatedir}/snapd/hostfs
%dir %{_sharedstatedir}/snapd/mount
%dir %{_sharedstatedir}/snapd/seccomp
%dir %{_sharedstatedir}/snapd/seccomp/bpf
%dir %{_sharedstatedir}/snapd/snaps
%dir %{_sharedstatedir}/snapd/snap
%ghost %dir %{_sharedstatedir}/snapd/snap/bin
%dir %{_localstatedir}/cache/snapd
%dir %{_localstatedir}/snap
%attr(0000,root,root) %{_sharedstatedir}/snapd/void
# missing (all?)
# - /var/lib/snapd/lib/gl?
# openSUSE
%dir %attr(0000,root,root) /var/lib/snapd/void
%dir /snap
%dir /snap/bin
%dir %{_libexecdir}/snapd
%dir /var/lib/snapd
%dir /var/lib/snapd/apparmor
%dir /var/lib/snapd/apparmor/profiles
%dir /var/lib/snapd/apparmor/snap-confine
%dir /var/lib/snapd/assertions
%dir /var/lib/snapd/desktop
%dir /var/lib/snapd/desktop/applications
%dir /var/lib/snapd/device
%dir /var/lib/snapd/hostfs
%dir /var/lib/snapd/mount
%dir /var/lib/snapd/seccomp
%dir /var/lib/snapd/seccomp/bpf
%dir /var/lib/snapd/snaps
%dir /var/cache/snapd
# missing (all?)
# - /var/snap?
# - /var/lib/snapd/lib/gl?
codecov-io
commented
Nov 24, 2017
•
Codecov Report
@@ Coverage Diff @@
## master #4296 +/- ##
==========================================
- Coverage 76.19% 76.18% -0.01%
==========================================
Files 443 443
Lines 38599 38599
==========================================
- Hits 29409 29407 -2
- Misses 7172 7174 +2
Partials 2018 2018
Continue to review full report at Codecov.
|
| + install -d -m 755 "$pkgdir/var/lib/snapd/mount" | ||
| + install -d -m 755 "$pkgdir/var/lib/snapd/seccomp/bpf" | ||
| + install -d -m 755 "$pkgdir/var/lib/snapd/snap/bin" | ||
| + install -d -m 755 "$pkgdir/var/lib/snapd/snaps" |
stolowski
Nov 24, 2017
Contributor
This list is not complete, e.g. /var/lib/snapd/cache, /var/lib/snapd/cookie, /var/lib/snapd/firstboot are missing - I'm not sure how important it is for the list to be complete here. Note that some of these dirs have more strict permissions.
bboozzoo
Nov 27, 2017
Contributor
Some confusion here, need advice. The list in here: https://github.com/snapcore/snapd/blob/master/packaging/ubuntu-16.04/snapd.dirs is slightly different from https://github.com/snapcore/snapd/blob/master/packaging/opensuse-42.2/snapd.spec#L268 and https://github.com/snapcore/snapd/blob/master/packaging/fedora/snapd.spec#L602.
I've captured this in a list:
snap # classic snaps
var/cache/snapd # all
usr/lib/snapd # all
var/lib/snapd/apparmor/snap-confine # apparmor only
var/lib/snapd/auto-import # only ubuntu?
var/lib/snapd/desktop # all?
var/lib/snapd/environment # only ubuntu?
var/lib/snapd/firstboot # only ubuntu?
var/lib/snapd/lib/gl # all?
var/lib/snapd/snaps/partial # all?
var/lib/snapd/void # all, perms 000
var/snap # global data, all?
# fedora
%dir %{_sharedstatedir}/snapd
%dir %{_sharedstatedir}/snapd/assertions
%dir %{_sharedstatedir}/snapd/desktop
%dir %{_sharedstatedir}/snapd/desktop/applications
%dir %{_sharedstatedir}/snapd/device
%dir %{_sharedstatedir}/snapd/hostfs
%dir %{_sharedstatedir}/snapd/mount
%dir %{_sharedstatedir}/snapd/seccomp
%dir %{_sharedstatedir}/snapd/seccomp/bpf
%dir %{_sharedstatedir}/snapd/snaps
%dir %{_sharedstatedir}/snapd/snap
%ghost %dir %{_sharedstatedir}/snapd/snap/bin
%dir %{_localstatedir}/cache/snapd
%dir %{_localstatedir}/snap
%attr(0000,root,root) %{_sharedstatedir}/snapd/void
# missing (all?)
# - /var/lib/snapd/lib/gl?
# openSUSE
%dir %attr(0000,root,root) /var/lib/snapd/void
%dir /snap
%dir /snap/bin
%dir %{_libexecdir}/snapd
%dir /var/lib/snapd
%dir /var/lib/snapd/apparmor
%dir /var/lib/snapd/apparmor/profiles
%dir /var/lib/snapd/apparmor/snap-confine
%dir /var/lib/snapd/assertions
%dir /var/lib/snapd/desktop
%dir /var/lib/snapd/desktop/applications
%dir /var/lib/snapd/device
%dir /var/lib/snapd/hostfs
%dir /var/lib/snapd/mount
%dir /var/lib/snapd/seccomp
%dir /var/lib/snapd/seccomp/bpf
%dir /var/lib/snapd/snaps
%dir /var/cache/snapd
# missing (all?)
# - /var/snap?
# - /var/lib/snapd/lib/gl?
mvo5
merged commit bfe93bc
into
snapcore:master
Nov 24, 2017
1 check passed
|
I merged this now as it improves things, but please @bboozzoo see the comment from @stolowski about that some more dirs should be added. |
bboozzoo commentedNov 24, 2017
Although snapd will create these directories at runtime it's more convenient to create them during packaging. Especially when some tests may assume that some of these already exist.
Also, it's now possible to do
pacman -Qo /var/cache/snapdand getsnapdin the output.