# With Fedora, nothing is bundled. For everything else, bundling is used. # To use bundled stuff, use "--with vendorized" on rpmbuild %if 0%{?fedora} %bcond_with vendorized %else %bcond_without vendorized %endif %global with_devel 1 %global with_debug 1 %global with_check 0 %global with_unit_test 0 # For the moment, we don't support all golang arches... %global with_goarches 0 %if ! %{with vendorized} %global with_bundled 0 %else %global with_bundled 1 %endif %if 0%{?with_debug} %global _dwz_low_mem_die_limit 0 %else %global debug_package %{nil} %endif %global provider github %global provider_tld com %global project snapcore %global repo snapd # https://github.com/snapcore/snapd %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} %global snappy_svcs snapd.service snapd.socket snapd.autoimport.service snapd.refresh.timer snapd.refresh.service Name: snapd Version: 2.26.3 Release: 3%{?dist} Summary: A transactional software package manager Group: System Environment/Base License: GPLv3 URL: https://%{provider_prefix} %if ! 0%{?with_bundled} Source0: https://%{provider_prefix}/archive/%{version}/%{name}-%{version}.tar.gz %else Source0: https://%{provider_prefix}/releases/download/%{version}/%{name}_%{version}.vendor.orig.tar.xz %endif # Script to implement certain package management actions Source1: snap-mgmt.sh # Upstream proposed PR: https://github.com/snapcore/snapd/pull/3162 Patch0001: 0001-cmd-use-libtool-for-the-internal-library.patch # Temporary patch until properly fixed in 2.27 Patch0100: snapd-2.26.1-interfaces-seccomp-allow-bind-for-Fedora.patch %if 0%{?with_goarches} # e.g. el6 has ppc64 arch without gcc-go, so EA tag is required ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}} %else # Verified arches from snapd upstream ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %endif # If go_compiler is not set to 1, there is no virtual provide. Use golang instead. BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} BuildRequires: systemd %{?systemd_requires} Requires: snap-confine%{?_isa} = %{version}-%{release} Requires: squashfs-tools # we need squashfs.ko loaded Requires: kmod(squashfs.ko) # bash-completion owns /usr/share/bash-completion/completions Requires: bash-completion # Force the SELinux module to be installed Requires: %{name}-selinux = %{version}-%{release} %if ! 0%{?with_bundled} BuildRequires: golang(github.com/cheggaaa/pb) BuildRequires: golang(github.com/coreos/go-systemd/activation) BuildRequires: golang(github.com/gorilla/mux) BuildRequires: golang(github.com/jessevdk/go-flags) BuildRequires: golang(github.com/mvo5/uboot-go/uenv) BuildRequires: golang(github.com/ojii/gettext.go) BuildRequires: golang(golang.org/x/crypto/openpgp/armor) BuildRequires: golang(golang.org/x/crypto/openpgp/packet) BuildRequires: golang(golang.org/x/crypto/sha3) BuildRequires: golang(golang.org/x/crypto/ssh/terminal) BuildRequires: golang(golang.org/x/net/context) BuildRequires: golang(golang.org/x/net/context/ctxhttp) BuildRequires: golang(gopkg.in/check.v1) BuildRequires: golang(gopkg.in/macaroon.v1) BuildRequires: golang(gopkg.in/mgo.v2/bson) BuildRequires: golang(gopkg.in/retry.v1) BuildRequires: golang(gopkg.in/tomb.v2) BuildRequires: golang(gopkg.in/yaml.v2) %endif %description Snappy is a modern, cross-distribution, transactional package manager designed for working with self-contained, immutable packages. %package -n snap-confine Summary: Confinement system for snap applications License: GPLv3 Group: System Environment/Base BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: gcc BuildRequires: gettext BuildRequires: gnupg BuildRequires: indent BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(libcap) BuildRequires: pkgconfig(libseccomp) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(udev) BuildRequires: xfsprogs-devel BuildRequires: glibc-static BuildRequires: valgrind BuildRequires: %{_bindir}/rst2man %if 0%{?fedora} >= 25 # ShellCheck in F24 and older doesn't work BuildRequires: %{_bindir}/shellcheck %endif # Ensures older version from split packaging is replaced Obsoletes: snap-confine < 2.19 %description -n snap-confine This package is used internally by snapd to apply confinement to the started snap applications. %package selinux Summary: SELinux module for snapd Group: System Environment/Base License: GPLv2+ BuildArch: noarch BuildRequires: selinux-policy, selinux-policy-devel Requires(post): selinux-policy-base >= %{_selinux_policy_version} Requires(post): policycoreutils Requires(post): policycoreutils-python-utils Requires(pre): libselinux-utils Requires(post): libselinux-utils %description selinux This package provides the SELinux policy module to ensure snapd runs properly under an environment with SELinux enabled. %if 0%{?with_devel} %package devel Summary: %{summary} BuildArch: noarch %if 0%{?with_check} && ! 0%{?with_bundled} %endif %if ! 0%{?with_bundled} Requires: golang(github.com/cheggaaa/pb) Requires: golang(github.com/coreos/go-systemd/activation) Requires: golang(github.com/gorilla/mux) Requires: golang(github.com/jessevdk/go-flags) Requires: golang(github.com/mvo5/uboot-go/uenv) Requires: golang(github.com/ojii/gettext.go) Requires: golang(golang.org/x/crypto/openpgp/armor) Requires: golang(golang.org/x/crypto/openpgp/packet) Requires: golang(golang.org/x/crypto/sha3) Requires: golang(golang.org/x/crypto/ssh/terminal) Requires: golang(golang.org/x/net/context) Requires: golang(golang.org/x/net/context/ctxhttp) Requires: golang(gopkg.in/check.v1) Requires: golang(gopkg.in/macaroon.v1) Requires: golang(gopkg.in/mgo.v2/bson) Requires: golang(gopkg.in/retry.v1) Requires: golang(gopkg.in/tomb.v2) Requires: golang(gopkg.in/yaml.v2) %else # These Provides are unversioned because the sources in # the bundled tarball are unversioned (they go by git commit) # *sigh*... I hate golang... Provides: bundled(golang(github.com/cheggaaa/pb)) Provides: bundled(golang(github.com/coreos/go-systemd/activation)) Provides: bundled(golang(github.com/gorilla/mux)) Provides: bundled(golang(github.com/jessevdk/go-flags)) Provides: bundled(golang(github.com/mvo5/uboot-go/uenv)) Provides: bundled(golang(github.com/ojii/gettext.go)) Provides: bundled(golang(golang.org/x/crypto/openpgp/armor)) Provides: bundled(golang(golang.org/x/crypto/openpgp/packet)) Provides: bundled(golang(golang.org/x/crypto/sha3)) Provides: bundled(golang(golang.org/x/crypto/ssh/terminal)) Provides: bundled(golang(golang.org/x/net/context)) Provides: bundled(golang(golang.org/x/net/context/ctxhttp)) Provides: bundled(golang(gopkg.in/check.v1)) Provides: bundled(golang(gopkg.in/macaroon.v1)) Provides: bundled(golang(gopkg.in/mgo.v2/bson)) Provides: bundled(golang(gopkg.in/retry.v1)) Provides: bundled(golang(gopkg.in/tomb.v2)) Provides: bundled(golang(gopkg.in/yaml.v2)) %endif # Generated by gofed Provides: golang(%{import_path}/arch) = %{version}-%{release} Provides: golang(%{import_path}/asserts) = %{version}-%{release} Provides: golang(%{import_path}/asserts/assertstest) = %{version}-%{release} Provides: golang(%{import_path}/asserts/signtool) = %{version}-%{release} Provides: golang(%{import_path}/asserts/snapasserts) = %{version}-%{release} Provides: golang(%{import_path}/asserts/sysdb) = %{version}-%{release} Provides: golang(%{import_path}/asserts/systestkeys) = %{version}-%{release} Provides: golang(%{import_path}/boot) = %{version}-%{release} Provides: golang(%{import_path}/boot/boottest) = %{version}-%{release} Provides: golang(%{import_path}/client) = %{version}-%{release} Provides: golang(%{import_path}/cmd) = %{version}-%{release} Provides: golang(%{import_path}/daemon) = %{version}-%{release} Provides: golang(%{import_path}/dirs) = %{version}-%{release} Provides: golang(%{import_path}/errtracker) = %{version}-%{release} Provides: golang(%{import_path}/httputil) = %{version}-%{release} Provides: golang(%{import_path}/i18n) = %{version}-%{release} Provides: golang(%{import_path}/i18n/dumb) = %{version}-%{release} Provides: golang(%{import_path}/image) = %{version}-%{release} Provides: golang(%{import_path}/interfaces) = %{version}-%{release} Provides: golang(%{import_path}/interfaces/apparmor) = %{version}-%{release} Provides: golang(%{import_path}/interfaces/backends) = %{version}-%{release} Provides: golang(%{import_path}/interfaces/builtin) = %{version}-%{release} Provides: golang(%{import_path}/interfaces/dbus) = %{version}-%{release} Provides: golang(%{import_path}/interfaces/ifacetest) = %{version}-%{release} Provides: golang(%{import_path}/interfaces/kmod) = %{version}-%{release} Provides: golang(%{import_path}/interfaces/mount) = %{version}-%{release} Provides: golang(%{import_path}/interfaces/policy) = %{version}-%{release} Provides: golang(%{import_path}/interfaces/seccomp) = %{version}-%{release} Provides: golang(%{import_path}/interfaces/systemd) = %{version}-%{release} Provides: golang(%{import_path}/interfaces/udev) = %{version}-%{release} Provides: golang(%{import_path}/logger) = %{version}-%{release} Provides: golang(%{import_path}/osutil) = %{version}-%{release} Provides: golang(%{import_path}/overlord) = %{version}-%{release} Provides: golang(%{import_path}/overlord/assertstate) = %{version}-%{release} Provides: golang(%{import_path}/overlord/auth) = %{version}-%{release} Provides: golang(%{import_path}/overlord/configstate) = %{version}-%{release} Provides: golang(%{import_path}/overlord/configstate/config) = %{version}-%{release} Provides: golang(%{import_path}/overlord/devicestate) = %{version}-%{release} Provides: golang(%{import_path}/overlord/hookstate) = %{version}-%{release} Provides: golang(%{import_path}/overlord/hookstate/ctlcmd) = %{version}-%{release} Provides: golang(%{import_path}/overlord/hookstate/hooktest) = %{version}-%{release} Provides: golang(%{import_path}/overlord/ifacestate) = %{version}-%{release} Provides: golang(%{import_path}/overlord/patch) = %{version}-%{release} Provides: golang(%{import_path}/overlord/snapstate) = %{version}-%{release} Provides: golang(%{import_path}/overlord/snapstate/backend) = %{version}-%{release} Provides: golang(%{import_path}/overlord/state) = %{version}-%{release} Provides: golang(%{import_path}/partition) = %{version}-%{release} Provides: golang(%{import_path}/partition/grubenv) = %{version}-%{release} Provides: golang(%{import_path}/progress) = %{version}-%{release} Provides: golang(%{import_path}/provisioning) = %{version}-%{release} Provides: golang(%{import_path}/release) = %{version}-%{release} Provides: golang(%{import_path}/snap) = %{version}-%{release} Provides: golang(%{import_path}/snap/snapdir) = %{version}-%{release} Provides: golang(%{import_path}/snap/snapenv) = %{version}-%{release} Provides: golang(%{import_path}/snap/snaptest) = %{version}-%{release} Provides: golang(%{import_path}/snap/squashfs) = %{version}-%{release} Provides: golang(%{import_path}/store) = %{version}-%{release} Provides: golang(%{import_path}/strutil) = %{version}-%{release} Provides: golang(%{import_path}/systemd) = %{version}-%{release} Provides: golang(%{import_path}/tests/lib/fakestore/refresh) = %{version}-%{release} Provides: golang(%{import_path}/tests/lib/fakestore/store) = %{version}-%{release} Provides: golang(%{import_path}/testutil) = %{version}-%{release} Provides: golang(%{import_path}/timeout) = %{version}-%{release} Provides: golang(%{import_path}/wrappers) = %{version}-%{release} %description devel %{summary} This package contains library source intended for building other packages which use import path with %{import_path} prefix. %endif %if 0%{?with_unit_test} && 0%{?with_devel} %package unit-test-devel Summary: Unit tests for %{name} package %if 0%{?with_check} #Here comes all BuildRequires: PACKAGE the unit tests #in %%check section need for running %endif %if 0%{?with_check} && ! 0%{?with_bundled} BuildRequires: golang(github.com/mvo5/goconfigparser) %endif %if ! 0%{?with_bundled} Requires: golang(github.com/mvo5/goconfigparser) %else Provides: bundled(golang(github.com/mvo5/goconfigparser)) %endif # test subpackage tests code from devel subpackage Requires: %{name}-devel = %{version}-%{release} %description unit-test-devel %{summary} This package contains unit tests for project providing packages with %{import_path} prefix. %endif %prep %autosetup -p1 %build # Generate version files ./mkversion.sh "%{version}-%{release}" # Build snapd mkdir -p src/github.com/snapcore ln -s ../../../ src/github.com/snapcore/snapd %if ! 0%{?with_bundled} export GOPATH=$(pwd):%{gopath} %else export GOPATH=$(pwd):$(pwd)/Godeps/_workspace:%{gopath} %endif %gobuild -o bin/snap %{import_path}/cmd/snap %gobuild -o bin/snap-exec %{import_path}/cmd/snap-exec %gobuild -o bin/snapctl %{import_path}/cmd/snapctl %gobuild -o bin/snapd %{import_path}/cmd/snapd %gobuild -o bin/snap-update-ns %{import_path}/cmd/snap-update-ns # Build SELinux module pushd ./data/selinux make SHARE="%{_datadir}" TARGETS="snappy" popd # Build snap-confine pushd ./cmd autoreconf --force --install --verbose # selinux support is not yet available, for now just disable apparmor # FIXME: add --enable-caps-over-setuid as soon as possible (setuid discouraged!) %configure \ --disable-apparmor \ --libexecdir=%{_libexecdir}/snapd/ \ --with-snap-mount-dir=%{_sharedstatedir}/snapd/snap \ --with-merged-usr %make_build popd # Build systemd units pushd ./data/systemd make BINDIR="%{_bindir}" LIBEXECDIR="%{_libexecdir}" \ SNAP_MOUNT_DIR="%{_sharedstatedir}/snapd/snap" \ SNAPD_ENVIRONMENT_FILE="%{_sysconfdir}/sysconfig/snapd" popd %install install -d -p %{buildroot}%{_bindir} install -d -p %{buildroot}%{_libexecdir}/snapd install -d -p %{buildroot}%{_mandir}/man1 install -d -p %{buildroot}%{_unitdir} install -d -p %{buildroot}%{_sysconfdir}/profile.d install -d -p %{buildroot}%{_sysconfdir}/sysconfig install -d -p %{buildroot}%{_sharedstatedir}/snapd/assertions install -d -p %{buildroot}%{_sharedstatedir}/snapd/desktop/applications install -d -p %{buildroot}%{_sharedstatedir}/snapd/device install -d -p %{buildroot}%{_sharedstatedir}/snapd/hostfs install -d -p %{buildroot}%{_sharedstatedir}/snapd/mount install -d -p %{buildroot}%{_sharedstatedir}/snapd/seccomp/profiles install -d -p %{buildroot}%{_sharedstatedir}/snapd/snaps install -d -p %{buildroot}%{_sharedstatedir}/snapd/snap/bin install -d -p %{buildroot}%{_localstatedir}/snap install -d -p %{buildroot}%{_datadir}/selinux/devel/include/contrib install -d -p %{buildroot}%{_datadir}/selinux/packages # Install snap and snapd install -p -m 0755 bin/snap %{buildroot}%{_bindir} install -p -m 0755 bin/snap-exec %{buildroot}%{_libexecdir}/snapd install -p -m 0755 bin/snapctl %{buildroot}%{_bindir}/snapctl install -p -m 0755 bin/snapd %{buildroot}%{_libexecdir}/snapd install -p -m 0755 bin/snap-update-ns %{buildroot}%{_libexecdir}/snapd # Install SELinux module install -p -m 0644 data/selinux/snappy.if %{buildroot}%{_datadir}/selinux/devel/include/contrib install -p -m 0644 data/selinux/snappy.pp.bz2 %{buildroot}%{_datadir}/selinux/packages # Install snap(1) man page bin/snap help --man > %{buildroot}%{_mandir}/man1/snap.1 # Install the "info" data file with snapd version install -m 644 -D data/info %{buildroot}%{_libexecdir}/snapd/info # Install bash completion for "snap" install -m 644 -D data/completion/snap %{buildroot}%{_datadir}/bash-completion/completions/snap # Install snap-confine pushd ./cmd %make_install # Undo the 0000 permissions, they are restored in the files section chmod 0755 %{buildroot}%{_sharedstatedir}/snapd/void # We don't use AppArmor rm -rfv %{buildroot}%{_sysconfdir}/apparmor.d # ubuntu-core-launcher is dead rm -fv %{buildroot}%{_bindir}/ubuntu-core-launcher popd # Install all systemd units pushd ./data/systemd %make_install SYSTEMDSYSTEMUNITDIR="%{_unitdir}" # Remove snappy core specific units rm -fv %{buildroot}%{_unitdir}/snapd.system-shutdown.service popd # Put /var/lib/snapd/snap/bin on PATH # Put /var/lib/snapd/desktop on XDG_DATA_DIRS cat << __SNAPD_SH__ > %{buildroot}%{_sysconfdir}/profile.d/snapd.sh PATH=\$PATH:/var/lib/snapd/snap/bin if [ -z "\$XDG_DATA_DIRS" ]; then XDG_DATA_DIRS=/usr/share/:/usr/local/share/:/var/lib/snapd/desktop else XDG_DATA_DIRS="\$XDG_DATA_DIRS":/var/lib/snapd/desktop fi export XDG_DATA_DIRS __SNAPD_SH__ # Disable re-exec by default echo 'SNAP_REEXEC=0' > %{buildroot}%{_sysconfdir}/sysconfig/snapd # Install snap management script install -pm 0755 %{SOURCE1} %{buildroot}%{_libexecdir}/snapd/snap-mgmt # Create state.json file to be ghosted touch %{buildroot}%{_sharedstatedir}/snapd/state.json # source codes for building projects %if 0%{?with_devel} install -d -p %{buildroot}/%{gopath}/src/%{import_path}/ echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list # find all *.go but no *_test.go files and generate devel.file-list for file in $(find . -iname "*.go" -o -iname "*.s" \! -iname "*_test.go") ; do echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file) cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list done %endif # testing files for this project %if 0%{?with_unit_test} && 0%{?with_devel} install -d -p %{buildroot}/%{gopath}/src/%{import_path}/ # find all *_test.go files and generate unit-test.file-list for file in $(find . -iname "*_test.go"); do echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file) cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test-devel.file-list done # Install additional testdata install -d %{buildroot}/%{gopath}/src/%{import_path}/cmd/snap/test-data/ cp -pav cmd/snap/test-data/* %{buildroot}/%{gopath}/src/%{import_path}/cmd/snap/test-data/ echo "%%{gopath}/src/%%{import_path}/cmd/snap/test-data" >> unit-test-devel.file-list %endif %if 0%{?with_devel} sort -u -o devel.file-list devel.file-list %endif %check # snapd tests %if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel} %if ! 0%{?with_bundled} export GOPATH=%{buildroot}/%{gopath}:%{gopath} %else export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath} %endif %gotest %{import_path}/... %endif # snap-confine tests (these always run!) pushd ./cmd make check popd %files #define license tag if not already defined %{!?_licensedir:%global license %doc} %license COPYING %doc README.md docs/* %{_bindir}/snap %{_bindir}/snapctl %dir %{_libexecdir}/snapd %{_libexecdir}/snapd/snapd %{_libexecdir}/snapd/snap-exec %{_libexecdir}/snapd/info %{_libexecdir}/snapd/snap-mgmt %{_mandir}/man1/snap.1* %{_datadir}/bash-completion/completions/snap %{_sysconfdir}/profile.d/snapd.sh %{_unitdir}/snapd.socket %{_unitdir}/snapd.service %{_unitdir}/snapd.autoimport.service %{_unitdir}/snapd.refresh.service %{_unitdir}/snapd.refresh.timer %config(noreplace) %{_sysconfdir}/sysconfig/snapd %dir %{_sharedstatedir}/snapd %dir %{_sharedstatedir}/snapd/assertions %dir %{_sharedstatedir}/snapd/desktop %dir %{_sharedstatedir}/snapd/desktop/applications %dir %{_sharedstatedir}/snapd/device %dir %{_sharedstatedir}/snapd/hostfs %dir %{_sharedstatedir}/snapd/mount %dir %{_sharedstatedir}/snapd/seccomp %dir %{_sharedstatedir}/snapd/seccomp/profiles %dir %{_sharedstatedir}/snapd/snaps %dir %{_sharedstatedir}/snapd/snap %ghost %dir %{_sharedstatedir}/snapd/snap/bin %dir %{_localstatedir}/snap %ghost %{_sharedstatedir}/snapd/state.json %files -n snap-confine %doc cmd/snap-confine/PORTING %license COPYING %dir %{_libexecdir}/snapd # For now, we can't use caps # FIXME: Switch to "%%attr(0755,root,root) %%caps(cap_sys_admin=pe)" asap! %attr(4755,root,root) %{_libexecdir}/snapd/snap-confine %{_libexecdir}/snapd/snap-discard-ns %{_libexecdir}/snapd/snap-update-ns %{_libexecdir}/snapd/system-shutdown %{_mandir}/man5/snap-confine.5* %{_mandir}/man5/snap-discard-ns.5* %{_prefix}/lib/udev/snappy-app-dev %{_udevrulesdir}/80-snappy-assign.rules %attr(0000,root,root) %{_sharedstatedir}/snapd/void %files selinux %license data/selinux/COPYING %doc data/selinux/README.md %{_datadir}/selinux/packages/snappy.pp.bz2 %{_datadir}/selinux/devel/include/contrib/snappy.if %if 0%{?with_devel} %files devel -f devel.file-list %license COPYING %doc README.md %dir %{gopath}/src/%{provider}.%{provider_tld}/%{project} %endif %if 0%{?with_unit_test} && 0%{?with_devel} %files unit-test-devel -f unit-test-devel.file-list %license COPYING %doc README.md %endif %post %systemd_post %{snappy_svcs} # If install, test if snapd socket and timer are enabled. # If enabled, then attempt to start them. This will silently fail # in chroots or other environments where services aren't expected # to be started. if [ $1 -eq 1 ] ; then if systemctl -q is-enabled snapd.socket > /dev/null 2>&1 ; then systemctl start snapd.socket > /dev/null 2>&1 || : fi if systemctl -q is-enabled snapd.refresh.timer > /dev/null 2>&1 ; then systemctl start snapd.refresh.timer > /dev/null 2>&1 || : fi fi %preun %systemd_preun %{snappy_svcs} # Remove all Snappy content if snapd is being fully uninstalled if [ $1 -eq 0 ]; then %{_libexecdir}/snapd/snap-mgmt purge || : fi %postun %systemd_postun_with_restart %{snappy_svcs} %pre selinux %selinux_relabel_pre %post selinux %selinux_modules_install %{_datadir}/selinux/packages/snappy.pp.bz2 %selinux_relabel_post %postun selinux %selinux_modules_uninstall snappy if [ $1 -eq 0 ]; then %selinux_relabel_post fi %changelog * Thu May 25 2017 Neal Gompa - 2.26.3-3 - Cover even more stuff for proper erasure on final uninstall (RH#1444422) * Sun May 21 2017 Neal Gompa - 2.26.3-2 - Fix error in script for removing Snappy content (RH#1444422) - Adjust changelog bug references to be specific on origin * Wed May 17 2017 Neal Gompa - 2.26.3-1 - Update to snapd 2.26.3 - Drop merged and unused patches - Cover more Snappy content for proper erasure on final uninstall (RH#1444422) - Add temporary fix to ensure generated seccomp profiles don't break snapctl * Mon May 01 2017 Neal Gompa - 2.25-1 - Update to snapd 2.25 - Ensure all Snappy content is gone on final uninstall (RH#1444422) * Tue Apr 11 2017 Neal Gompa - 2.24-1 - Update to snapd 2.24 - Drop merged patches - Install snap bash completion and snapd info file * Wed Apr 05 2017 Neal Gompa - 2.23.6-4 - Test if snapd socket and timer enabled and start them if enabled on install * Sat Apr 01 2017 Neal Gompa - 2.23.6-3 - Fix profile.d generation so that vars aren't expanded in package build * Fri Mar 31 2017 Neal Gompa - 2.23.6-2 - Fix the overlapping file conflicts between snapd and snap-confine - Rework package descriptions slightly * Thu Mar 30 2017 Neal Gompa - 2.23.6-1 - Rebase to snapd 2.23.6 - Rediff patches - Re-enable seccomp - Fix building snap-confine on 32-bit arches - Set ExclusiveArch based on upstream supported arch list * Wed Mar 29 2017 Neal Gompa - 2.23.5-1 - Rebase to snapd 2.23.5 - Disable seccomp temporarily avoid snap-confine bugs (LP#1674193) - Use vendorized build for non-Fedora * Mon Mar 13 2017 Neal Gompa - 2.23.1-1 - Rebase to snapd 2.23.1 - Add support for vendored tarball for non-Fedora targets - Use merged in SELinux policy module * Sat Feb 11 2017 Fedora Release Engineering - 2.16-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Wed Oct 19 2016 Zygmunt Krynicki - 2.16-1 - New upstream release * Tue Oct 18 2016 Neal Gompa - 2.14-2 - Add SELinux policy module subpackage * Tue Aug 30 2016 Zygmunt Krynicki - 2.14-1 - New upstream release * Tue Aug 23 2016 Zygmunt Krynicki - 2.13-1 - New upstream release * Thu Aug 18 2016 Zygmunt Krynicki - 2.12-2 - Correct license identifier * Thu Aug 18 2016 Zygmunt Krynicki - 2.12-1 - New upstream release * Thu Aug 18 2016 Zygmunt Krynicki - 2.11-8 - Add %%dir entries for various snapd directories - Tweak Source0 URL * Tue Aug 16 2016 Zygmunt Krynicki - 2.11-7 - Disable snapd re-exec feature by default * Tue Aug 16 2016 Zygmunt Krynicki - 2.11-6 - Don't auto-start snapd.socket and snapd.refresh.timer * Tue Aug 16 2016 Zygmunt Krynicki - 2.11-5 - Don't touch snapd state on removal * Tue Aug 16 2016 Zygmunt Krynicki - 2.11-4 - Use ExecStartPre to load squashfs.ko before snapd starts - Use dedicated systemd units for Fedora * Tue Aug 16 2016 Zygmunt Krynicki - 2.11-3 - Remove systemd preset (will be requested separately according to distribution standards). * Tue Aug 16 2016 Zygmunt Krynicki - 2.11-2 - Use Requires: kmod(squashfs.ko) instead of Requires: kernel-modules * Tue Aug 16 2016 Zygmunt Krynicki - 2.11-1 - New upstream release - Move private executables to /usr/libexec/snapd/ * Fri Jun 24 2016 Zygmunt Krynicki - 2.0.9-2 - Depend on kernel-modules to ensure that squashfs can be loaded. Load it afer installing the package. This hopefully fixes https://github.com/zyga/snapcore-fedora/issues/2 * Fri Jun 17 2016 Zygmunt Krynicki - 2.0.9 - New upstream release https://github.com/snapcore/snapd/releases/tag/2.0.9 * Tue Jun 14 2016 Zygmunt Krynicki - 2.0.8.1 - New upstream release * Fri Jun 10 2016 Zygmunt Krynicki - 2.0.8 - First package for Fedora