You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

427 lines
13 KiB

%global flatpak_version 1.0.2
%global flatpak_builder_version 1.0.0
%global ostree_version 2018.8
Name: flatpak
Version: %{flatpak_version}
Release: 2%{?dist}
Summary: Application deployment framework for desktop apps
License: LGPLv2+
URL: http://flatpak.org/
Source0: https://github.com/flatpak/flatpak/releases/download/%{version}/%{name}-%{version}.tar.xz
Source1: https://github.com/ostreedev/ostree/releases/download/v%{ostree_version}/libostree-%{ostree_version}.tar.xz
Source2: https://github.com/flatpak/flatpak-builder/releases/download/%{flatpak_builder_version}/flatpak-builder-%{flatpak_builder_version}.tar.xz
# Avoid dbus activating systemd services on the session bus (we don't have a
# user bus, and I'm pretty sure we don't have systemd --user)
Patch0: no-user-systemd.patch
# Make sure our resulting binaries always have the rpath set to the bundled
# ostree directory
Patch1: flatpak-ostree-bundle.patch
BuildRequires: pkgconfig(appstream-glib)
BuildRequires: pkgconfig(fuse)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(gobject-introspection-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(libsoup-2.4)
BuildRequires: pkgconfig(libxml-2.0) >= 2.4
BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(libseccomp)
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(yaml-0.1)
BuildRequires: pkgconfig(xau)
BuildRequires: pkgconfig(e2p)
BuildRequires: automake, autoconf, libtool, gettext-devel, gtk-doc
BuildRequires: bison
BuildRequires: docbook-dtds
BuildRequires: docbook-style-xsl
BuildRequires: intltool
BuildRequires: libattr-devel
BuildRequires: libcap-devel
BuildRequires: libdwarf-devel
BuildRequires: gpgme-devel
BuildRequires: systemd
BuildRequires: /usr/bin/eu-strip
BuildRequires: /usr/bin/xmlto
BuildRequires: /usr/bin/xsltproc
# Bundled ostree BRs:
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(libcurl)
BuildRequires: openssl-devel
BuildRequires: pkgconfig(mount)
BuildRequires: pkgconfig(libsystemd)
# libostree bundling
# https://fedoraproject.org/wiki/EPEL:Packaging_Autoprovides_and_Requires_Filtering
# We're using RPATH to pick up our bundled version
%filter_from_requires /libostree-1/d
# And ensure we don't add a Provides
%{?filter_setup:
%filter_provides_in %{_libdir}/%{name}/.*
%filter_setup
}
# And for now we manually inject this dep; surprisingly the
# command line doesn't currently link to the public libflatpak
# library.
Requires: %{name}-libs = %{version}-%{release}
# Make sure the document portal is installed
%if 0%{?fedora} || 0%{?rhel} > 7
Recommends: xdg-desktop-portal > 0.10
# Remove in F30.
Conflicts: xdg-desktop-portal < 0.10
%else
Requires: xdg-desktop-portal > 0.10
%endif
%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 builder
# Override to the version of the bundled flatpak-builder.
Version: %{flatpak_builder_version}
Summary: Build helper for %{name}
License: LGPLv2+
# Overridden, as the macro expands to the version of this subpackage.
Requires: %{name}%{?_isa} = %{flatpak_version}-%{release}
Requires: /usr/bin/bzip2
Requires: /usr/bin/bzr
Requires: /usr/bin/git
Requires: /usr/bin/patch
Requires: /usr/bin/strip
Requires: /usr/bin/svn
Requires: /usr/bin/tar
Requires: /usr/bin/unzip
%description builder
flatpak-builder is a tool that makes it easy to build applications and their
dependencies by automating the configure && make && make install steps.
%package devel
# Overriden, to reset the version macro back to that of the base package.
Version: %{flatpak_version}
Summary: Development files for %{name}
License: LGPLv2+
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description devel
This package contains the pkg-config file and development headers for %{name}.
%package libs
Summary: Libraries for %{name}
License: LGPLv2+
# Drop if using an external ostree-libs.
Requires: %{name}%{?_isa} = %{version}-%{release}
%description libs
This package contains libflatpak.
%prep
%setup -q -a 1 -a 2
%patch0 -p1
%patch1 -p1
%build
cd libostree-%{ostree_version}
%configure \
--disable-silent-rules \
--disable-gtk-doc \
--disable-man \
--disable-rofiles-fuse \
--without-libmount \
--disable-introspection \
--without-selinux \
--without-dracut \
LIBS=-lgpg-error \
CPPFLAGS="$CPPFLAGS -DDISABLE_OTMPFILE"
%make_build V=1
cd ..
mkdir -p root/lib/pkgconfig
ROOT=`pwd`/root
mv libostree-%{ostree_version}/.libs/libostree-1.so* root/lib
ls -al root/lib/libostree*
ln -s `pwd`/libostree-%{ostree_version}/src/libostree root/include
cat > root/lib/pkgconfig/ostree-1.pc <<EOF
Name: OSTree
Description: Git for operating system binaries
Version: %{ostree_version}
Requires: gio-unix-2.0
Libs: -L$ROOT/lib -Wl,-rpath=%{_libdir}/flatpak -lostree-1
Cflags: -I$ROOT/include
EOF
rm -f configure
gtkdocize
autoreconf -f -i -s
export PKG_CONFIG_PATH=$ROOT/lib/pkgconfig
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
# User namespace support is sufficient.
# Generate consistent IDs between runs to avoid multilib problems.
export XMLTO_FLAGS="--stringparam generate.consistent.ids=1"
%configure \
--with-priv-mode=none \
--enable-docbook-docs \
--disable-introspection $CONFIGFLAGS)
%make_build V=1
sed -i s/ostree-1// %{name}.pc
cd flatpak-builder-%{flatpak_builder_version}
cat > flatpak <<EOF
#!/bin/sh
echo %{flatpak_version}
EOF
chmod +x ./flatpak
%configure \
--with-dwarf-header=%{_includedir}/libdwarf \
--disable-silent-rules \
FLATPAK=./flatpak
%make_build CFLAGS+=-std=c99 V=1
%install
mkdir -p %{buildroot}%{_datadir}/gtk-doc/html/flatpak
%make_install
install -d %{buildroot}%{_libdir}/flatpak
mv root/lib/libostree-1.so* %{buildroot}%{_libdir}/flatpak
# Work around https://bugzilla.redhat.com/show_bug.cgi?id=1392354
install -d %{buildroot}/%{_pkgdocdir}
if test -d %{buildroot}/%{_docdir}/%{name}; then
mv %{buildroot}/%{_docdir}/%{name}/* %{buildroot}/%{_pkgdocdir}
rmdir %{buildroot}/%{_docdir}/%{name}/
fi
install -t %{buildroot}/%{_pkgdocdir} -pm 644 NEWS README.md
# The system repo is not installed by the flatpak build system.
install -d %{buildroot}%{_localstatedir}/lib/flatpak
install -d %{buildroot}%{_sysconfdir}/flatpak/remotes.d
rm -f %{buildroot}%{_libdir}/libflatpak.la
# We don't have python3 and flatpak introspection is disabled
rm %{buildroot}%{_bindir}/flatpak-bisect
rm %{buildroot}%{_bindir}/flatpak-coredumpctl
cd flatpak-builder-%{flatpak_builder_version}
%make_install
cd ..
%find_lang %{name}
%post
# Create an (empty) system-wide repo.
flatpak remote-list --system &> /dev/null || :
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%files -f %{name}.lang
%license COPYING
# Comply with the packaging guidelines about not mixing relative and absolute
# paths in doc.
%doc %{_pkgdocdir}
%{_bindir}/flatpak
%{_datadir}/bash-completion
%{_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
# Co-own directory.
%{_datadir}/gdm/env.d
%{_datadir}/%{name}
%{_datadir}/polkit-1/actions/org.freedesktop.Flatpak.policy
%{_datadir}/polkit-1/rules.d/org.freedesktop.Flatpak.rules
%{_datadir}/zsh/site-functions
%{_libexecdir}/flatpak-dbus-proxy
%{_libexecdir}/flatpak-portal
%{_libexecdir}/flatpak-session-helper
%{_libexecdir}/flatpak-system-helper
%attr(04755,root,root) %{_libexecdir}/flatpak-bwrap
%dir %{_localstatedir}/lib/flatpak
%{_mandir}/man1/%{name}*.1*
%{_mandir}/man5/%{name}-metadata.5*
%{_mandir}/man5/flatpak-flatpakref.5*
%{_mandir}/man5/flatpak-flatpakrepo.5*
%{_mandir}/man5/flatpak-installation.5*
%{_mandir}/man5/flatpak-remote.5*
%exclude %{_mandir}/man1/flatpak-builder.1*
%{_sysconfdir}/dbus-1/system.d/org.freedesktop.Flatpak.SystemHelper.conf
%{_sysconfdir}/flatpak/remotes.d
%{_sysconfdir}/profile.d/flatpak.sh
%{_unitdir}/flatpak-system-helper.service
%{_userunitdir}/flatpak-portal.service
%{_userunitdir}/flatpak-session-helper.service
# Co-own directory.
%{_userunitdir}/dbus.service.d
%files builder
%doc %{_docdir}/flatpak-builder
%{_bindir}/flatpak-builder
%{_mandir}/man1/flatpak-builder.1*
%{_mandir}/man5/flatpak-manifest.5*
%files devel
%{_datadir}/gtk-doc/
%{_includedir}/%{name}/
%{_libdir}/libflatpak.so
%{_libdir}/pkgconfig/%{name}.pc
%files libs
%license COPYING
%{_libdir}/flatpak/libostree-1.so*
%{_libdir}/libflatpak.so.*
%changelog
* Thu Sep 13 2018 Kalev Lember <klember@redhat.com> - 1.0.2-2
- Update to 1.0.2 (#1570030)
* Wed Sep 12 2018 Kalev Lember <klember@redhat.com> - 1.0.1-1
- Update to 1.0.1 (#1570030)
* Mon Jun 04 2018 David King <dking@redhat.com> - 0.10.4-2
- Fix subpackage versions (#1585604)
* Fri Jun 01 2018 David King <dking@redhat.com> - 0.10.4-1
- Rebase to 0.10.4 (#1570030)
* Mon Dec 11 2017 David King <dking@redhat.com> - 0.8.8-3
- Disable O_TMPFILE in libglnx (#1520311)
* Fri Nov 10 2017 Ray Strode <rstrode@redhat.com> - 0.8.8-2
- Fix crasher in xdg-desktop-portal
Resolves: #1503579
- Tweak spec file so it still builds even though we need to
autoreconf.
* Wed Nov 01 2017 David King <dking@redhat.com> - 0.8.8-1
- Update to 0.8.8 (#1500800)
* Tue Aug 01 2017 Colin Walters <walters@verbum.org> - 0.8.7-3
- Fix libostree bundling:
Ensure we do not Provide or Require libostree.
Move the shared library into flatpak-libs so flatpak always
depends on it.
Keep the shared library filename as libostree, but put it
under a private directory. Renaming the file on disk did not
really do much since the dynamic linker and RPM work from the
soname.
Resolves: #1476905
* Tue Aug 01 2017 Colin Walters <walters@verbum.org> - 0.8.7-2
- Tweak build to work both with and without BZ#1392354
* Tue Jun 20 2017 Kalev Lember <klember@redhat.com> - 0.8.7-1
- Update to 0.8.7
- Resolves: #1391018
* Tue Apr 4 2017 Alexander Larsson <alexl@redhat.com> - 0.8.5-2
- Add libostree use-after-free patch
- Resolves: #1391018
* Mon Apr 03 2017 Kalev Lember <klember@redhat.com> - 0.8.5-1
- Update to 0.8.5
- Resolves: #1391018
* Fri Mar 10 2017 David King <dking@redhat.com> - 0.8.4-2
- Sync bzip2 dependency with Fedora package
- Make the libs subpackage depend on the base package for libostree
- Fix multilib issues with XML-based documentation
* Fri Mar 10 2017 Kalev Lember <klember@redhat.com> - 0.8.4-1
- Update to 0.8.4
- Resolves: #1391018
* Wed Feb 22 2017 Kalev Lember <klember@redhat.com> - 0.8.3-4
- Remove ExcludeArch ppc now that we have libseccomp there
- Resolves: #1391018
* Fri Feb 17 2017 Alexander Larsson <alexl@redhat.com> - 0.8.3-3
- ExcludeArch 32bit ppc which doesn't have libseccomp
- Resolves: #1391018
* Fri Feb 17 2017 Alexander Larsson <alexl@redhat.com> - 0.8.3-2
- Added pkgconfig(e2p) build dependency
- Resolves: #1391018
* Fri Feb 17 2017 Alexander Larsson <alexl@redhat.com> - 0.8.3-1
- Bundle ostree and bubblewrap
- Resolves: #1391018
* Tue Feb 14 2017 Kalev Lember <klember@redhat.com> - 0.8.3-1
- Update to 0.8.3
* Fri Jan 27 2017 Kalev Lember <klember@redhat.com> - 0.8.2-1
- Update to 0.8.2
* Wed Jan 18 2017 David King <amigadave@amigadave.com> - 0.8.1-1
- Update to 0.8.1
* Tue Dec 20 2016 Kalev Lember <klember@redhat.com> - 0.8.0-1
- Update to 0.8.0
* Tue Nov 29 2016 David King <amigadave@amigadave.com> - 0.6.14-2
- Add a patch to fix a GNOME Software crash
- Silence repository listing during post
* Tue Nov 29 2016 Kalev Lember <klember@redhat.com> - 0.6.14-1
- Update to 0.6.14
* Wed Oct 26 2016 David King <amigadave@amigadave.com> - 0.6.13-2
- Add empty /etc/flatpak/remotes.d
* Tue Oct 25 2016 David King <amigadave@amigadave.com> - 0.6.13-1
- Update to 0.6.13
* Thu Oct 06 2016 David King <amigadave@amigadave.com> - 0.6.12-1
- Update to 0.6.12
* Tue Sep 20 2016 Kalev Lember <klember@redhat.com> - 0.6.11-1
- Update to 0.6.11
- Set minimum ostree and bubblewrap versions
* Mon Sep 12 2016 David King <amigadave@amigadave.com> - 0.6.10-1
- Update to 0.6.10
* Tue Sep 06 2016 David King <amigadave@amigadave.com> - 0.6.9-2
- Look for bwrap in PATH
* Thu Aug 25 2016 David King <amigadave@amigadave.com> - 0.6.9-1
- Update to 0.6.9
* Mon Aug 01 2016 David King <amigadave@amigadave.com> - 0.6.8-1
- Update to 0.6.8 (#1361823)
* Thu Jul 21 2016 David King <amigadave@amigadave.com> - 0.6.7-2
- Use system bubblewrap
* Fri Jul 01 2016 David King <amigadave@amigadave.com> - 0.6.7-1
- Update to 0.6.7
* Thu Jun 23 2016 David King <amigadave@amigadave.com> - 0.6.6-1
- Update to 0.6.6
* Fri Jun 10 2016 David King <amigadave@amigadave.com> - 0.6.5-1
- Update to 0.6.5
* Wed Jun 01 2016 David King <amigadave@amigadave.com> - 0.6.4-1
- Update to 0.6.4
* Tue May 31 2016 David King <amigadave@amigadave.com> - 0.6.3-1
- Update to 0.6.3
- Move bwrap to main package
* Tue May 24 2016 David King <amigadave@amigadave.com> - 0.6.2-1
- Rename from xdg-app to flatpak (#1337434)