flatpak/flatpak.spec
Dominique Leuenberger 0f6d927399 Accepting request 657831 from home:alarrosa:branches:GNOME:Factory
- Update to version 1.0.6:
  * This release fixes an issue that lets system-wide installed
    applications create setuid root files inside their app dir
    (somewhere in /var/lib/flatpak/app). Setuid support is disabled
    inside flatpaks, so such files are only a risk if the user runs
    them manually outside flatpak. Installing a flatpak system-wide
    needs root access, so this isn't a privilege elevation for
    non-root users.
  * The permissions of the files created by the apply_extra script is
    canonicalized and the script itself is run without any capabilities.
  * Better matching of existing remotes when the local and remote configuration
    differs wrt collection ids.
  * New flatpakrepo DeployCollectionID replaces CollectionID, doing the
    same thing. It is recommended to use this instead because older versions
    of flatpak has bugs in the support of collection ids, and this key
    will only be respected in versions where it works.
  * The X11 socket is now mounted read-only.

- Mark flatpak.sh as %config and move the systemhelper dbus config
  file under /usr
- Remove the flatpak-rpmlintrc file that is no longer needed.

- Make polkit_rules_usability.patch effective by adding a 60- prefix
  to the rules file. This will cause it to be executed before the

OBS-URL: https://build.opensuse.org/request/show/657831
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/flatpak?expand=0&rev=65
2018-12-18 08:28:51 +00:00

220 lines
7.4 KiB
RPMSpec

#
# spec file for package flatpak
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define libname libflatpak0
Name: flatpak
Version: 1.0.6
Release: 0
Summary: OSTree based application bundles management
License: LGPL-2.1-or-later
Group: System/Packages
URL: https://flatpak.github.io/
Source: %{name}-%{version}.tar.xz
Patch0: polkit_rules_usability.patch
BuildRequires: bison
BuildRequires: bubblewrap >= 0.2.1
BuildRequires: docbook-xsl-stylesheets
BuildRequires: gtk-doc
BuildRequires: intltool >= 0.35.0
BuildRequires: libcap-devel
BuildRequires: libdwarf-devel
BuildRequires: libqgpgme-devel >= 1.1.8
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: xsltproc
BuildRequires: pkgconfig(appstream-glib)
BuildRequires: pkgconfig(fuse)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.44
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.40.0
BuildRequires: pkgconfig(gobject-introspection-no-export-1.0) >= 1.40.0
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(libarchive) >= 2.8.0
BuildRequires: pkgconfig(libelf) >= 0.8.12
BuildRequires: pkgconfig(libseccomp)
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(ostree-1) >= 2018.7
BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(xau)
Requires: %{libname} = %{version}
Requires: bubblewrap >= 0.2.1
Requires: ostree >= 2018.7
Requires: xdg-desktop-portal >= 0.10
Recommends: %{name}-lang = %{version}
# Remove after openSUSE Leap 42 is out of scope
Provides: xdg-app = %{version}
Obsoletes: xdg-app < %{version}
%{?systemd_requires}
%description
flatpak is a system for building, distributing and running sandboxed desktop
applications on Linux. See https://wiki.gnome.org/Projects/SandboxedApps for
more information.
%package -n %{libname}
Summary: OSTree based application bundle management library
Group: System/Libraries
%description -n %{libname}
flatpak is a system for building, distributing and running sandboxed desktop
applications on Linux. See https://wiki.gnome.org/Projects/SandboxedApps for
more information.
%package -n typelib-1_0-Flatpak-1_0
Summary: Introspection bindings for the flatpak library
Group: System/Libraries
%description -n typelib-1_0-Flatpak-1_0
flatpak is a system for building, distributing and running sandboxed desktop
applications on Linux. See https://wiki.gnome.org/Projects/SandboxedApps for
more information.
%package zsh-completion
Summary: Zsh tab-completion for flatpak
Group: System/Shells
Supplements: packageand(%{name}:%(rpm -q --qf '%%{NAME}' --whatprovides zsh))
%description zsh-completion
flatpak is a system for building, distributing and running sandboxed desktop
applications on Linux. See https://wiki.gnome.org/Projects/SandboxedApps for
more information.
This package provides zsh tab-completion for flatpak.
%package devel
Summary: Development files for the flatpak library
Group: Development/Languages/C and C++
Requires: %{libname} = %{version}
Requires: %{name} = %{version}
Requires: typelib-1_0-Flatpak-1_0 = %{version}
%description devel
flatpak is a system for building, distributing and running sandboxed desktop
applications on Linux. See https://wiki.gnome.org/Projects/SandboxedApps for
more information.
%lang_package
%prep
%setup -q
%patch0 -p1
sed -i -e '1s,#!%{_bindir}/env python3,#!%{_bindir}/python3,' scripts/flatpak-*
%build
NOCONFIGURE=1 ./autogen.sh
%configure \
--disable-silent-rules \
--enable-gtk-doc \
--disable-document-portal \
--with-system-bubblewrap \
--with-priv-mode=none \
--with-dbus-config-dir=%{_datadir}/dbus-1/system.d
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
mkdir -p %{buildroot}%{_sbindir}
ln -s service %{buildroot}%{_sbindir}/rcflatpak-system-helper
# add a 60- prefix to the rules file, otherwise it is not effective, because
# /etc/polkit-1/rules.d/90-default-privs.rules is executed first and if no
# polkit-default-privs rule grants access then an explicit reject is the
# result. This should fix bsc#984817, granting members of group wheel access
# w/o password entry.
mv %{buildroot}/%{_datadir}/polkit-1/rules.d/{,60-}org.freedesktop.Flatpak.rules
%find_lang %{name}
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%pre
%service_add_pre flatpak-system-helper.service
%preun
%service_del_preun flatpak-system-helper.service
%post
%service_add_post flatpak-system-helper.service
%postun
%service_del_postun flatpak-system-helper.service
%files -f %{name}.lang
%license COPYING
%{_bindir}/flatpak
%{_bindir}/flatpak-bisect
%{_bindir}/flatpak-coredumpctl
%{_libexecdir}/flatpak-dbus-proxy
%{_libexecdir}/flatpak-portal
%{_libexecdir}/flatpak-session-helper
%{_libexecdir}/flatpak-system-helper
%{_datadir}/bash-completion/completions/flatpak
# # Own dirs so we don't have to depend on dbus for building.
%dir %{_datadir}/dbus-1
%dir %{_datadir}/dbus-1/interfaces
%dir %{_datadir}/dbus-1/services
%{_datadir}/dbus-1/interfaces/org.freedesktop.Flatpak.xml
%{_datadir}/dbus-1/interfaces/org.freedesktop.portal.Flatpak.xml
%{_datadir}/dbus-1/services/org.freedesktop.Flatpak.service
%{_datadir}/dbus-1/services/org.freedesktop.portal.Flatpak.service
%{_datadir}/dbus-1/system-services/org.freedesktop.Flatpak.SystemHelper.service
%{_datadir}/dbus-1/system.d/org.freedesktop.Flatpak.SystemHelper.conf
# policykit rules
%{_datadir}/polkit-1/actions/org.freedesktop.Flatpak.policy
%{_datadir}/polkit-1/rules.d/60-org.freedesktop.Flatpak.rules
%{_mandir}/man1/%{name}*.1%{ext_man}
%{_mandir}/man5/flatpak-metadata.5%{ext_man}
%{_mandir}/man5/flatpak-flatpakref.5%{ext_man}
%{_mandir}/man5/flatpak-flatpakrepo.5%{ext_man}
%{_mandir}/man5/flatpak-installation.5%{ext_man}
%{_mandir}/man5/flatpak-remote.5%{ext_man}
%{_datadir}/%{name}/
%config %{_sysconfdir}/profile.d/flatpak.sh
# Own dirs so we don't have to depend on gdm for building.
%dir %{_datadir}/gdm/
%dir %{_datadir}/gdm/env.d/
%{_datadir}/gdm/env.d/flatpak.env
%{_unitdir}/flatpak-system-helper.service
%{_sbindir}/rcflatpak-system-helper
%{_userunitdir}/flatpak-session-helper.service
%{_userunitdir}/flatpak-portal.service
%ghost %dir %{_localstatedir}/lib/flatpak
%dir %{_userunitdir}
%dir %{_userunitdir}/dbus.service.d
%{_userunitdir}/dbus.service.d/flatpak.conf
%files -n %{libname}
%{_libdir}/libflatpak.so.*
%files -n typelib-1_0-Flatpak-1_0
%{_libdir}/girepository-1.0/Flatpak-1.0.typelib
%files zsh-completion
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_flatpak
%files devel
%{_libdir}/pkgconfig/flatpak.pc
%{_datadir}/gtk-doc/
%{_includedir}/%{name}/
%{_libdir}/libflatpak.so
%{_datadir}/gir-1.0/Flatpak-1.0.gir
%changelog