bfc63f
# With Fedora, nothing is bundled. For everything else, bundling is used.
bfc63f
# To use bundled stuff, use "--with vendorized" on rpmbuild
bfc63f
%if 0%{?fedora}
bfc63f
%bcond_with vendorized
bfc63f
%else
bfc63f
%bcond_without vendorized
bfc63f
%endif
bfc63f
635e88
# A switch to allow building the package with support for testkeys which
635e88
# are used for the spread test suite of snapd.
635e88
%bcond_with testkeys
635e88
c7cced
%global with_devel 1
c7cced
%global with_debug 1
c7cced
%global with_check 0
c7cced
%global with_unit_test 0
635e88
%global with_test_keys 0
bfc63f
71bd7e
# For the moment, we don't support all golang arches...
71bd7e
%global with_goarches 0
71bd7e
14ee87
# Set if multilib is enabled for supported arches
14ee87
%ifarch x86_64 aarch64 %{power64} s390x
14ee87
%global with_multilib 1
14ee87
%endif
14ee87
bfc63f
%if ! %{with vendorized}
c7cced
%global with_bundled 0
bfc63f
%else
bfc63f
%global with_bundled 1
c7cced
%endif
c7cced
635e88
%if ! %{with testkeys}
635e88
%global with_test_keys 0
635e88
%else
635e88
%global with_test_keys 1
635e88
%endif
635e88
c7cced
%if 0%{?with_debug}
c7cced
%global _dwz_low_mem_die_limit 0
c7cced
%else
c7cced
%global debug_package   %{nil}
c7cced
%endif
c7cced
c7cced
%global provider        github
c7cced
%global provider_tld    com
c7cced
%global project         snapcore
c7cced
%global repo            snapd
c7cced
# https://github.com/snapcore/snapd
c7cced
%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
c7cced
%global import_path     %{provider_prefix}
c7cced
e08186
%global snappy_svcs     snapd.service snapd.socket snapd.autoimport.service snapd.seeded.service
c7cced
fce9db
# Until we have a way to add more extldflags to gobuild macro...
efcdbc
%if 0%{?fedora}
fce9db
%define gobuild_static(o:) go build -buildmode pie -compiler gc -tags=rpm_crashtraceback -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags -static'" -a -v -x %{?**};
97458d
%endif
97458d
%if 0%{?rhel} == 7
97458d
%define gobuild_static(o:) go build -compiler gc -tags=rpm_crashtraceback -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags -static'" -a -v -x %{?**};
97458d
%endif
97458d
97458d
# These macros are not defined in RHEL 7
97458d
%if 0%{?rhel} == 7
97458d
%define gobuild(o:) go build -compiler gc -tags=rpm_crashtraceback -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v -x %{?**};
97458d
%define gotest() go test -compiler gc -ldflags "${LDFLAGS:-}" %{?**};
97458d
%endif
fce9db
adafd3
# Avoid causing incompatibilities among base snaps
adafd3
%global __brp_mangle_shebangs_exclude ^/bin/(bash|sh)$
adafd3
db7fe7
# Compat path macros
e2755c
%{!?_environmentdir: %global _environmentdir %{_prefix}/lib/environment.d}
db7fe7
%{!?_systemdgeneratordir: %global _systemdgeneratordir %{_prefix}/lib/systemd/system-generators}
971dc1
%{!?_systemd_system_env_generator_dir: %global _systemd_system_env_generator_dir %{_prefix}/lib/systemd/system-environment-generators}
db7fe7
c7cced
Name:           snapd
8c0ec8
Version:        2.39.2
8aec79
Release:        2%{?dist}
c7cced
Summary:        A transactional software package manager
c7cced
License:        GPLv3
c7cced
URL:            https://%{provider_prefix}
136104
Source0:        https://%{provider_prefix}/releases/download/%{version}/%{name}_%{version}.no-vendor.tar.xz
98b119
Source1:        https://%{provider_prefix}/releases/download/%{version}/%{name}_%{version}.only-vendor.tar.xz
aa64e8
9be007
# Upstream proposed PR: https://github.com/snapcore/snapd/pull/3162
9be007
Patch0001:      0001-cmd-use-libtool-for-the-internal-library.patch
4a6082
e064e8
# Backports from upstream
02e07e
## Fix issues running hooks and services from snaps with bases and classic snaps
02e07e
## From: https://github.com/snapcore/snapd/commit/9a3286edb0b0a6391f7329d64be1e3f7d1e886ce
02e07e
Patch0102:      0001-data-selinux-allow-running-hooks-and-services-from-c.patch
02e07e
## Bump SELinux policy version
02e07e
## From: https://github.com/snapcore/snapd/commit/e690755f23dd4ac17df7160a20819a3194cbdd34
02e07e
Patch0103:      0001-data-selinux-bump-SELinux-policy-module-version.patch
e064e8
71bd7e
%if 0%{?with_goarches}
c7cced
# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required
c7cced
ExclusiveArch:  %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
71bd7e
%else
71bd7e
# Verified arches from snapd upstream
71bd7e
ExclusiveArch:  %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
71bd7e
%endif
71bd7e
c7cced
# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
136104
BuildRequires:  %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang >= 1.9}
c7cced
BuildRequires:  systemd
c7cced
%{?systemd_requires}
71bd7e
bfc63f
Requires:       snap-confine%{?_isa} = %{version}-%{release}
c7cced
Requires:       squashfs-tools
47a18f
136104
%if 0%{?rhel} && 0%{?rhel} < 8
47a18f
# Rich dependencies not available, always pull in squashfuse
47a18f
# snapd will use squashfs.ko instead of squashfuse if it's on the system
4410c7
Requires:       squashfuse
4410c7
Requires:       fuse
136104
%else
136104
# snapd will use squashfuse in the event that squashfs.ko isn't available (cloud instances, containers, etc.)
136104
Requires:       ((squashfuse and fuse) or kmod(squashfs.ko))
47a18f
%endif
4410c7
9be007
# bash-completion owns /usr/share/bash-completion/completions
9be007
Requires:       bash-completion
c7cced
c7cced
# Force the SELinux module to be installed
c7cced
Requires:       %{name}-selinux = %{version}-%{release}
c7cced
09d1f7
%if 0%{?fedora} && 0%{?fedora} < 30
09d1f7
# snapd-login-service is no more
09d1f7
# Note: Remove when F29 is EOL
09d1f7
Obsoletes:      %{name}-login-service < 1.33
09d1f7
Provides:       %{name}-login-service = 1.33
09d1f7
Provides:       %{name}-login-service%{?_isa} = 1.33
09d1f7
%endif
09d1f7
c7cced
%if ! 0%{?with_bundled}
14ee87
BuildRequires: golang(github.com/boltdb/bolt)
c7cced
BuildRequires: golang(github.com/cheggaaa/pb)
c7cced
BuildRequires: golang(github.com/coreos/go-systemd/activation)
4761d9
BuildRequires: golang(github.com/godbus/dbus)
4761d9
BuildRequires: golang(github.com/godbus/dbus/introspect)
c7cced
BuildRequires: golang(github.com/gorilla/mux)
c7cced
BuildRequires: golang(github.com/jessevdk/go-flags)
e2755c
BuildRequires: golang(github.com/juju/ratelimit)
e2755c
BuildRequires: golang(github.com/kr/pretty)
e2755c
BuildRequires: golang(github.com/kr/text)
14ee87
BuildRequires: golang(github.com/mvo5/goconfigparser)
bfc63f
BuildRequires: golang(github.com/ojii/gettext.go)
635e88
BuildRequires: golang(github.com/seccomp/libseccomp-golang)
bfc63f
BuildRequires: golang(golang.org/x/crypto/openpgp/armor)
bfc63f
BuildRequires: golang(golang.org/x/crypto/openpgp/packet)
bfc63f
BuildRequires: golang(golang.org/x/crypto/sha3)
c7cced
BuildRequires: golang(golang.org/x/crypto/ssh/terminal)
c7cced
BuildRequires: golang(gopkg.in/check.v1)
bfc63f
BuildRequires: golang(gopkg.in/macaroon.v1)
459d75
BuildRequires: golang(gopkg.in/mgo.v2/bson)
bfc63f
BuildRequires: golang(gopkg.in/retry.v1)
c7cced
BuildRequires: golang(gopkg.in/tomb.v2)
c7cced
BuildRequires: golang(gopkg.in/yaml.v2)
c7cced
%endif
c7cced
c7cced
%description
f4c706
Snappy is a modern, cross-distribution, transactional package manager
f4c706
designed for working with self-contained, immutable packages.
c7cced
bfc63f
%package -n snap-confine
bfc63f
Summary:        Confinement system for snap applications
bfc63f
License:        GPLv3
bfc63f
BuildRequires:  autoconf
bfc63f
BuildRequires:  automake
bfc63f
BuildRequires:  libtool
bfc63f
BuildRequires:  gcc
90c912
BuildRequires:  gettext
90c912
BuildRequires:  gnupg
bfc63f
BuildRequires:  indent
bfc63f
BuildRequires:  pkgconfig(glib-2.0)
bfc63f
BuildRequires:  pkgconfig(libcap)
bfc63f
BuildRequires:  pkgconfig(libseccomp)
332180
BuildRequires:  pkgconfig(libselinux)
bfc63f
BuildRequires:  pkgconfig(libudev)
bfc63f
BuildRequires:  pkgconfig(systemd)
bfc63f
BuildRequires:  pkgconfig(udev)
bfc63f
BuildRequires:  xfsprogs-devel
bfc63f
BuildRequires:  glibc-static
97458d
%if ! 0%{?rhel}
635e88
BuildRequires:  libseccomp-static
97458d
%endif
bfc63f
BuildRequires:  valgrind
bfc63f
BuildRequires:  %{_bindir}/rst2man
efcdbc
%if 0%{?fedora}
efcdbc
# ShellCheck in EPEL is too old...
bfc63f
BuildRequires:  %{_bindir}/shellcheck
c10d36
%endif
bfc63f
bfc63f
# Ensures older version from split packaging is replaced
bfc63f
Obsoletes:      snap-confine < 2.19
bfc63f
bfc63f
%description -n snap-confine
f4c706
This package is used internally by snapd to apply confinement to
f4c706
the started snap applications.
bfc63f
c7cced
%package selinux
c7cced
Summary:        SELinux module for snapd
c7cced
License:        GPLv2+
c7cced
BuildArch:      noarch
c7cced
BuildRequires:  selinux-policy, selinux-policy-devel
c7cced
Requires(post): selinux-policy-base >= %{_selinux_policy_version}
c7cced
Requires(post): policycoreutils
c3f256
%if 0%{?rhel} == 7
c3f256
Requires(post): policycoreutils-python
c3f256
%else
c7cced
Requires(post): policycoreutils-python-utils
c3f256
%endif
c7cced
Requires(pre):  libselinux-utils
c7cced
Requires(post): libselinux-utils
c7cced
c7cced
%description selinux
f4c706
This package provides the SELinux policy module to ensure snapd
f4c706
runs properly under an environment with SELinux enabled.
c7cced
c7cced
c7cced
%if 0%{?with_devel}
c7cced
%package devel
db7fe7
Summary:       Development files for %{name}
c7cced
BuildArch:     noarch
c7cced
c7cced
%if 0%{?with_check} && ! 0%{?with_bundled}
c7cced
%endif
c7cced
bfc63f
%if ! 0%{?with_bundled}
d23c10
Requires:      golang(github.com/boltdb/bolt)
bfc63f
Requires:      golang(github.com/cheggaaa/pb)
bfc63f
Requires:      golang(github.com/coreos/go-systemd/activation)
4761d9
Requires:      golang(github.com/godbus/dbus)
4761d9
Requires:      golang(github.com/godbus/dbus/introspect)
bfc63f
Requires:      golang(github.com/gorilla/mux)
bfc63f
Requires:      golang(github.com/jessevdk/go-flags)
e2755c
Requires:      golang(github.com/juju/ratelimit)
e2755c
Requires:      golang(github.com/kr/pretty)
e2755c
Requires:      golang(github.com/kr/text)
d23c10
Requires:      golang(github.com/mvo5/goconfigparser)
bfc63f
Requires:      golang(github.com/ojii/gettext.go)
635e88
Requires:      golang(github.com/seccomp/libseccomp-golang)
bfc63f
Requires:      golang(golang.org/x/crypto/openpgp/armor)
bfc63f
Requires:      golang(golang.org/x/crypto/openpgp/packet)
bfc63f
Requires:      golang(golang.org/x/crypto/sha3)
bfc63f
Requires:      golang(golang.org/x/crypto/ssh/terminal)
bfc63f
Requires:      golang(gopkg.in/check.v1)
bfc63f
Requires:      golang(gopkg.in/macaroon.v1)
459d75
Requires:      golang(gopkg.in/mgo.v2/bson)
bfc63f
Requires:      golang(gopkg.in/retry.v1)
bfc63f
Requires:      golang(gopkg.in/tomb.v2)
bfc63f
Requires:      golang(gopkg.in/yaml.v2)
bfc63f
%else
bfc63f
# These Provides are unversioned because the sources in
bfc63f
# the bundled tarball are unversioned (they go by git commit)
bfc63f
# *sigh*... I hate golang...
d23c10
Provides:      bundled(golang(github.com/snapcore/bolt))
bfc63f
Provides:      bundled(golang(github.com/cheggaaa/pb))
bfc63f
Provides:      bundled(golang(github.com/coreos/go-systemd/activation))
4761d9
Provides:      bundled(golang(github.com/godbus/dbus))
4761d9
Provides:      bundled(golang(github.com/godbus/dbus/introspect))
bfc63f
Provides:      bundled(golang(github.com/gorilla/mux))
bfc63f
Provides:      bundled(golang(github.com/jessevdk/go-flags))
e2755c
Provides:      bundled(golang(github.com/juju/ratelimit))
e2755c
Provides:      bundled(golang(github.com/kr/pretty))
e2755c
Provides:      bundled(golang(github.com/kr/text))
14ee87
Provides:      bundled(golang(github.com/mvo5/goconfigparser))
635e88
Provides:      bundled(golang(github.com/mvo5/libseccomp-golang))
bfc63f
Provides:      bundled(golang(github.com/ojii/gettext.go))
bfc63f
Provides:      bundled(golang(golang.org/x/crypto/openpgp/armor))
bfc63f
Provides:      bundled(golang(golang.org/x/crypto/openpgp/packet))
bfc63f
Provides:      bundled(golang(golang.org/x/crypto/sha3))
bfc63f
Provides:      bundled(golang(golang.org/x/crypto/ssh/terminal))
bfc63f
Provides:      bundled(golang(gopkg.in/check.v1))
bfc63f
Provides:      bundled(golang(gopkg.in/macaroon.v1))
bfc63f
Provides:      bundled(golang(gopkg.in/mgo.v2/bson))
bfc63f
Provides:      bundled(golang(gopkg.in/retry.v1))
bfc63f
Provides:      bundled(golang(gopkg.in/tomb.v2))
bfc63f
Provides:      bundled(golang(gopkg.in/yaml.v2))
bfc63f
%endif
bfc63f
bfc63f
# Generated by gofed
14ee87
Provides:      golang(%{import_path}/advisor) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/arch) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/asserts) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/asserts/assertstest) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/asserts/signtool) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/asserts/snapasserts) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/asserts/sysdb) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/asserts/systestkeys) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/boot) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/boot/boottest) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/bootloader) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/bootloader/androidbootenv) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/bootloader/grubenv) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/bootloader/ubootenv) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/client) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/cmd) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/cmd/cmdutil) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/cmd/snap-seccomp/syscalls) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/cmd/snaplock) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/daemon) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/dirs) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/errtracker) = %{version}-%{release}
971dc1
Provides:      golang(%{import_path}/features) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/gadget) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/httputil) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/i18n) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/image) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/interfaces) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/interfaces/apparmor) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/interfaces/backends) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/interfaces/builtin) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/interfaces/dbus) = %{version}-%{release}
db7fe7
Provides:      golang(%{import_path}/interfaces/hotplug) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/interfaces/ifacetest) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/interfaces/kmod) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/interfaces/mount) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/interfaces/policy) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/interfaces/seccomp) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/interfaces/systemd) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/interfaces/udev) = %{version}-%{release}
db7fe7
Provides:      golang(%{import_path}/interfaces/utils) = %{version}-%{release}
4410c7
Provides:      golang(%{import_path}/jsonutil) = %{version}-%{release}
e08186
Provides:      golang(%{import_path}/jsonutil/safejson) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/logger) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/metautil) = %{version}-%{release}
e08186
Provides:      golang(%{import_path}/netutil) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/osutil) = %{version}-%{release}
e08186
Provides:      golang(%{import_path}/osutil/squashfs) = %{version}-%{release}
971dc1
Provides:      golang(%{import_path}/osutil/strace) = %{version}-%{release}
14ee87
Provides:      golang(%{import_path}/osutil/sys) = %{version}-%{release}
db7fe7
Provides:      golang(%{import_path}/osutil/udev/crawler) = %{version}-%{release}
db7fe7
Provides:      golang(%{import_path}/osutil/udev/netlink) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/assertstate) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/auth) = %{version}-%{release}
60268c
Provides:      golang(%{import_path}/overlord/cmdstate) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/configstate) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/configstate/config) = %{version}-%{release}
14ee87
Provides:      golang(%{import_path}/overlord/configstate/configcore) = %{version}-%{release}
e2755c
Provides:      golang(%{import_path}/overlord/configstate/proxyconf) = %{version}-%{release}
e08186
Provides:      golang(%{import_path}/overlord/configstate/settings) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/devicestate) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/overlord/devicestate/devicestatetest) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/hookstate) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/hookstate/ctlcmd) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/hookstate/hooktest) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/ifacestate) = %{version}-%{release}
14ee87
Provides:      golang(%{import_path}/overlord/ifacestate/ifacerepo) = %{version}-%{release}
e2755c
Provides:      golang(%{import_path}/overlord/ifacestate/udevmonitor) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/patch) = %{version}-%{release}
98b119
Provides:      golang(%{import_path}/overlord/servicestate) = %{version}-%{release}
e2755c
Provides:      golang(%{import_path}/overlord/snapshotstate) = %{version}-%{release}
e08186
Provides:      golang(%{import_path}/overlord/snapshotstate/backend) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/snapstate) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/snapstate/backend) = %{version}-%{release}
e2755c
Provides:      golang(%{import_path}/overlord/standby) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/overlord/state) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/overlord/storecontext) = %{version}-%{release}
4410c7
Provides:      golang(%{import_path}/polkit) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/progress) = %{version}-%{release}
98b119
Provides:      golang(%{import_path}/progress/progresstest) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/release) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/sandbox/seccomp) = %{version}-%{release}
e2755c
Provides:      golang(%{import_path}/sanity) = %{version}-%{release}
971dc1
Provides:      golang(%{import_path}/selinux) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/snap) = %{version}-%{release}
136104
Provides:      golang(%{import_path}/snap/naming) = %{version}-%{release}
98b119
Provides:      golang(%{import_path}/snap/pack) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/snap/snapdir) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/snap/snapenv) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/snap/snaptest) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/snap/squashfs) = %{version}-%{release}
4410c7
Provides:      golang(%{import_path}/spdx) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/store) = %{version}-%{release}
4410c7
Provides:      golang(%{import_path}/store/storetest) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/strutil) = %{version}-%{release}
14ee87
Provides:      golang(%{import_path}/strutil/quantity) = %{version}-%{release}
215934
Provides:      golang(%{import_path}/strutil/shlex) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/systemd) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/tests/lib/fakestore/refresh) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/tests/lib/fakestore/store) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/testutil) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/timeout) = %{version}-%{release}
60268c
Provides:      golang(%{import_path}/timeutil) = %{version}-%{release}
332180
Provides:      golang(%{import_path}/timings) = %{version}-%{release}
4410c7
Provides:      golang(%{import_path}/userd) = %{version}-%{release}
14ee87
Provides:      golang(%{import_path}/userd/ui) = %{version}-%{release}
bfc63f
Provides:      golang(%{import_path}/wrappers) = %{version}-%{release}
60268c
Provides:      golang(%{import_path}/x11) = %{version}-%{release}
215934
Provides:      golang(%{import_path}/xdgopenproxy) = %{version}-%{release}
bfc63f
c7cced
%description devel
c7cced
This package contains library source intended for
c7cced
building other packages which use import path with
c7cced
%{import_path} prefix.
c7cced
%endif
c7cced
c7cced
%if 0%{?with_unit_test} && 0%{?with_devel}
c7cced
%package unit-test-devel
c7cced
Summary:         Unit tests for %{name} package
bfc63f
c7cced
%if 0%{?with_check}
c7cced
#Here comes all BuildRequires: PACKAGE the unit tests
c7cced
#in %%check section need for running
c7cced
%endif
c7cced
c7cced
# test subpackage tests code from devel subpackage
c7cced
Requires:        %{name}-devel = %{version}-%{release}
c7cced
c7cced
%description unit-test-devel
c7cced
This package contains unit tests for project
c7cced
providing packages with %{import_path} prefix.
c7cced
%endif
c7cced
c7cced
%prep
98b119
%if ! 0%{?with_bundled}
98b119
%setup -q
98b119
%else
98b119
# Extract each tarball properly
98b119
%setup -q -D -b 1
98b119
%endif
98b119
# Apply patches
98b119
%autopatch -p1
aa64e8
c7cced
c7cced
%build
bfc63f
# Generate version files
bfc63f
./mkversion.sh "%{version}-%{release}"
c7cced
e08186
# We don't want/need squashfuse in the rpm, as it's available in Fedora and EPEL
e08186
sed -e 's:_ "github.com/snapcore/squashfuse"::g' -i systemd/systemd.go
e08186
c7cced
# Build snapd
c7cced
mkdir -p src/github.com/snapcore
c7cced
ln -s ../../../ src/github.com/snapcore/snapd
c7cced
c7cced
%if ! 0%{?with_bundled}
c7cced
export GOPATH=$(pwd):%{gopath}
c7cced
%else
c7cced
export GOPATH=$(pwd):$(pwd)/Godeps/_workspace:%{gopath}
c7cced
%endif
c7cced
635e88
GOFLAGS=
635e88
%if 0%{?with_test_keys}
635e88
GOFLAGS="$GOFLAGS -tags withtestkeys"
635e88
%endif
635e88
14ee87
%if ! 0%{?with_bundled}
14ee87
# We don't need mvo5 fork for seccomp, as we have seccomp 2.3.x
14ee87
sed -e "s:github.com/mvo5/libseccomp-golang:github.com/seccomp/libseccomp-golang:g" -i cmd/snap-seccomp/*.go
14ee87
# We don't need the snapcore fork for bolt - it is just a fix on ppc
e08186
sed -e "s:github.com/snapcore/bolt:github.com/boltdb/bolt:g" -i advisor/*.go errtracker/*.go
14ee87
%endif
14ee87
635e88
# We have to build snapd first to prevent the build from
635e88
# building various things from the tree without additional
635e88
# set tags.
635e88
%gobuild -o bin/snapd $GOFLAGS %{import_path}/cmd/snapd
635e88
%gobuild -o bin/snap $GOFLAGS %{import_path}/cmd/snap
e2755c
%gobuild -o bin/snap-failure $GOFLAGS %{import_path}/cmd/snap-failure
fce9db
fce9db
# To ensure things work correctly with base snaps,
136104
# snap-exec, snap-update-ns, and snapctl need to be built statically
fce9db
%gobuild_static -o bin/snap-exec $GOFLAGS %{import_path}/cmd/snap-exec
fce9db
%gobuild_static -o bin/snap-update-ns $GOFLAGS %{import_path}/cmd/snap-update-ns
136104
%gobuild_static -o bin/snapctl $GOFLAGS %{import_path}/cmd/snapctl
635e88
97458d
%if 0%{?rhel}
97458d
# There's no static link library for libseccomp in RHEL/CentOS...
97458d
sed -e "s/-Bstatic -lseccomp/-Bstatic/g" -i cmd/snap-seccomp/*.go
97458d
%endif
60268c
%gobuild -o bin/snap-seccomp $GOFLAGS %{import_path}/cmd/snap-seccomp
c7cced
bfc63f
# Build SELinux module
bfc63f
pushd ./data/selinux
bfc63f
make SHARE="%{_datadir}" TARGETS="snappy"
bfc63f
popd
bfc63f
bfc63f
# Build snap-confine
bfc63f
pushd ./cmd
bfc63f
autoreconf --force --install --verbose
bfc63f
# FIXME: add --enable-caps-over-setuid as soon as possible (setuid discouraged!)
bfc63f
%configure \
bfc63f
    --disable-apparmor \
332180
    --enable-selinux \
bfc63f
    --libexecdir=%{_libexecdir}/snapd/ \
14ee87
    --enable-nvidia-biarch \
14ee87
    %{?with_multilib:--with-32bit-libdir=%{_prefix}/lib} \
bfc63f
    --with-snap-mount-dir=%{_sharedstatedir}/snapd/snap \
14ee87
    --enable-merged-usr
bfc63f
bfc63f
%make_build
bfc63f
popd
bfc63f
14ee87
# Build systemd units, dbus services, and env files
4761d9
pushd ./data
bfc63f
make BINDIR="%{_bindir}" LIBEXECDIR="%{_libexecdir}" \
635e88
     SYSTEMDSYSTEMUNITDIR="%{_unitdir}" \
9be007
     SNAP_MOUNT_DIR="%{_sharedstatedir}/snapd/snap" \
bfc63f
     SNAPD_ENVIRONMENT_FILE="%{_sysconfdir}/sysconfig/snapd"
bfc63f
popd
c7cced
c7cced
%install
c7cced
install -d -p %{buildroot}%{_bindir}
c7cced
install -d -p %{buildroot}%{_libexecdir}/snapd
e2755c
install -d -p %{buildroot}%{_mandir}/man8
db7fe7
install -d -p %{buildroot}%{_environmentdir}
db7fe7
install -d -p %{buildroot}%{_systemdgeneratordir}
e2755c
install -d -p %{buildroot}%{_systemd_system_env_generator_dir}
c7cced
install -d -p %{buildroot}%{_unitdir}
c7cced
install -d -p %{buildroot}%{_sysconfdir}/profile.d
c7cced
install -d -p %{buildroot}%{_sysconfdir}/sysconfig
c7cced
install -d -p %{buildroot}%{_sharedstatedir}/snapd/assertions
971dc1
install -d -p %{buildroot}%{_sharedstatedir}/snapd/cookie
4a6082
install -d -p %{buildroot}%{_sharedstatedir}/snapd/desktop/applications
da2b24
install -d -p %{buildroot}%{_sharedstatedir}/snapd/device
4a6082
install -d -p %{buildroot}%{_sharedstatedir}/snapd/hostfs
14ee87
install -d -p %{buildroot}%{_sharedstatedir}/snapd/lib/gl
14ee87
install -d -p %{buildroot}%{_sharedstatedir}/snapd/lib/gl32
971dc1
install -d -p %{buildroot}%{_sharedstatedir}/snapd/lib/glvnd
14ee87
install -d -p %{buildroot}%{_sharedstatedir}/snapd/lib/vulkan
c7cced
install -d -p %{buildroot}%{_sharedstatedir}/snapd/mount
635e88
install -d -p %{buildroot}%{_sharedstatedir}/snapd/seccomp/bpf
c7cced
install -d -p %{buildroot}%{_sharedstatedir}/snapd/snaps
4a6082
install -d -p %{buildroot}%{_sharedstatedir}/snapd/snap/bin
c7cced
install -d -p %{buildroot}%{_localstatedir}/snap
cba085
install -d -p %{buildroot}%{_localstatedir}/cache/snapd
98b119
install -d -p %{buildroot}%{_datadir}/polkit-1/actions
c7cced
install -d -p %{buildroot}%{_datadir}/selinux/devel/include/contrib
c7cced
install -d -p %{buildroot}%{_datadir}/selinux/packages
c7cced
c7cced
# Install snap and snapd
c7cced
install -p -m 0755 bin/snap %{buildroot}%{_bindir}
c7cced
install -p -m 0755 bin/snap-exec %{buildroot}%{_libexecdir}/snapd
e2755c
install -p -m 0755 bin/snap-failure %{buildroot}%{_libexecdir}/snapd
c7cced
install -p -m 0755 bin/snapd %{buildroot}%{_libexecdir}/snapd
9be007
install -p -m 0755 bin/snap-update-ns %{buildroot}%{_libexecdir}/snapd
635e88
install -p -m 0755 bin/snap-seccomp %{buildroot}%{_libexecdir}/snapd
e2755c
# Ensure /usr/bin/snapctl is a symlink to /usr/libexec/snapd/snapctl
e2755c
install -p -m 0755 bin/snapctl %{buildroot}%{_libexecdir}/snapd/snapctl
e2755c
ln -sf %{_libexecdir}/snapd/snapctl %{buildroot}%{_bindir}/snapctl
c7cced
bfc63f
# Install SELinux module
bfc63f
install -p -m 0644 data/selinux/snappy.if %{buildroot}%{_datadir}/selinux/devel/include/contrib
bfc63f
install -p -m 0644 data/selinux/snappy.pp.bz2 %{buildroot}%{_datadir}/selinux/packages
bfc63f
e2755c
# Install snap(8) man page
e2755c
bin/snap help --man > %{buildroot}%{_mandir}/man8/snap.8
c7cced
9be007
# Install the "info" data file with snapd version
9be007
install -m 644 -D data/info %{buildroot}%{_libexecdir}/snapd/info
9be007
9be007
# Install bash completion for "snap"
9be007
install -m 644 -D data/completion/snap %{buildroot}%{_datadir}/bash-completion/completions/snap
cba085
install -m 644 -D data/completion/complete.sh %{buildroot}%{_libexecdir}/snapd
cba085
install -m 644 -D data/completion/etelpmoc.sh %{buildroot}%{_libexecdir}/snapd
9be007
bfc63f
# Install snap-confine
bfc63f
pushd ./cmd
bfc63f
%make_install
332180
# Undo the 0111 permissions, they are restored in the files section
bfc63f
chmod 0755 %{buildroot}%{_sharedstatedir}/snapd/void
bfc63f
# We don't use AppArmor
bfc63f
rm -rfv %{buildroot}%{_sysconfdir}/apparmor.d
bfc63f
# ubuntu-core-launcher is dead
bfc63f
rm -fv %{buildroot}%{_bindir}/ubuntu-core-launcher
bfc63f
popd
bfc63f
cba085
# Install all systemd and dbus units, and env files
4761d9
pushd ./data
14ee87
%make_install BINDIR="%{_bindir}" LIBEXECDIR="%{_libexecdir}" \
14ee87
              SYSTEMDSYSTEMUNITDIR="%{_unitdir}" \
14ee87
              SNAP_MOUNT_DIR="%{_sharedstatedir}/snapd/snap" \
14ee87
              SNAPD_ENVIRONMENT_FILE="%{_sysconfdir}/sysconfig/snapd"
2bb0e7
popd
2bb0e7
2bb0e7
2bb0e7
%if 0%{?rhel} == 7
2bb0e7
# Install kernel tweaks
2bb0e7
# See: https://access.redhat.com/articles/3128691
2bb0e7
install -m 644 -D data/sysctl/rhel7-snap.conf %{buildroot}%{_sysctldir}/99-snap.conf
2bb0e7
%endif
14ee87
bfc63f
# Remove snappy core specific units
bfc63f
rm -fv %{buildroot}%{_unitdir}/snapd.system-shutdown.service
4410c7
rm -fv %{buildroot}%{_unitdir}/snapd.snap-repair.*
635e88
rm -fv %{buildroot}%{_unitdir}/snapd.core-fixup.*
c7cced
635e88
# Remove snappy core specific scripts
635e88
rm %{buildroot}%{_libexecdir}/snapd/snapd.core-fixup.sh
635e88
db7fe7
# Remove snapd apparmor service
db7fe7
rm -f %{buildroot}%{_unitdir}/snapd.apparmor.service
db7fe7
rm -f %{buildroot}%{_libexecdir}/snapd/snapd-apparmor
db7fe7
98b119
# Install Polkit configuration
98b119
install -m 644 -D data/polkit/io.snapcraft.snapd.policy %{buildroot}%{_datadir}/polkit-1/actions
c7cced
c7cced
# Disable re-exec by default
c7cced
echo 'SNAP_REEXEC=0' > %{buildroot}%{_sysconfdir}/sysconfig/snapd
c7cced
14ee87
# Create state.json and the README file to be ghosted
4a6082
touch %{buildroot}%{_sharedstatedir}/snapd/state.json
14ee87
touch %{buildroot}%{_sharedstatedir}/snapd/snap/README
4a6082
c7cced
# source codes for building projects
c7cced
%if 0%{?with_devel}
c7cced
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
c7cced
echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list
c7cced
# find all *.go but no *_test.go files and generate devel.file-list
90c912
for file in $(find . -iname "*.go" -o -iname "*.s" \! -iname "*_test.go") ; do
c7cced
    echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
c7cced
    install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
c7cced
    cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
c7cced
    echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list
c7cced
done
c7cced
%endif
c7cced
c7cced
# testing files for this project
c7cced
%if 0%{?with_unit_test} && 0%{?with_devel}
c7cced
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
c7cced
# find all *_test.go files and generate unit-test.file-list
c7cced
for file in $(find . -iname "*_test.go"); do
c7cced
    echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
c7cced
    install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
c7cced
    cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
c7cced
    echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test-devel.file-list
c7cced
done
90c912
90c912
# Install additional testdata
90c912
install -d %{buildroot}/%{gopath}/src/%{import_path}/cmd/snap/test-data/
90c912
cp -pav cmd/snap/test-data/* %{buildroot}/%{gopath}/src/%{import_path}/cmd/snap/test-data/
90c912
echo "%%{gopath}/src/%%{import_path}/cmd/snap/test-data" >> unit-test-devel.file-list
c7cced
%endif
c7cced
c7cced
%if 0%{?with_devel}
c7cced
sort -u -o devel.file-list devel.file-list
c7cced
%endif
c7cced
c7cced
%check
bfc63f
# snapd tests
c7cced
%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel}
c7cced
%if ! 0%{?with_bundled}
c7cced
export GOPATH=%{buildroot}/%{gopath}:%{gopath}
c7cced
%else
c7cced
export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath}
c7cced
%endif
90c912
%gotest %{import_path}/...
c7cced
%endif
c7cced
bfc63f
# snap-confine tests (these always run!)
bfc63f
pushd ./cmd
bfc63f
make check
bfc63f
popd
c7cced
c7cced
%files
bfc63f
#define license tag if not already defined
bfc63f
%{!?_licensedir:%global license %doc}
90c912
%license COPYING
c7cced
%doc README.md docs/*
c7cced
%{_bindir}/snap
bfc63f
%{_bindir}/snapctl
db7fe7
%{_environmentdir}/990-snapd.conf
2bb0e7
%if 0%{?rhel} == 7
2bb0e7
%{_sysctldir}/99-snap.conf
2bb0e7
%endif
f4c706
%dir %{_libexecdir}/snapd
e2755c
%{_libexecdir}/snapd/snapctl
f4c706
%{_libexecdir}/snapd/snapd
f4c706
%{_libexecdir}/snapd/snap-exec
e2755c
%{_libexecdir}/snapd/snap-failure
9be007
%{_libexecdir}/snapd/info
90c912
%{_libexecdir}/snapd/snap-mgmt
332180
%{_libexecdir}/snapd/snap-mgmt-selinux
e2755c
%{_mandir}/man8/snap.8*
971dc1
%{_datadir}/applications/snap-handle-link.desktop
9be007
%{_datadir}/bash-completion/completions/snap
cba085
%{_libexecdir}/snapd/complete.sh
cba085
%{_libexecdir}/snapd/etelpmoc.sh
db7fe7
%{_libexecdir}/snapd/snapd.run-from-snap
c7cced
%{_sysconfdir}/profile.d/snapd.sh
e2755c
%{_mandir}/man8/snapd-env-generator.8*
e2755c
%{_systemd_system_env_generator_dir}/snapd-env-generator
c7cced
%{_unitdir}/snapd.socket
c7cced
%{_unitdir}/snapd.service
bfc63f
%{_unitdir}/snapd.autoimport.service
db7fe7
%{_unitdir}/snapd.failure.service
e08186
%{_unitdir}/snapd.seeded.service
4761d9
%{_datadir}/dbus-1/services/io.snapcraft.Launcher.service
14ee87
%{_datadir}/dbus-1/services/io.snapcraft.Settings.service
98b119
%{_datadir}/polkit-1/actions/io.snapcraft.snapd.policy
215934
%{_sysconfdir}/xdg/autostart/snap-userd-autostart.desktop
c7cced
%config(noreplace) %{_sysconfdir}/sysconfig/snapd
c7cced
%dir %{_sharedstatedir}/snapd
c7cced
%dir %{_sharedstatedir}/snapd/assertions
971dc1
%dir %{_sharedstatedir}/snapd/cookie
c7cced
%dir %{_sharedstatedir}/snapd/desktop
4a6082
%dir %{_sharedstatedir}/snapd/desktop/applications
da2b24
%dir %{_sharedstatedir}/snapd/device
4a6082
%dir %{_sharedstatedir}/snapd/hostfs
14ee87
%dir %{_sharedstatedir}/snapd/lib
14ee87
%dir %{_sharedstatedir}/snapd/lib/gl
14ee87
%dir %{_sharedstatedir}/snapd/lib/gl32
971dc1
%dir %{_sharedstatedir}/snapd/lib/glvnd
14ee87
%dir %{_sharedstatedir}/snapd/lib/vulkan
c7cced
%dir %{_sharedstatedir}/snapd/mount
c7cced
%dir %{_sharedstatedir}/snapd/seccomp
635e88
%dir %{_sharedstatedir}/snapd/seccomp/bpf
c7cced
%dir %{_sharedstatedir}/snapd/snaps
c7cced
%dir %{_sharedstatedir}/snapd/snap
4a6082
%ghost %dir %{_sharedstatedir}/snapd/snap/bin
cba085
%dir %{_localstatedir}/cache/snapd
c7cced
%dir %{_localstatedir}/snap
4a6082
%ghost %{_sharedstatedir}/snapd/state.json
14ee87
%ghost %{_sharedstatedir}/snapd/snap/README
c7cced
bfc63f
%files -n snap-confine
bfc63f
%doc cmd/snap-confine/PORTING
bfc63f
%license COPYING
f4c706
%dir %{_libexecdir}/snapd
bfc63f
# For now, we can't use caps
bfc63f
# FIXME: Switch to "%%attr(0755,root,root) %%caps(cap_sys_admin=pe)" asap!
98b119
%attr(6755,root,root) %{_libexecdir}/snapd/snap-confine
215934
%{_libexecdir}/snapd/snap-device-helper
bfc63f
%{_libexecdir}/snapd/snap-discard-ns
215934
%{_libexecdir}/snapd/snap-gdb-shim
635e88
%{_libexecdir}/snapd/snap-seccomp
f4c706
%{_libexecdir}/snapd/snap-update-ns
f4c706
%{_libexecdir}/snapd/system-shutdown
e2755c
%{_mandir}/man8/snap-confine.8*
e2755c
%{_mandir}/man8/snap-discard-ns.8*
db7fe7
%{_systemdgeneratordir}/snapd-generator
332180
%attr(0111,root,root) %{_sharedstatedir}/snapd/void
bfc63f
bfc63f
bfc63f
%files selinux
bfc63f
%license data/selinux/COPYING
bfc63f
%doc data/selinux/README.md
bfc63f
%{_datadir}/selinux/packages/snappy.pp.bz2
bfc63f
%{_datadir}/selinux/devel/include/contrib/snappy.if
bfc63f
c7cced
%if 0%{?with_devel}
c7cced
%files devel -f devel.file-list
c7cced
%license COPYING
c7cced
%doc README.md
c7cced
%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
c7cced
%endif
c7cced
c7cced
%if 0%{?with_unit_test} && 0%{?with_devel}
c7cced
%files unit-test-devel -f unit-test-devel.file-list
c7cced
%license COPYING
c7cced
%doc README.md
c7cced
%endif
c7cced
c7cced
%post
2bb0e7
%if 0%{?rhel} == 7
2bb0e7
%sysctl_apply 99-snap.conf
2bb0e7
%endif
bfc63f
%systemd_post %{snappy_svcs}
62ba86
# If install, test if snapd socket and timer are enabled.
62ba86
# If enabled, then attempt to start them. This will silently fail
62ba86
# in chroots or other environments where services aren't expected
62ba86
# to be started.
62ba86
if [ $1 -eq 1 ] ; then
62ba86
   if systemctl -q is-enabled snapd.socket > /dev/null 2>&1 ; then
62ba86
      systemctl start snapd.socket > /dev/null 2>&1 || :
62ba86
   fi
62ba86
fi
c7cced
c7cced
%preun
bfc63f
%systemd_preun %{snappy_svcs}
c7cced
90c912
# Remove all Snappy content if snapd is being fully uninstalled
90c912
if [ $1 -eq 0 ]; then
635e88
   %{_libexecdir}/snapd/snap-mgmt --purge || :
90c912
fi
90c912
90c912
c7cced
%postun
bfc63f
%systemd_postun_with_restart %{snappy_svcs}
c7cced
332180
%triggerun -- snapd < 2.39
332180
# TODO: the trigger relies on a very specific snapd version that introduced SELinux
332180
# mount context, figure out how to update the trigger condition to run when needed
332180
332180
# Trigger on uninstall, with one version of the package being pre 2.38 see
332180
# https://rpm-packaging-guide.github.io/#triggers-and-scriptlets for details
332180
# when triggers are run
332180
if [ "$1" -eq 2 -a "$2" -eq 1 ]; then
332180
   # Upgrade from pre 2.38 version
332180
   %{_libexecdir}/snapd/snap-mgmt-selinux --patch-selinux-mount-context=system_u:object_r:snappy_snap_t:s0 || :
332180
332180
   # snapd might have created fontconfig cache directory earlier, but with
332180
   # incorrect context due to bugs in the policy, make sure it gets the right one
332180
   # on upgrade when the new policy was introduced
332180
   if [ -d "%{_localstatedir}/cache/fontconfig" ]; then
332180
      restorecon -R %{_localstatedir}/cache/fontconfig || :
332180
   fi
332180
elif [ "$1" -eq 1 -a "$2" -eq 2 ]; then
332180
   # Downgrade to a pre 2.38 version
332180
   %{_libexecdir}/snapd/snap-mgmt-selinux --remove-selinux-mount-context=system_u:object_r:snappy_snap_t:s0 || :
332180
fi
332180
c7cced
%pre selinux
c7cced
%selinux_relabel_pre
c7cced
c7cced
%post selinux
c7cced
%selinux_modules_install %{_datadir}/selinux/packages/snappy.pp.bz2
c7cced
%selinux_relabel_post
c7cced
4410c7
%posttrans selinux
4410c7
%selinux_relabel_post
4410c7
c7cced
%postun selinux
c7cced
%selinux_modules_uninstall snappy
c7cced
if [ $1 -eq 0 ]; then
c7cced
    %selinux_relabel_post
c7cced
fi
c7cced
c7cced
c7cced
%changelog
8aec79
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.39.2-2
8aec79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
8aec79
8c0ec8
* Fri Jun 14 2019 Neal Gompa <ngompa13@gmail.com> - 2.39.2-1
8c0ec8
- Release 2.39.2 to Fedora (RH#1717448)
8c0ec8
- Drop patch included in this release
8c0ec8
02e07e
* Tue Jun 11 2019 Maciej Borzecki <maciek.borzecki@gmail.com> - 2.39.1-2
02e07e
- Fix SELinux policy to allow running hooks and services from snaps with bases
02e07e
  and classic snaps
02e07e
- Bump SELinux policy version
02e07e
8c0ec8
* Wed Jun 05 2019 Michael Vogt <mvo@ubuntu.com>
8c0ec8
- New upstream release 2.39.2
8c0ec8
 - debian: rework how we run autopkgtests
8c0ec8
 - interfaces/docker-support: add overlayfs accesses for ubuntu core
8c0ec8
 - data/selinux: permit init_t to remount snappy_snap_t
8c0ec8
 - strutil/shlex: fix ineffassign
8c0ec8
 - packaging: fix build-depends on powerpc
8c0ec8
e064e8
* Tue Jun 04 2019 Neal Gompa <ngompa13@gmail.com> - 2.39.1-1
e064e8
- Release 2.39.1 to Fedora (RH#1715505)
e064e8
- Backport SELinux policy fixes for systemd unit mount namespacing (RH#1708991)
e064e8
e064e8
* Wed May 29 2019 Michael Vogt <mvo@ubuntu.com>
e064e8
- New upstream release 2.39.1
e064e8
 - spread: enable Fedora 30
e064e8
 - cmd/snap-confine, data/selinux: cherry pick Fedora 30 fixes
e064e8
 - tests/unit/spread-shellcheck: temporary workaround for SC2251
e064e8
 - packaging: build empty package on powerpc
e064e8
 - interfaces: special-case "snapd" in sanitizeSlotReservedForOS*
e064e8
   helper
e064e8
 - cmd/snap: mangle descriptions that have indent > terminal width
e064e8
 - cmd/snap-confine: unshare per-user mount ns once
e064e8
 - tests: avoid adding spaces to the base snaps names
e064e8
 - systemd: workaround systemctl show quirks on older systemd
e064e8
   versions
e064e8
332180
* Mon May 06 2019 Neal Gompa <ngompa13@gmail.com> - 2.39-1
332180
- Release 2.39 to Fedora (RH#1699087)
332180
- Enable basic SELinux integration
332180
- Fix changelog entry to fix build for EPEL 7
adafd3
- Exclude bash and POSIX sh shebangs from mangling (LP:1824158)
efcdbc
- Drop some old pre Fedora 28 logic
332180
332180
* Fri May 03 2019 Michael Vogt <mvo@ubuntu.com>
332180
- New upstream release 2.39
332180
 - overlord/ifacestate: update static attributes of "content"
332180
   interface
332180
 - data/selinux: tweak the policy for runuser and s-c, interpret
332180
   audit entries
332180
 - snapshotstate: disable automatic snapshots on core for now
332180
 - overlord/corecfg: make expiration of automatic snapshots
332180
   configurable
332180
 - snapstate: auto-install snapd when needed
332180
 - interfaces: add support for the snapd snap in the dbus backend
332180
 - overlord/snapstate: tweak autorefresh logic if network is not
332180
   available
332180
 - interfaces/apparmor: allow running /usr/bin/od
332180
 - osutil,cmdutil: move CommandFromCore and make it use the snapd
332180
   snap (if available)
332180
 - daemon: also verify snap instructions for multi-snap requests
332180
 - data/selinux: allow snap-confine to mount on top of bin
332180
 - data/selinux: auto transition /var/snap to snappy_var_t
332180
 - cmd: add `snap debug validate-seed <path>` cmd
332180
 - interfaces/builtin/desktop: fonconfig v6/v7 cache handling on
332180
   Fedora
332180
 - interfaces/builtin/intel_mei: fix /dev/mei* AppArmor pattern
332180
 - tests: make snap-connections test work on boards with snaps pre-
332180
   installed
332180
 - tests: check for /snap/core16/current in core16-provided-by-core
332180
 - tests: run livepatch test on 18.04 as well
332180
 - devicestate: deal correctly with the "required" flag on Remodel
332180
 - snapstate,state: add TaskSet.AddAllWithEdges() and use in doUpdate
332180
 - snapstate: add new NoReRefresh flag and use in Remodel()
332180
 - many: allow core as a fallback for core16
332180
 - snapcraft: build static fontconfig in the snapd snap
332180
 - cmd/snap-confine: remove unused sc_open_snap_{update,discard}_ns
332180
 - data/selinux: allow snapd to execute runuser under snappy_t
332180
 - spread, tests: do not leave mislabeled files in restorecon test,
332180
   attempt to catch similar files
332180
 - interfaces: cleanup internal tool lookup in system-key
332180
 - many: move auth.AuthContext to store.DeviceAndAuthContext, the
332180
   implemention to a separate storecontext packageThis:
332180
 - overlord/devicestate: measurements around ensure and related tasks
332180
 - cmd: tweak internal tool lookup to accept more possible locations
332180
 - overlord/snapstate,snapshotstate: create snapshot on snap removal
332180
 - tests: run smoke tests on (almost) pristine systems
332180
 - tests: system disable ssh for config defaults in gadget
332180
 - cmd/debug: integrate new task timings with "snap debug timings"
332180
 - tests/upgrade/basic, packaging/fedoar: restore SELinux context of
332180
   /var/cache/fontconfig, patch pre-2.39 mount units
332180
 - image: simplify prefer local logic  and fixes
332180
 - tests/main/selinux-lxd: make sure LXD from snaps works cleanly
332180
   with enforcing SELinux
332180
 - tests: deny ioctl - TIOCSTI with garbage in high bits
332180
 - overlord: factor out mocking of device service and gadget w.
332180
   prepare-device for registration tests
332180
 - data/selinux, tests/main/selinux-clean: fine tune the policy, make
332180
   sure that no denials are raised
332180
 - cmd/libsnap,osutil: fix parsing of mountinfo
332180
 - ubuntu: disable -buildmode=pie on armhf to fix memory issue
332180
 - overlord/snapstate: inhibit refresh for up to a week
332180
 - cmd/snap-confine: prevent cwd restore permission bypass
332180
 - overlord/ifacestate: introduce HotplugKey type use short key in
332180
   change summaries
332180
 - many: make Remodel() download everything first before installing
332180
 - tests: fixes discovered debugging refresh-app-awareness
332180
 - overlord/snapstate: track time of postponed refreshes
332180
 - snap-confine: set rootfs_dir in sc_invocation struct
332180
 - tests: run create-user on core devices
332180
 - boot: add flag file "meta/force-kernel-extraction"
332180
 - tests: add regression test for systemctl race fix
332180
 - overlord/snapshotstate: helpers for snapshot expirations
332180
 - overlord,tests: perform soft refresh check in doInstall
332180
 - tests: enable tests that write /etc/{hostname,timezone} on core18
332180
 - overlord/ifacestate: implement String() method of
332180
   HotplugDeviceInfo for better logs/messages
332180
 - cmd/snap-confine: move ubuntu-core fallback checks
332180
 - testutil: fix MockCmd for shellcheck 0.5
332180
 - snap, gadget: move gadget read/validation into separate package,
332180
   tweak naming
332180
 - tests: split travis spread execution in 2 jobs for ubuntu and non
332180
   ubuntu systems
332180
 - testutil: make mocked command work with shellcheck from snaps
332180
 - packaging/fedora, tests/upgrade/basic: patch existing mount units
332180
   with SELinux context on upgrade
332180
 - metautil, snap: extract yaml value normalization to a helper
332180
   package
332180
 - tests: use apt via eatmydata
332180
 - dirs,overlord/snapstate: add Soft and Hard refresh checks
332180
 - cmd/snap-confine: allow using tools from snapd snap
332180
 - cmd,interfaces: replace local helpers with cmd.InternalToolPath
332180
 - tweak: fix "make hack" on Fedora
332180
 - snap: add validation of gadget.yaml
332180
 - cmd/snap-update-ns: refactor of profile application
332180
 - cmd/snap,client,daemon,store: layout and sanity tweaks for
332180
   find/search options
332180
 - tests: add workaround for missing cache reset on older snapd
332180
 - interfaces: deal with the snapd snap correctly for apparmor 2.13
332180
 - release-tools: add debian-package-builder
332180
 - tests: enable opensuse 15 and add force-resolution installing
332180
   packages
332180
 - timings: AddTag helper
332180
 - testutil: run mocked commands through shellcheck
332180
 - overlord/snapshotstate: support auto flag
332180
 - client, daemon, store: search by common-id
332180
 - tests: all the systems for google backend with 6 workers
332180
 - interfaces: hotplug nested vm test, updated serial-port interface
332180
   for hotplug.
332180
 - sanity: use proper SELinux context when mounting squashfs
332180
 - cmd/libsnap: neuter variables in cleanup functions
332180
 - interfaces/adb-support: account for hubs on sysfs path
332180
 - interfaces/seccomp: regenerate changed profiles only
332180
 - snap: reject layouts to /lib/{firmware,modules}
332180
 - cmd/snap-confine, packaging: support SELinux
332180
 - selinux, systemd: support mount contexts for snap images
332180
 - interfaces/builtin/opengl: allow access to Tegra X1
332180
 - cmd/snap: make 'snap warnings' output yamlish
332180
 - tests: add check to detect a broken snap on reset
332180
 - interfaces: add one-plus devices to adb-support
332180
 - cmd: prevent umask from breaking snap-run chain
332180
 - tests/lib/pkgdb: allow downgrade when installing packages in
332180
   openSUSE
332180
 - cmd/snap-confine: use fixed private tmp directory
332180
 - snap: tweak parsing errors of gadget updates
332180
 - overlord/ifacemgr: basic measurements
332180
 - spread: refresh metadata on openSUSE
332180
 - cmd/snap-confine: pass sc_invocation instead of numerous args
332180
   around
332180
 - snap/gadget: introduce volume update info
332180
 - partition,bootloader: rename 'partition' package to 'bootloader'
332180
 - interfaces/builtin: add dev/pts/ptmx access to docker_support
332180
 - tests: restore sbuild test
332180
 - strutil: make SplitUnit public, allow negative numbers
332180
 - overlord/snapstate,: retry less for auto-stuff
332180
 - interfaces/builtin: add add exec "/" to docker-support
332180
 - cmd/snap: fix regression of snap saved command
332180
 - cmd/libsnap: rename C enum for feature flag
332180
 - cmd: typedef mountinfo structures
332180
 - tests/main/remodel: clean up before reverting the state
332180
 - cmd/snap-confine: umount scratch dir using UMOUNT_NOFOLLOW
332180
 - timings: add new helpers, Measurer interface and DurationThreshold
332180
 - cmd/snap-seccomp: version-info subcommand
332180
 - errortracker: fix panic in Report if db cannot be opened
332180
 - sandbox/seccomp: a helper package wrapping calls to snap-seccomp
332180
 - many: add /v2/model API, `snap remodel` CLI and spread test
332180
 - tests: enable opensuse tumbleweed back
332180
 - overlord/snapstate, store: set a header when auto-refreshing
332180
 - data/selinux, tests: refactor SELinux policy, add minimal tests
332180
 - spread: restore SELinux context when we mess with system files
332180
 - daemon/api: filter connections with hotplug-gone=true
332180
 - daemon: support returning assertion information as JSON with the
332180
   "json" query parameter
332180
 - cmd/snap: hide 'interfaces' command, show deprecation notice
332180
 - timings: base API for recording timings in state
332180
 - cmd/snap-confine: drop unused dependency on libseccomp
332180
 - interfaces/apparmor: factor out test boilerplate
332180
 - daemon: extract assertions api endpoint implementation into
332180
   api_asserts.go
332180
 - spread.yaml: bump delta reference
332180
 - cmd/snap-confine: track per-app and per-hook processes
332180
 - cmd/snap-confine: make sc_args helpers const-correct
332180
 - daemon: move a function that was between an other struct and its
332180
   methods
332180
 - overlord/snapstate: fix restoring of "old-current" revision config
332180
   in undoLinkSnap
332180
 - cmd/snap, client, daemon, ifacestate: show a leading attribute of
332180
   a connection
332180
 - cmd/snap-confine: call sc_should_use_normal_mode once
332180
 - cmd/snap-confine: populate enter_non_classic_execution_environment
332180
 - daemon: allow downloading snaps blobs via .../file
332180
 - cmd/snap-confine: introduce sc_invocation
332180
 - devicestate: add initial Remodel support
332180
 - snap: remove obsolete license-* fields in the yaml
332180
 - cmd/libsnap: add cgroup-pids-support module
332180
 - overlord/snapstate/backend: make LinkSnap clean up more
332180
 - snapstate: only keep 2 snaps on classic
332180
 - ctlcmd/tests: tests tweaks (followup to #6322)
332180
332180
* Tue Apr 23 2019 Robert-André Mauchin <zebob.m@gmail.com> - 2.38-3
ab8648
- Rebuilt for fix in golang-github-seccomp-libseccomp-golang
ab8648
09d1f7
* Fri Apr 05 2019 Neal Gompa <ngompa13@gmail.com> - 2.38-2
09d1f7
- Readd snapd-login-service Provides for gnome-software for F29 and older
09d1f7
136104
* Thu Mar 21 2019 Neal Gompa <ngompa13@gmail.com> - 2.38-1
136104
- Release 2.38 to Fedora (RH#1691296)
136104
- Switch to officially released main source tarball
136104
- Drop obsolete snapd-login-service Provides
136104
136104
* Thu Mar 21 2019 Michael Vogt <mvo@ubuntu.com>
136104
- New upstream release 2.38
136104
 - overlord/snapstate,: retry less for auto-stuff
136104
 - cmd/snap: fix regression of snap saved command
136104
 - interfaces/builtin: add dev/pts/ptmx access to docker_support
136104
 - overlord/snapstate, store: set a header when auto-refreshing
136104
 - interfaces/builtin: add add exec "/" to docker-support
136104
 - cmd/snap, client, daemon, ifacestate: show a leading attribute of
136104
   a connection
136104
 - interface: avahi-observe: Fixing socket permissions on 4.15
136104
   kernels
136104
 - tests: check that apt works before using it
136104
 - apparmor: support AppArmor 2.13
136104
 - snapstate: restart into the snapd snap on classic
136104
 - overlord/snapstate: during refresh, re-refresh on epoch bump
136104
 - cmd, daemon: split out the common bits of mapLocal and mapRemote
136104
 - cmd/snap-confine: chown private /tmp to root.root
136104
 - cmd/snap-confine: drop uid from random /tmp name
136104
 - overlord/hookstate: apply pending transaction changes onto
136104
   temporary configuration for snapctl get
136104
 - cmd/snap: `snap connections` command
136104
 - interfaces/greengrass_support: update accesses for GGC 1.8
136104
 - cmd/snap, daemon: make the connectivity check use GET
136104
 - interfaces/builtin,/udev: add spec support to disable udev +
136104
   device cgroup and use it for greengrass
136104
 - interfaces/intel-mei: small follow up tweaks
136104
 - ifacestate/tests: fix/improve udev mon test
136104
 - interfaces: add multipass-support interface
136104
 - tests/main/high-user-handling: fix the test for Go 1.12
136104
 - interfaces: add new intel-mei interface
136104
 - systemd: decrease the checker counter before unlocking otherwise
136104
   we can get spurious panics
136104
 - daemon/tests: fix race in the disconnect conflict test
136104
 - cmd/snap-confine: allow moving tasks to pids cgroup
136104
 - tests: enable opensuse tumbleweed on spread
136104
 - cmd/snap: fix `snap services` completion
136104
 - ifacestate/hotplug: integration with udev monitor
136104
 - packaging: build snapctl as a static binary
136104
 - packaging/opensuse: move most logic to snapd.mk
136104
 - overlord: fix ensure before slowness on Retry
136104
 - overlord/ifacestate: fix migration of connections on upgrade from
136104
   ubuntu-core
136104
 - daemon, client, cmd/snap: debug GETs ask aspects, not actions
136104
 - tests/main/desktop-portal-*: fix handling of python dependencies
136104
 - interfaces/wayland: allow wayland server snaps function on classic
136104
   too
136104
 - daemon, client, cmd/snap: snap debug base-declaration
136104
 - tests: run tests on opensuse leap 15.0 instead of 42.3
136104
 - cmd/snap: fix error messages for snapshots commands if ID is not
136104
   uint
136104
 - interfaces/seccomp: increase filter precision
136104
 - interfaces/network-manager: no peer label check for hostname1
136104
 - tests: add a tests for xdg-desktop-portal integration
136104
 - tests: not checking 'tracking channel' after refresh core on
136104
   nested execution
136104
 - tests: remove snapweb from tests
136104
 - snap, wrappers: support StartTimeout
136104
 - wrappers: Add an X-SnapInstanceName field to desktop files
136104
 - cmd/snap: produce better output for help on subcommands
136104
 - tests/main/nfs-support: use archive mode for creating fstab backup
136104
 - many: collect time each task runs and display it with `snap debug
136104
   timings <id>`
136104
 - tests: add attribution to helper script
136104
 - daemon: make ucrednetGet not loop
136104
 - squashfs: unset SOURCE_DATE_EPOCH in the TestBuildDate test
136104
 - features,cmd/libsnap: add new feature "refresh-app-awareness"
136104
 - overlord: fix random typos
136104
 - interfaces/seccomp: generate global seccomp profile
136104
 - daemon/api: fix error case for disconnect conflict
136104
 - overlord/snapstate: add some randomness to the catalog refresh
136104
 - tests: disable trusty-proposed for now
136104
 - tests: fix upgrade-from-2.15 with kernel 4.15
136104
 - interfaces/apparmor: allow sending and receiving signals from
136104
   ourselves
136104
 - tests: split the test interfaces-many in 2 and remove snaps on
136104
   restore
136104
 - tests: use snap which takes 15 seconds to install on retryable-
136104
   error test
136104
 - packaging: avoid race in snapd.postinst
136104
 - overlord/snapstate: discard mount namespace when undoing 1st link
136104
   snap
136104
 - cmd/snap-confine: allow writes to /var/lib/**
136104
 - tests: stop catalog-update test for now
136104
 - tests/main/auto-refresh-private: make sure to actually download
136104
   with the expired macaroon
136104
 - many: save media info when installing, show it when listing
136104
 - userd: handle help urls which requires prepending XDG_DATA_DIRS
136104
 - tests: fix NFS home mocking
136104
 - tests: improve snaps-system-env test
136104
 - tests: pre-cache core on core18 systems
136104
 - interfaces/hotplug: renamed RequestedSlotSpec to ProposedSlot,
136104
   removed Specification
136104
 - debian: ensure leftover usr.lib.snapd.snap-confine is gone
136104
 - image,cmd/snap,tests: introduce support for modern prepare-image
136104
   --snap <snap>[=<channel>]
136104
 - overlord/ifacestate: tweak logic for generating unique slot names
136104
 - packaging: import debian salsa packaging work, add sbuild test and
136104
   use in spead
136104
 - overlord/ifacestate: hotplug-add-slot handler
136104
 - image,cmd/snap:  simplify --classic-arch to --arch, expose
136104
   prepare-image
136104
 - tests: run test snap as user in the smoke test
136104
 - cmd/snap: tweak man output to have no doubled up .TP lines
136104
 - cmd/snap, overlord/snapstate: silently ignore classic flag when a
136104
   snap is strictly confined
136104
 - snap-confine: remove special handling of /var/lib/jenkins
136104
 - cmd/snap-confine: handle death of helper process
136104
 - packaging: disable systemd environment generator on 18.04
136104
 - snap-confine: fix classic snaps for users with /var/lib/* homedirs
136104
 - tests/prepare: prevent console-conf from running
136104
 - image: bootstrapToRootDir => setupSeed
136104
 - image,cmd/snap,tests:  introduce prepare-image --classic
136104
 - tests: update smoke/sandbox test for armhf
136104
 - client, daemon: introduce helper for querying snapd API for the
136104
   list of slot/plug connections
136104
 - cmd/snap-confine: refactor and cleanup of seccomp loading
136104
 - snapstate, snap: allow update/switch requests with risk only
136104
   channel to DTRT
136104
 - interfaces: add network-manager-observe interface
136104
 - snap-confine: increase locking timeout to 30s
136104
 - snap-confine: fix incorrect "sanity timeout 3s" message
136104
 - snap-confine: provide proper error message on sc_sanity_timeout
136104
 - snapd,state: improve error message on state reading failure
136104
 - interfaces/apparmor: deny inet/inet6 in snap-update-ns profile
136104
 - snap: fix reexec from the snapd snap for classic snaps
136104
 - snap: fix hook autodiscovery for parallel installed snaps
136104
 - overlord/snapstate: format the refresh time for the log
136104
 - cmd/snap-confine: add special case for Jenkins
136104
 - snapcraft.yaml: fix XBuildDeb PATH for go-1.10
136104
 - overlord/snapstate: validate instance names early
136104
 - overlord/ifacestate: handler for hotplug-update-slot tasks
136104
 - polkit: cast pid to uint32 to keep polkit happy for now
136104
 - snap/naming: move various name validation helpers to separate
136104
   package
136104
 - tests: iterate getting journal logs to support delay on boards on
136104
   daemon-notify test
136104
 - cmd/snap: fix typo in cmd_wait.go
136104
 - snap/channel: improve channel parsing
136104
 - daemon, polkit: pid_t is signed
136104
 - daemon: introduce /v2/connections snapd API endpoint
136104
 - cmd/snap: small refactor of cmd_info's channel handling
136104
 - overlord/snapstate: use an ad-hoc error when no results
136104
 - cmd/snap: wrap "summary" better
136104
 - tests: workaround missing go dependencies in debian-9
136104
 - daemon: try to tidy up the icon stuff a little
136104
 - interfaces: add display-control interface
136104
 - snapcraft.yaml: fix snap building in launchpad
136104
 - tests: update fedora 29 workers to speed up the whole testing time
136104
 - interfaces: add u2f-devices interface and allow reading udev
136104
   +power_supply:* in hardware-observe
136104
 - cmd/snap-update-ns: save errno from strtoul
136104
 - tests: interfaces tests normalization
136104
 - many: cleanup golang.org/x/net/context
136104
 - tests: add spread test for system dbus interface
136104
 - tests: remove -o pipefail
136104
 - interfaces: add block-devices interface
136104
 - spread: enable upgrade suite on fedora
136104
 - tests/main/searching: video section got renamed to photo-and-video
136104
 - interfaces/home: use dac_read_search instead of dac_override with
136104
   'read: all'
136104
 - snap: really run the RunSuite
136104
 - interfaces/camera: allow reading vendor/etc info from
136104
   /run/udev/data/+usb:*
136104
 - interfaces/dbus: be less strict about alternations for well-known
136104
   names
136104
 - interfaces/home: allow dac_override with 'read:
136104
   all'
136104
 - interfaces/pulseaudio: allow reading subdirectories of
136104
   /etc/pulse
136104
 - interfaces/system-observe: allow read on
136104
   /proc/locks
136104
 - run-checks: ensure we use go-1.10 if available
136104
 - tests: get test-snapd-dbus-{provider,consumer} from the beta
136104
   channel
136104
 - interfaces/apparmor: mock presence of overlayfs root
136104
 - spread: increase default kill-timeout to 30min
136104
 - tests: simplify interfaces-contacts-service test
136104
 - packaging/ubuntu: build with golang 1.10
136104
 - ifacestate/tests: extra test for hotplug-connect handler
136104
 - packaging: make sure that /var/lib/snapd/lib/glvnd is accounted
136104
   for
136104
 - overlord/snapstate/backend: call fontconfig helpers from the new
136104
   'current'
136104
 - kvm: load required kernel modules if necessary
136104
 - cmd/snap: use a fake user for 'run' tests
136104
 - tests: update systems for google sru backend
136104
 - tests: fix install-snaps test by changing the snap info regex
136104
 - interfaces: helpers for sorting plug/slot/connection refs
136104
 - tests: moving core-snap-refresh-on-core test from main to nested
136104
   suite
136104
 - tests: fix daemon-notify test checking denials considering all the
136104
   log lines
136104
 - tests: skip lp-1802591 on "official" images
136104
 - tests: fix listing tests to match "snap list --unicode=never"
136104
 - debian: fix silly typo in the spread test invocation
136104
 - interface: raw-usb: Adding ttyACM ttyACA permissions
136104
 - tests: fix enable-disable-unit-gpio test on external boards
136104
 - overlord/ifacestate: helper API to obtain the state of connections
136104
 - tests: define new "tests/smoke" suite and use that for
136104
   autopkgtests
136104
 - cmd/snap-update-ns: explicitly check for return value from
136104
   parse_arg_u
136104
 - interfaces/builtin/opengl: allow access to NVIDIA VDPAU library
136104
 - tests: auto-clean the test directory
136104
 - cmd/snap: further tweak messaging; add a test
136104
 - overlord/ifacestate: handler for hotplug-connect task
136104
 - cmd/snap-confine: join freezer only after setting up user mount
136104
 - cmd/snap-confine: don't preemptively create .mnt files
136104
 - cmd/snap-update-ns: manually implement isspace
136104
 - cmd/snap-update-ns: let the go parser know we are parsing -u
136104
 - cmd/snap-discard-ns: fix name of user fstab files
136104
 - snapshotstate: don't task.Log without the lock
136104
 - tests: exclude some more slow tests from runs in autopkgtest
136104
 - many: remove .user-fstab files from /run/snapd/ns
136104
 - cmd/libsnap: pass --from-snap-confine when calling snap-update-ns
136104
   as user
136104
 - cmd/snap-update-ns: make freezer mockable
136104
 - cmd/snap-update-ns: move XDG code to dedicated file
136104
 - osutil: add helper for loading fstab from string
136104
 - cmd/snap-update-ns: move existing code around, renaming some
136104
   functions
136104
 - overlord/configstate/configcore: support - and _ in cloud init
136104
   field names
136104
 - * cmd/snap-confine: use makedev instead of MKDEV
136104
 - tests: review/fix the autopkgtest failures in disco
136104
 - overlord: drop old v1 store api support from managers test
136104
 - tests: new test for snapshots with more than 1 user
136104
09f7b2
* Thu Feb 28 2019 Neal Gompa <ngompa13@gmail.com> - 2.37.4-2
09f7b2
- Fix accidentally corrupted changelog merge
09f7b2
abd7df
* Thu Feb 28 2019 Zygmunt Bazyli Krynicki <me@zygoon.pl> - 2.37.4-1
abd7df
- Release 2.37.4 to Fedora (RH#1683795)
09f7b2
- Fix RPM macro in changelog (rpmlint)
09f7b2
- Fix non-break space in changelog (rpmlint)
09f7b2
09f7b2
* Wed Feb 27 2019 Michael Vogt <mvo@ubuntu.com>
09f7b2
- New upstream release 2.37.4
abd7df
 - squashfs: unset SOURCE_DATE_EPOCH in the TestBuildDate test
09f7b2
 - overlord/ifacestate: fix migration of connections on upgrade from
09f7b2
   ubuntu-core
abd7df
 - tests: fix upgrade-from-2.15 with kernel 4.15
abd7df
 - interfaces/seccomp: increase filter precision
abd7df
 - tests: remove snapweb from tests
abd7df
361979
* Tue Feb 19 2019 Zygmunt Bazyli Krynicki <me@zygoon.pl> - 2.37.3-1
361979
- Release 2.37.3 to Fedora (RH#1678603)
361979
361979
* Mon Feb 18 2019 Michael Vogt <mvo@ubuntu.com>
361979
- New upstream release 2.37.3
361979
 - interfaces/seccomp: generate global seccomp profile
361979
 - overlord/snapstate: add some randomness to the catalog refresh
361979
 - tests: add upgrade test from 2.15.2ubuntu1 -> current snapd
361979
 - snap-confine: fix fallback to ubuntu-core
361979
 - packaging: avoid race in snapd.postinst
361979
 - overlord/snapstate: discard mount namespace when undoing 1st link
361979
   snap
361979
 - cmd/snap-confine: allow writes to /var/lib/** again
361979
 - tests: stop catalog-update/apt-hooks test until the catlog refresh
361979
   is randomized
361979
 - debian: ensure leftover usr.lib.snapd.snap-confine is gone
361979
971dc1
* Wed Feb 06 2019 Neal Gompa <ngompa13@gmail.com> - 2.37.2-1
971dc1
- Release 2.37.2 to Fedora (RH#1667460)
971dc1
971dc1
* Wed Feb 06 2019 Michael Vogt <mvo@ubuntu.com>
971dc1
- New upstream release 2.37.2
971dc1
 - cmd/snap, overlord/snapstate: silently ignore classic flag when a
971dc1
   snap is strictly confined
971dc1
 - snap-confine: remove special handling of /var/lib/jenkins
971dc1
 - cmd/snap-confine: handle death of helper process gracefully
971dc1
 - snap-confine: fix classic snaps for users with /var/lib/* homedirs
971dc1
   like jenkins/postgres
971dc1
 - packaging: disable systemd environment generator on 18.04
971dc1
 - tests: update smoke/sandbox test for armhf
971dc1
 - cmd/snap-confine: refactor and cleanup of seccomp loading
971dc1
 - snap-confine: increase locking timeout to 30s
971dc1
 - snap-confine: fix incorrect "sanity timeout 3s" message
971dc1
 - snap: fix hook autodiscovery for parallel installed snaps
971dc1
 - tests: iterate getting journal logs to support delay on boards on
971dc1
   daemon-notify test
971dc1
 - interfaces/apparmor: deny inet/inet6 in snap-update-ns profile
971dc1
 - interfaces: add u2f-devices interface
971dc1
931dd2
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.36.3-2
931dd2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
931dd2
971dc1
* Tue Jan 29 2019 Michael Vogt <mvo@ubuntu.com>
971dc1
- New upstream release 2.37.1
971dc1
 - cmd/snap-confine: add special case for Jenkins
971dc1
 - tests: workaround missing go dependencies in debian-9
971dc1
 - daemon, polkit: pid_t is signed
971dc1
 - interfaces: add display-control interface
971dc1
 - interfaces: add block-devices interface
971dc1
 - tests/main/searching: video section got renamed to photo-and-video
971dc1
 - interfaces/camera: allow reading vendor/etc info from
971dc1
   /run/udev/data/+usb
971dc1
 - interfaces/dbus: be less strict about alternations for well-known
971dc1
   names
971dc1
 - interfaces/home: allow dac_read_search with 'read: all'
971dc1
 - interfaces/pulseaudio: allow reading subdirectories of
971dc1
   /etc/pulse
971dc1
 - interfaces/system-observe: allow read on
971dc1
   /proc/locks
971dc1
 - tests: get test-snapd-dbus-{provider,consumer} from the beta
971dc1
   channel
971dc1
 - interfaces/apparmor: mock presence of overlayfs root
971dc1
 - packaging/{fedora,opensuse,ubuntu}: add /var/lib/snapd/lib/glvnd
971dc1
971dc1
* Wed Jan 16 2019 Michael Vogt <mvo@ubuntu.com>
971dc1
- New upstream release 2.37
971dc1
 - snapd: fix race in TestSanityFailGoesIntoDegradedMode test
971dc1
 - cmd: fix snap-device-helper to deal correctly with hooks
971dc1
 - tests: various fixes for external backend
971dc1
 - interface: raw-usb: Adding ttyACM[0-9]* as many serial devices
971dc1
   have device node /dev/ttyACM[0-9]
971dc1
 - tests: fix enable-disable-unit-gpio test on external boards
971dc1
 - tests: define new "tests/smoke" suite and use that for
971dc1
   autopkgtests
971dc1
 - interfaces/builtin/opengl: allow access to NVIDIA VDPAU
971dc1
   library
971dc1
 - snapshotstate: don't task.Log without the lock
971dc1
 - overlord/configstate/configcore: support - and _ in cloud init
971dc1
   field names
971dc1
 - cmd/snap-confine: use makedev instead of MKDEV
971dc1
 - tests: review/fix the autopkgtest failures in disco
971dc1
 - systemd: allow only a single daemon-reload at the same time
971dc1
 - cmd/snap: only auto-enable unicode to a tty
971dc1
 - cmd/snap: right-align revision and size in info's channel map
971dc1
 - dirs, interfaces/builtin/desktop: system fontconfig cache path is
971dc1
   different on Fedora
971dc1
 - tests: fix "No space left on device" issue on amazon-linux
971dc1
 - store: undo workaround for timezone-less released-at
971dc1
 - store, snap, cmd/snap: channels have released-at
971dc1
 - snap-confine: fix incorrect use "src" var in mount-support.c
971dc1
 - release: support probing SELinux state
971dc1
 - release-tools: display self-help
971dc1
 - interface: add new `{personal,system}-files` interface
971dc1
 - snap: give Epoch an Equal method
971dc1
 - many: remove unused interface code
971dc1
 - interfaces/many: use 'unsafe' with docker-support change_profile
971dc1
   rules
971dc1
 - run-checks: stop running HEAD of staticcheck
971dc1
 - release: use sync.Once around lazy intialized state
971dc1
 - overlord/ifacestate: include interface name in the hotplug-
971dc1
   disconnect task summary
971dc1
 - spread: show free space in debug output
971dc1
 - cmd/snap: attempt to restore SELinux context of snap user
971dc1
   directories
971dc1
 - image: do not write empty etc/cloud
971dc1
 - tests: skip snapd snap on reset for core systems
971dc1
 - cmd/snap-discard-ns: fix umount(2) typo
971dc1
 - overlord/ifacestate: hotplug-remove-slot task handler
971dc1
 - overlord/ifacestate: handler for hotplug-disconnect task
971dc1
 - ifacestate/hotplug: updateDevice helper
971dc1
 - tests: reset snapd state on tests restore
971dc1
 - interfaces: return security setup errors
971dc1
 - overlord: make InstallMany work like UpdateMany, issuing a single
971dc1
   request to get candidates
971dc1
 - systemd/systemd.go: add missing tests for systemd.IsActive
971dc1
 - overlord/ifacestate: addHotplugSeqWaitTask helper
971dc1
 - cmd/snap-confine: refactor call to snap-update-ns --user-mounts
971dc1
 - tests: new backend used to run upgrade test suite
971dc1
 - travis: short circuit failures in static and unit tests travis job
971dc1
 - cmd: automatically fix localized <option>s to <option>
971dc1
 - overlord/configstate,features: expose features to snapd tools
971dc1
 - selinux: package to query SELinux status and verify/restore file
971dc1
   contexts
971dc1
 - wrappers: use new systemd.IsActive in core18 early boot
971dc1
 - cmd: add tests for lintArg and lintDesc
971dc1
 - httputil: retry on temporary net errors
971dc1
 - cmd/snap-confine: remove unused sc_discard_preserved_mount_ns
971dc1
 - wrappers: only restart service in core18 when they are active
971dc1
 - overlord/ifacestate: helpers for serializing hotplug changes
971dc1
 - packaging/{fedora,opensuse}: own /var/lib/snapd/cookie
971dc1
 - systemd: start snapd.autoimport.service in --no-block mode
971dc1
 - data/selinux: fix syntax error in definition of snappy_admin
971dc1
   interface
971dc1
 - snap/info: bind global plugs/slots to implicit hooks
971dc1
 - cmd/snap-confine: remove SC_NS_MNT_FILE
971dc1
 - spread: record each tests/upgrade job
971dc1
 - osutil: do not import dirs
971dc1
 - cmd/snap-confine: fix typo "a pipe"
971dc1
 - tests: make security-device-cgroups-{devmode,jailmode} work on arm
971dc1
   devices
971dc1
 - tests: force test-snapd-daemon-notify exit 0 when the interface is
971dc1
   not connected
971dc1
 - overlord/snapstate: run 'remove' hook before 'auto-disconnect'
971dc1
 - centos: enable SELinux support on CentOS 7
971dc1
 - apparmor: allow hard link to snap-specific semaphore files
971dc1
 - tests/lib/pkgdb: disable weak deps on Fedora
971dc1
 - release: detect too old apparmor_parser
971dc1
 - tests: improve how the log is checked to see if the system is
971dc1
   waiting for a reboot
971dc1
 - cmd, dirs, interfaces/apparmor: update distro identification to
971dc1
   support ID="archlinux"
971dc1
 - spread, tests: add Fedora 29
971dc1
 - cmd/snap-confine: refactor calling snapd tools into helper module
971dc1
 - apparmor: allow snap-update-ns access to common devices
971dc1
 - cmd/snap-confine: capture initialized per-user mount ns
971dc1
 - tests: reduce verbosity around package installation
971dc1
 - data: set KillMode=process for snapd
971dc1
 - cmd/snap: handle DNS error gracefully
971dc1
 - spread, tests: use checkpoints when dumping audit log
971dc1
 - tests/lib/prepare: make sure that SELinux context of repacked core
971dc1
   snap is controlled
971dc1
 - testutils: split checkers, tweak tests
971dc1
 - tests: fix for tests test-*-cgroup
971dc1
 - spread: show AVC audits when debugging, start auditd on Fedora
971dc1
 - spread: drop Fedora 27, add Fedora 29
971dc1
 - tests/lib/reset: restore context of removed snapd directories
971dc1
 - testutil: add File{Present,Absent} checkers
971dc1
 - snap: add new `snap run --trace-exec`
971dc1
 - tests: fix for failover test on how logs are checked
971dc1
 - snapctl: add "services"
971dc1
 - overlord/snapstate: use file timestamp to initialize timer
971dc1
 - cmd/libsnap: introduce and use sc_strdup
971dc1
 - interfaces: let NM access ifindex/ifupdown files
971dc1
 - overlord/snapstate: on refresh, check new rev can read current
971dc1
 - client, store: don't use store from client (use client from store)
971dc1
 - tests/main/parallel-install-store: verify installation of more
971dc1
   than one instance at a time
971dc1
 - overlord: don't write system key if security setup fails
971dc1
 - packaging/fedora/snapd.spec: fix bogus date in changelog
971dc1
 - snapstate: update fontconfig caches on install
971dc1
 - interfaces/apparmor/backend.go:411:38: regular expression does not
971dc1
   contain any meta characters (SA6004)
971dc1
 - asserts/header_checks.go:199:35: regular expression does not
971dc1
   contain any meta characters (SA6004)
971dc1
 - run staticcheck every time :-)
971dc1
 - tests/lib/systemd-escape/main.go:46:14: printf-style function with
971dc1
   dynamic first argument and no further arguments should use print-
971dc1
   style function instead (SA1006)
971dc1
 - tests/lib/fakestore/cmd/fakestore/cmd_run.go:66:15: the channel
971dc1
   used with signal.Notify should be buffered (SA1017)
971dc1
 - tests/lib/fakedevicesvc/main.go:55:15: the channel used with
971dc1
   signal.Notify should be buffered (SA1017)
971dc1
 - spdx/parser.go:30:1: only the first constant has an explicit type
971dc1
   (SA9004)
971dc1
 - overlord/snapstate/snapmgr.go:553:21: printf-style function with
971dc1
   dynamic first argument and no further arguments should use print-
971dc1
   style function instead (SA1006)
971dc1
 - overlord/patch/patch3.go:44:70: printf-style function with dynamic
971dc1
   first argument and no further arguments should use print-style
971dc1
   function instead (SA1006)
971dc1
 - cmd/snap/cmd_advise.go:200:2: empty branch (SA9003)
971dc1
 - osutil/udev/netlink/conn.go:120:5: ineffective break statement.
971dc1
   Did you mean to break out of the outer loop? (SA4011)
971dc1
 - daemon/api.go:992:22: printf-style function with dynamic first
971dc1
   argument and no further arguments should use print-style function
971dc1
   instead (SA1006)
971dc1
 - cmd/snapd/main.go:94:5: ineffective break statement. Did you mean
971dc1
   to break out of the outer loop? (SA4011)
971dc1
 - cmd/snap/cmd_userd.go:73:15: the channel used with signal.Notify
971dc1
   should be buffered (SA1017)
971dc1
 - cmd/snap/cmd_help.go:102:7: io.Writer.Write must not modify the
971dc1
   provided buffer, not even temporarily (SA1023)
971dc1
 - release: probe apparmor features lazily
971dc1
 - overlord,daemon: mock security backends for testing
971dc1
 - cmd/libsnap: move apparmor-support to libsnap
971dc1
 - cmd: drop cruft from snap-discard-ns build rules
971dc1
 - cmd/snap-confine: use snap-discard-ns ns to discard stale
971dc1
   namespaces
971dc1
 - cmd/snap-confine: handle mounted shared /run/snapd/ns
971dc1
 - many: fix composite literals with unkeyed fields
971dc1
 - dirs, wrappers, overlord/snapstate: make completion + bases work
971dc1
 - tests: revert "tests: restore in restore, not prepare"
971dc1
 - many: validate title
971dc1
 - snap: make description maximum in runes, not bytes
971dc1
 - tests: discard mount namespaces in reset.sh
971dc1
 - tests/lib: sync cla check back from snapcraft
971dc1
 - Revert "cmd/snap, tests/main/snap-info: highlight the current
971dc1
   channel"
971dc1
 - daemon: remove enableInternalInterfaceActions
971dc1
 - mkversion: use "test -n" rather than "! test -z"
971dc1
 - run-checks: assorted fixes
971dc1
 - tests: restore in restore, not in prepare
971dc1
 - cmd/snap: fix missing newline in "snap keys" error message
971dc1
 - snap: epoch lists must contain no duplicate entries
971dc1
 - interfaces/avahi_observe: Fix typo in comment
971dc1
 - tests: add SPREAD_JOB to the description of
971dc1
   systemd_create_and_start_unit
971dc1
 - daemon, vendor: bump github.com/coreos/go-systemd/activation,
971dc1
   handle API changes
971dc1
 - Revert "cmd/snap-confine: don't allow mapping lib{uuid,blkid}"
abd7df
 - packaging/fedora: use %%_sysctldir macro
971dc1
 - cmd/snap-confine: remove unneeded unshare
971dc1
 - sanity: extend the kernel version check to cover CentOS/RHEL
971dc1
   kernels
971dc1
 - wrappers: remove all desktop files from a snap on removal
971dc1
 - snap: add an explicit check for `epoch: null` loading
971dc1
 - snap: check max description length in validate
971dc1
 - spread, tests: add CentOS support
971dc1
 - cmd/snap-confine: allow mapping more libc shards
971dc1
 - cmd/snap-discard-ns: add support for --from-snap-confine
971dc1
 - tests: make tinyproxy support systemd notify
971dc1
 - tests: fix shellcheck
971dc1
 - snap, store: rename `snap.Epoch`'s `Unset` to `IsZero`
971dc1
 - store: add a test for a non-zero epoch refresh (with epoch bump)
971dc1
 - store: v1 search doesn't send epoch, stop pretending it does
971dc1
 - snap: make any "0" epoch be Unset, and marshalled to {[0],[0]}
971dc1
 - overlord/snapstate: amend test should send local revision
971dc1
 - tests: use mock-gpio.py in enable-disable-units-gpio test
971dc1
 - snap: enforce minimal snap name len of 2
971dc1
 - cmd/libsnap: add sc_verify_snap_lock
971dc1
 - cmd/snap-update-ns: extra debugging of trespassing events
971dc1
 - userd: force zenity width if the text displayed is long
971dc1
 - overlord/snapstate, store: always send epochs
971dc1
 - cmd/snap-confine,snap-update-ns: discard quirks
971dc1
 - cmd/snap: add nanosleep to blacklisted syscalls when running with
971dc1
   --strace
971dc1
 - cmd/snap-update-ns, tests: clean trespassing paths
971dc1
 - nvidia, interfaces/builtin: OpenCL fixes
971dc1
 - ifacestate/hotplug: removeDevice helper
971dc1
 - cmd: install snap-discard-ns in "make hack"
971dc1
 - overlord/ifacestate: setup security backends phased by backends
971dc1
   first
971dc1
 - ifacestate/helpers: added SystemSnapName mapper helper method
971dc1
 - overlord/ifacestate: set hotplug-key of the connection when
971dc1
   connecting hotplug slots
971dc1
 - snapd: allow snap-update-ns to read /proc/version
971dc1
 - cmd: handle tumbleweed and leap in autogen.sh
971dc1
 - interfaces/tests: MockHotplugSlot test helper
971dc1
 - store,daemon: make UserInfo,LoginUser part of the store interface
971dc1
 - overlord/ifacestate: use remapper when checking if system snap is
971dc1
   installed
971dc1
 - tests: fix how pinentry is prepared for new gpg v 2.1 and 2.2
971dc1
 - packaging/arch: fix bash completions path
971dc1
 - interfaces/builtin: add device-buttons interface for accessing
971dc1
   events
971dc1
 - tests, fakestore: extend refresh tests with parallel installed
971dc1
   snaps
971dc1
 - snap, store, overlord/snapshotstate: drop epoch pointers
971dc1
 - snap: make Epoch default to {[0],[0]} on load from yaml
971dc1
 - data/completion: pass documented arguments to completion functions
971dc1
 - tests: skip opensuse from interfaces-openvswitch-support test
971dc1
 - tests: simple reproducer for snap try and hooks bug
971dc1
 - snapstate: do not allow classic mode for strict snaps
971dc1
 - snap: make Epoch's MarshalJSON not simplify
971dc1
 - store: remove unused currentSnap and currentSnapJSON
971dc1
 - many: some small doc comment fixes in recent hotplug code
971dc1
 - ifacestate/udevmonitor: added callback to signal end of
971dc1
   enumeration
971dc1
 - cmd/libsnap: add simplified feature flag checker
971dc1
 - interfaces/opengl: add additional accesses for cuda
971dc1
 - tests: add core18 only hooks test and fix running core18 only on
971dc1
   classic
971dc1
 - sanity, release, cmd/snap: refuse to try to do things on WSL.
971dc1
 - cmd: make coreSupportsReExec faster
971dc1
 - overlord/ifacestate: don't remove the dash when generating unique
971dc1
   slot name
971dc1
 - cmd/snap-seccomp: add full complement of ptrace constants
971dc1
 - cmd: update autogen.sh for opensuse
971dc1
 - interfaces/apparmor: allow access to /run/snap.$SNAP_INSTANCE_NAME
971dc1
 - spread.yaml: add more systems to the autopkgtest and qemu backends
971dc1
 - daemon: spool sideloaded snap into blob dir
971dc1
   overlord/snapstate: address review feedback
971dc1
 - packaging/opensuse: stop using golang-packaging
971dc1
 - overlord/snapshots: survive an unknown user
971dc1
 - wrappers: fix generating of service units with multiple `before`
971dc1
   dependencies
971dc1
 - data: run snapd.autoimport.service only after seeding
971dc1
 - cmd/snap: unhide --name parameter to snap install, tweak help
971dc1
   message
971dc1
 - packaging/fedora: Merge changes from Fedora Dist-Git
971dc1
 - tests/main/snap-service-after-before-install: verify after/before
971dc1
   in snap install
971dc1
 - overlord/ifacestate: mark connections disconnected by hotplug with
971dc1
   hotplug-gone
971dc1
 - ifacestate/ifacemgr: don't reload hotplug-gone connections on
971dc1
   startup
971dc1
 - tests: install dependencies during prepare
971dc1
 - tests,store,daemon: ensure proxy settings are honored in
971dc1
   auth/userinfo too
971dc1
 - tests: core 18 does not support classic confinement
971dc1
 - tests: add debug output for degraded test
971dc1
 - strutil: make VersionCompare faster
971dc1
 - overlord/snapshotstate/backend: survive missing directories
971dc1
 - overlord/ifacestate: use map[string]*connState when passing conns
971dc1
   around
971dc1
 - tests: move fedora 28 to manual
971dc1
 - overlord/snapshotstate/backend: be more verbose when
971dc1
   SNAPPY_TESTING=1
971dc1
 - tests: removing fedora 26 system from spread.yaml
971dc1
 - tests: linode execution is not needed anymore
971dc1
 - tests/lib: adjust to changed systemctl behaviour on debian-9
971dc1
 - tests: fixes and new backend for tests on nested suite
971dc1
 - strutil: let MatchCounter work with a nil regexp
971dc1
 - ifacestate/helpers: findConnsForHotplugKey helper
971dc1
 - many: move regexp.(Must)Compile out of non-init functions into
971dc1
   variables
971dc1
 - store: also make snaps downloaded via deltas 0600
971dc1
 - snap: use Lstat to determine snap size, remove
971dc1
   ReadSnapInfoExceptSize
971dc1
 - interfaces/builtin: add adb-support interface
971dc1
 - tests: fail if install_snap_local fails
971dc1
 - strutil: add extra test to CommaSeparatedList as suggested by
971dc1
   mborzecki
971dc1
 - cmd/snap, daemon, strutil: use CommaSeparatedList to split a CSL
971dc1
 - ifacestate: optimize disconnect hooks
971dc1
 - cmd/snap-update-ns: parse the -u <uid> command line option
971dc1
 - cmd/snap, tests: snapshots for all
971dc1
 - client, cmd/daemon: allow disabling keepalive, improve degraded
971dc1
   mode unit tests
971dc1
 - snap: only show "next" refresh time if its after the hold time
971dc1
 - overlord/snapstate: run tests for classic snaps even on systems
971dc1
   that don't support classic
971dc1
 - overlord/standby: fix a race between standby goroutine and stop
971dc1
 - cmd/snap-exec: don't fail on some try mode snaps
971dc1
 - cmd/snap, userd, testutil: tweak DBus tests to use private session
971dc1
   bus connection
971dc1
 - cmd: remove remnants of sc_should_populate_mount_ns
971dc1
 - client, daemon, cmd/snap: indicate that services are socket/timer
971dc1
   activated
971dc1
 - cmd/snap-seccomp: only look for PTRACE_GETFPX?REGS where available
971dc1
 - cmd/snap-confine: remove SC_NS_FAIL_GRACEFULLY
971dc1
 - snap/pack, cmd/snap: allow specifying the filename of 'snap pack'
971dc1
 - cmd/snap-discard-ns: add support for per-user mount namespaces
971dc1
 - cmd/snap-confine: remove stale mount profile along stale namespace
971dc1
 - data/apt: close stderr when calling snap in the apt install hook.
971dc1
 - tests/main: fixes for the new shellcheck
971dc1
 - testutil, cmd/snap: introduce and use testutil.EqualsWrapped and
971dc1
   fly
971dc1
 - tests: initial setup for testing current branch on nested vm and
971dc1
   hotplug management
971dc1
 - cmd: refactor IPC and lifecycle of the helper process
971dc1
 - tests/main/parallel-install-store: the store has caught up, do not
971dc1
   expect failures
971dc1
 - overlord/snapstate, snap, wrappers: start services in the right
971dc1
   order during install
971dc1
 - interfaces/browser-support, cmd/snap-seccomp: Allow read-only
971dc1
   ptrace, for the Breakpad crash reporter
971dc1
 - snap,client: use a different exit code for retryable errors
971dc1
 - overlord/ifacestate: don't conflict on own discard-snap tasks when
971dc1
   refreshing & doing garbage collection
971dc1
 - cmd/snap: tweak `snap services` output when there is no services
971dc1
 - interfaces/many: updates to support k8s worker nodes
971dc1
 - cmd/snap: gnome-software install via snap:// handler
971dc1
 - overlord/many: cleanup use of snapName vs. instanceName
971dc1
 - snapstate: add command-chain to supported featureset
971dc1
 - daemon, snap: mark screenshots as deprecated
971dc1
 - interfaces: fix decoding of json numbers for static/dynamic
971dc1
   attributes* ifstate: fix decoding of json numbers
971dc1
 - cmd/snap: try not to panic on error from "snap try"
971dc1
 - tests: new cosmic image for spread tests on gce
971dc1
 - interfaces/system-key: add parser mtime and only discover features
971dc1
   on write
971dc1
 - overlord/snapshotstate/backend: detect path to tar in unit tests
971dc1
 - tests/unit/gccgo: drop gccgo unit tests
971dc1
 - cmd: use relative file names in locking APIs
971dc1
 - interfaces: fix NormalizeInterfaceAttributes, add tests
971dc1
 - overlord/snapshotstate/backend: fall back on sudo when no runuser
971dc1
 - cmd/snap-confine: reduce verbosity of debug and error messages
971dc1
 - systemd: extend Status() to work for socket and timer units
971dc1
 - interfaces: typo 'allows' for consistency with other ifaces
971dc1
 - systemd,wrappers: don't start disabled services
971dc1
 - ifacestate: simplify task chaining in ifacestate.Connect
971dc1
 - tests: ensure that goa-daemon is off
971dc1
 - snap/pack, snap/squashfs: remove extra copy before mksquashfs
971dc1
 - cmd/snap: block 'snap help <cmd> --all'
971dc1
 - asserts, image: ensure kernel, gadget, base and required-snaps use
971dc1
   valid snap names
971dc1
 - apparmor: add unit test for probeAppArmorParser and simplify code
971dc1
 - interfaces/apparmor: conditionally add explicit deny rules for
971dc1
   ptrace
971dc1
 - po: sync translations from launchpad
971dc1
 - osutil: tweak handling of error adduser errors
971dc1
 - cmd: rename ns_group to mount_ns
971dc1
 - tests/main/interfaces-accounts-service: more debugging
971dc1
 - snap/pack, snap/squashfs: use type to determine mksquashfs args
971dc1
 - data/systemd, wrappers: tweak system-shutdown helper for core18
971dc1
 - tests: show list of processes when ifaces-accounts-service fails
971dc1
 - tests: do not run degraded test in autopkgtest env
971dc1
 - snap: overhaul validation error messages
971dc1
 - ifacestate/hooks: only create interface hook tasks if hooks exist
971dc1
 - osutil: workaround overlayfs on ubuntu 18.10
971dc1
 - interfaces/home: don't allow snaps to write to $HOME/bin
971dc1
 - interfaces: improve Attr error further
971dc1
 - snapstate: tweak GetFeatureFlagBool() to have a default argument
971dc1
 - many: cleanup remaining parallel installs TODOs
971dc1
 - image: improve validation of extra snaps
971dc1
2bb0e7
* Tue Dec 18 2018 Neal Gompa <ngompa13@gmail.com> - 2.36.3-1
2bb0e7
- Release 2.36.3 to Fedora
2bb0e7
- Remove merged patch
2bb0e7
2bb0e7
* Fri Dec 14 2018 Michael Vogt <mvo@ubuntu.com>
2bb0e7
- New upstream release 2.36.3
2bb0e7
 - wrappers: use new systemd.IsActive in core18 early boot
2bb0e7
 - httputil: retry on temporary net errors
2bb0e7
 - wrappers: only restart service in core18 when they are active
2bb0e7
 - systemd: start snapd.autoimport.service in --no-block mode
2bb0e7
 - data/selinux: fix syntax error in definition of snappy_admin
2bb0e7
   interfacewhen installing selinux-policy-devel package.
2bb0e7
 - centos: enable SELinux support on CentOS 7
2bb0e7
 - cmd, dirs, interfaces/apparmor: update distro identification to
2bb0e7
   support ID="archlinux"
2bb0e7
 - apparmor: allow hard link to snap-specific semaphore files
2bb0e7
 - overlord,apparmor: new syskey behaviour + non-ignored snap-confine
2bb0e7
   profile errors
2bb0e7
 - snap: add new `snap run --trace-exec` call
2bb0e7
 - interfaces/backends: detect too old apparmor_parser
2bb0e7
2bb0e7
* Thu Nov 29 2018 Michael Vogt <mvo@ubuntu.com>
2bb0e7
- New upstream release 2.36.2
2bb0e7
 - daemon, vendor: bump github.com/coreos/go-systemd/activation,
2bb0e7
   handle API changes
2bb0e7
 - snapstate: update fontconfig caches on install
2bb0e7
 - overlord,daemon: mock security backends for testing
2bb0e7
 - sanity, spread, tests: add CentOS
2bb0e7
 - Revert "cmd/snap, tests/main/snap-info: highlight the current
2bb0e7
   channel"
2bb0e7
 - cmd/snap: add nanosleep to blacklisted syscalls when running with
2bb0e7
   --strace
2bb0e7
 - tests: add regression test for LP: #1803535
2bb0e7
 - snap-update-ns: fix trailing slash bug on trespassing error
2bb0e7
 - interfaces/builtin/opengl: allow reading /etc/OpenCL/vendors
2bb0e7
 - cmd/snap-confine: nvidia: pick up libnvidia-opencl.so
2bb0e7
 - interfaces/opengl: add additional accesses for cuda
2bb0e7
2bb0e7
* Wed Nov 21 2018 Neal Gompa <ngompa13@gmail.com> - 2.36-4
2bb0e7
- Fix backport patch
2bb0e7
c7271a
* Wed Nov 21 2018 Neal Gompa <ngompa13@gmail.com> - 2.36-3
c7271a
- Backport fixes for EL7 support
c7271a
c3f256
* Wed Nov 14 2018 Neal Gompa <ngompa13@gmail.com> - 2.36-2
c3f256
- Fix runtime dependency for selinux subpackage for EL7
c3f256
2bb0e7
* Fri Nov 09 2018 Michael Vogt <mvo@ubuntu.com>
2bb0e7
- New upstream release 2.36.1
2bb0e7
 - tests,snap-confine: add core18 only hooks test and fix running
2bb0e7
   core18 only hooks on classic
2bb0e7
 - interfaces/apparmor: allow access to
2bb0e7
   /run/snap.$SNAP_INSTANCE_NAME
2bb0e7
 - spread.yaml: add more systems to the autopkgtest and qemu backends
2bb0e7
 - daemon: spool sideloaded snap into blob dir
2bb0e7
 - wrappers: fix generating of service units with multiple `before`
2bb0e7
   dependencies
2bb0e7
 - data: run snapd.autoimport.service only after seeding
2bb0e7
 - tests,store,daemon: ensure proxy settings are honored in
2bb0e7
   auth/userinfo too
2bb0e7
 - packaging/fedora: Merge changes from Fedora Dist-Git
2bb0e7
 - tests/lib: adjust to changed systemctl behaviour on debian-9
2bb0e7
 - tests/main/interfces-accounts-service: switch to busctl, more
2bb0e7
   debugging
2bb0e7
 - store: also make snaps downloaded via deltas 0600
2bb0e7
 - cmd/snap-exec: don't fail on some try mode snaps
2bb0e7
 - cmd/snap, userd, testutil: tweak DBus tests to use private session
2bb0e7
   bus connection
2bb0e7
 - tests/main: fixes for the new shellcheck
2bb0e7
 - cmd/snap-confine: remove stale mount profile along stale namespace
2bb0e7
 - data/apt: close stderr when calling snap in the apt install hook
2bb0e7
e2755c
* Sun Nov 04 2018 Neal Gompa <ngompa13@gmail.com> - 2.36-1
e2755c
- Release 2.36 to Fedora
e2755c
e2755c
* Wed Oct 24 2018 Michael Vogt <mvo@ubuntu.com>
e2755c
- New upstream release 2.36
e2755c
 - overlord/snapstate, snap, wrappers: start services in the right
e2755c
   order during install
e2755c
 - tests: the store has caught up, drop gccgo test, update cosmic
e2755c
   image
e2755c
 - cmd/snap: try not to panic on error from "snap try"`--devmode`
e2755c
 - overlord/ifacestate: don't conflict on own discard-snap tasks when
e2755c
   refreshing & doing garbage collection
e2755c
 - snapstate: add command-chain to supported featureset
e2755c
 - daemon, snap: mark screenshots as deprecated
e2755c
 - interfaces: fix decoding of json numbers for static/dynamic
e2755c
   attributes
e2755c
 - data/systemd, wrappers: tweak system-shutdown helper for core18
e2755c
 - interfaces/system-key: add parser mtime and only discover features
e2755c
   on write
e2755c
 - interfaces: fix NormalizeInterfaceAttributes, add tests
e2755c
 - systemd,wrappers: don't start disabled services
e2755c
 - ifacestate/hooks: only create interface hook tasks if hooks exist
e2755c
 - tests: do not run degraded test in autopkgtest env
e2755c
 - osutil: workaround overlayfs on ubuntu 18.10
e2755c
 - interfaces: include invalid type in Attr error
e2755c
 - many: enable layouts by default
e2755c
 - interfaces/default: don't scrub with change_profile with classic
e2755c
 - cmd/snap: speed up unit tests
e2755c
 - vendor, cmd/snap: refactor to accommodate the new less buggy go-
e2755c
   flags
e2755c
 - daemon: expose snapshots to the API
e2755c
 - interfaces: updates for default, screen-inhibit-control, tpm,
e2755c
   {hardware,system,network}-observe
e2755c
 - interfaces/hotplug: rename HotplugDeviceKey method to HotplugKey,
e2755c
   update test interface
e2755c
 - interfaces/tests: use TestInterface instead of a custom local
e2755c
   helper
e2755c
 - overlord/snapstate: export getFeatureFlagBool.
e2755c
 - osutil,asserts,daemon: support force password change in system-
e2755c
   user assertion
e2755c
 - snap, wrappers: support restart-delay, generate RestartSec=<value>
e2755c
   in service units
e2755c
 - tests/ifacestate: moved asserts-related mocking into helper
e2755c
 - image: fetch device store assertion if available
e2755c
 - many: enable AppArmor on Arch
e2755c
 - interfaces/repo: two helper methods for hotplug
e2755c
 - overlord/ifacestate: add hotplug slots with implicit slots
e2755c
 - interfaces/hotplug: helpers and struct updates
e2755c
 - tests: run the snapd tests on Ubuntu 18.10
e2755c
 - snapstate: only report errors if there is an actual error
e2755c
 - store: speedup unit tests
e2755c
 - spread-shellcheck: fix interleaved error messages, tweaks
e2755c
 - apparmor: create SnapAppArmorDir in setupSnapConfineReexec
e2755c
 - ifacestate: implementation of defaultDeviceKey function for
e2755c
   hotplug
e2755c
 - cmd/snap-update-ns: remove empty placeholders used for mounting
e2755c
 - snapshotstate: restore to current revision
e2755c
 - tests/lib: rework the CLA checker
e2755c
 - many: support and consider store friendly-stores when checking
e2755c
   device scope constraints
e2755c
 - overlord/snapstate: block parallel installs of snapd, core, base,
e2755c
   kernel, gadget snaps
e2755c
 - overlord/patch: patch for static plug/slot attributes
e2755c
 - interfaces: honor static attributes when reloading conns
e2755c
 - osutils: unit tests speedup; introduce «run-checks --short-
e2755c
   unit».
e2755c
 - systemd, wrappers: speed up wrappers unit tests
e2755c
 - client: speedup unit tests
e2755c
 - spread-shellcheck: use threads to parallelise
e2755c
 - snap: validate plug and slot names
e2755c
 - osutil, interfaces/apparmor: add and use of osutil.UnlinkMany
e2755c
 - wrappers: do not depend on network.taget in socket units, tweak
e2755c
   generated units
e2755c
 - interfaces/apparmor: (un)load profiles in one apparmor_parser call
e2755c
 - store: gracefully handle unexpected errors in 'action'
e2755c
   response
e2755c
 - cmd: put our manpages in section 8
e2755c
 - overlord: don't make become-operational interfere with user
e2755c
   requests
e2755c
 - store: tweak unmatched refresh result error log
e2755c
 - snap, client, daemon, store: use and expose "media" more
e2755c
 - tests,cmd/snap-update-ns: add test showing mount update bug
e2755c
   cmd/snap-update-ns: better detection of snapd-made tmpfs
e2755c
 - tests: spread tests for aliases with parallel installed snaps
e2755c
 - interfaces/seccomp: allow using statx by default
e2755c
 - store: gracefully handle unexpected errors in 'action' response
e2755c
 - overlord/snapshotstate: chown the tempdir
e2755c
 - cmd/snap: attempt to start the document portal if running with a
e2755c
   session bus
e2755c
 - snap: detect layouts vs layout in snap.yaml
e2755c
 - interfaces/apparmor: handle overlayfs snippet for snap-update-ns
e2755c
 - snapcraft.yaml: set grade to stable
e2755c
 - tests: shellchecks, final round
e2755c
 - interfaces/apparmor: handle overlayfs snippet for snap-update-ns
e2755c
 - snap: detect layouts vs layout in snap.yaml
e2755c
 - overlord/snapshotstate: store epoch in snapshot, check on restore
e2755c
 - cmd/snap: tweak UX of snap refresh --list
e2755c
 - overlord/snapstate: improve consistency, use validateInfoAndFlags
e2755c
   also in InstallPath
e2755c
 - snap: give Epoch a CanRead helper
e2755c
 - overlord/snapshotstate: small refactor of internal helpers
e2755c
 - interfaces/builtin: adding missing permission to create
e2755c
   /run/wpa_supplicant directory
e2755c
 - interfaces/builtin: avahi interface update
e2755c
 - client, daemon: support passing of 'unaliased' option when
e2755c
   installing from local files
e2755c
 - selftest: rename selftest.Run() to sanity.Check()
e2755c
 - interfaces/apparmor: report apparmor support level and policy
e2755c
 - ifacestate: helpers for generating slot names for hotplug
e2755c
 - overlord/ifacestate: make sure to pass in the Model assertion when
e2755c
   enforcing policies
e2755c
 - overlord/snapshotstate: store the SnapID in snapshot, block
e2755c
   restore if changed
e2755c
 - interfaces: generalize writable mimic profile
e2755c
 - asserts,interfaces/policy: add support for on-store/on-brand/on-
e2755c
   model plug/slot rule constraints
e2755c
 - many: fetch the device store assertion together and in the context
e2755c
   of interpreting snap-declarations
e2755c
 - tests: disable gccgo tests on 18.04 for now, until dh-golang vs
e2755c
   gccgo is fixed
e2755c
 - tests/main/parallel-install-services: add spread test for snaps
e2755c
   with services
e2755c
 - tests/main/snap-env: extend to cover parallel installations of
e2755c
   snaps
e2755c
 - tests/main/parallel-install-local: rename from *-sideload, extend
e2755c
   to run snaps
e2755c
 - cmd/snapd,daemon,overlord: without snaps, stop and wait for socket
e2755c
 - cmd/snap: tame the help zoo
e2755c
 - tests/main/parallel-install-store: run installed snap
e2755c
 - cmd/snap: add a bunch of TRANSLATORS notes (and a little more
e2755c
   i18n)
e2755c
 - cmd: fix C formatting
e2755c
 - tests: remove unneeded cleanup from layout tests
e2755c
 - image: warn on missing default-providers
e2755c
 - selftest: add test to ensure selftest.checks is up-to-date
e2755c
 - interfaces/apparmor, interfaces/builtin: tweaks for parallel snap
e2755c
   installs
e2755c
 - userd: extend the list of supported XDG Desktop properties when
e2755c
   autostarting user applications
e2755c
 - cmd/snap-update-ns: enforce trespassing checks
e2755c
 - selftest: actually run the kernel version selftest
e2755c
 - snapd: go into degraded mode when the selftest fails
e2755c
 - tests: add test that runs snapctl with a core18 snap
e2755c
 - tests: add snap install hook with base: core18
e2755c
 - overlord/{snapstate,assertstate}: parallel instances and
e2755c
   refresh validation
e2755c
 - interfaces/docker-support: add rules to read apparmor macros
e2755c
 - tests: make nfs test available for more systems
e2755c
 - tests: cleanup copy/paste dup in interfaces-network-setup-control
e2755c
 - tests: using single sh snap in interface tests
e2755c
 - overlord/snapstate: improve cleaup in mount-snap handler
e2755c
 - tests: don't fail interfaces-bluez test if bluez is already
e2755c
   installed
e2755c
 - tests: find snaps just for edge and beta channels
e2755c
 - daemon, snapstate: consistent snap list [--all] output with broken
e2755c
   snaps
e2755c
 - tests: fix listing to allow extra things in the notes column
e2755c
 - cmd/snap: improve UX when removing specific snap revision
e2755c
 - cmd/snap, tests/main/snap-info: highlight the current channel
e2755c
 - interfaces/testiface: added TestHotplugInterface
e2755c
 - snap: tweak commands
e2755c
 - interfaces/hotplug: hotplug spec takes one slot definition
e2755c
 - overlord/snapstate, snap: handle shared snap directories when
e2755c
   installing/remove snaps with instance key
e2755c
 - interfaces/opengl: misc accesses for VA-API
e2755c
 - client, cmd/snap: expose warnings to the world
e2755c
 - cmd/snap-update-ns: introduce trespassing state tracking
e2755c
 - cmd/snap: commands no longer build their own client
e2755c
 - tests: try to build cmd/snap for darwin
e2755c
 - daemon: make error responders not printf when called with 1
e2755c
   argument
e2755c
 - many: return real snap name in API response
e2755c
 - overlord/state: return latest LastAdded time in WarningsSummary
e2755c
 - many: mount namespace mapping for parallel installs of snaps
e2755c
 - ifacestate/autoconnect: do not self-conflict on setup-profiles if
e2755c
   core-phase-2
e2755c
 - client, cmd/snap: on !linux, exit when the client tries to Do
e2755c
   something
e2755c
 - tests: refactor for nested suite and tests fixed
e2755c
 - tests: use lxd's waitready instead of polling lxd socket
e2755c
 - ifacestate: don't initialize udev monitor until we have a system
e2755c
   snap
e2755c
 - interfaces: extra argument for static attrs in
e2755c
   NewConnectedPlug/NewConnectedSlot
e2755c
 - packaging/arch: sync packaging with AUR
e2755c
 - snapstate/tests: serialize all appends in fake backend
e2755c
 - snap-confine: make /lib/modules optional
e2755c
 - cmd/snap: handle "snap interfaces core" better
e2755c
 - store: move download tests into downloadSuite
e2755c
 - tests,interfaces: run interfaces-account-control on UC18
e2755c
 - tests: fix install snaps test by adding link to /snap
e2755c
 - tests: fix for nested test suite
e2755c
 - daemon: fix snap list --all with parallel snap instances
e2755c
 - snapstate: refactor tests to use SetModel*
e2755c
 - wrappers: fix snap services order in tests
e2755c
 - many: provide salt for generating instance-key in store requests
e2755c
 - ifacestate: fix hang when retrying content providers
e2755c
 - snapd-env-generator: fix when PATH is empty or unset
e2755c
 - overlord/assertstate: propagate TaskSnapSetup error
e2755c
 - client: catch and expose logs errors
e2755c
 - overlord: integrate device enumeration with udev monitor
e2755c
 - daemon, overlord/state: warnings pipeline
e2755c
 - tests: add publisher regex to fix the snap-info test pass on sru
e2755c
 - cmd: use systemdsystemgeneratorsdir, cleanup automake complaints,
e2755c
   tweaks
e2755c
 - cmd/snap-update-ns: remove the unused Secure type
e2755c
 - osutil, o/snapshotstate, o/sss/backend: quick fixes
e2755c
 - tests: update the listing expression to support core from
e2755c
   different channels
e2755c
 - store: use stable instance key in store refresh requests
e2755c
 - cmd/snap-update-ns: detach Mk{Prefix,{File,Dir,Symlink{,All}}}
e2755c
 - overlord/patch: support for sublevel patches
e2755c
 - tests: update prepare/restore for nightly suite
e2755c
 - cmd/snap-update-ns: detach BindMount from the Secure type
e2755c
 - cmd/snap-update-ns: re-factor pair of helpers to call fstatfs once
e2755c
 - ifacestate: retry on "discard-snap" in autoconnect conflict check
e2755c
 - cmd/snap-update-ns: separate OpenPath from the Secure struct
e2755c
 - wrappers: remove Wants=network-online.target
e2755c
 - tests: add new core16-base test
e2755c
 - store: refactor tests so that they work as store_test package
e2755c
 - many: add refresh.rate-limit core option
e2755c
 - tests: run account-control test with different bases
e2755c
 - tests: port proxy test to use python tinyproxy
e2755c
 - overlord: introduce snapshotstate.
e2755c
 - testutil: allow Fstatfs results to vary over time
e2755c
 - snap-update-ns: add comments about the "deadcode" in bootstrap.go
e2755c
 - overlord: add chg.Err() in testUpdateWithAutoconnectRetry
e2755c
 - many: remove deadcode
e2755c
 - tests: also run unit/gccgo in 18.04
e2755c
 - tests: introduce a helper for installing local snaps with --name
e2755c
 - tests: avoid removing core snap on reset
e2755c
 - snap: use snap.SideInfo in test to fix build with gccgo
e2755c
 - partition: remove unused runCommand
e2755c
 - image: fix incorrect error when using local bases
e2755c
 - overlord/snapstate: fix format