Update to 0.6.8 (#1361823)

This commit is contained in:
David King 2016-08-01 09:23:08 +01:00
parent 85b9d4831a
commit c30cbee75d
4 changed files with 366 additions and 7 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@
/flatpak-0.6.5.tar.xz /flatpak-0.6.5.tar.xz
/flatpak-0.6.6.tar.xz /flatpak-0.6.6.tar.xz
/flatpak-0.6.7.tar.xz /flatpak-0.6.7.tar.xz
/flatpak-0.6.8.tar.xz

View File

@ -0,0 +1,344 @@
diff -urN flatpak-0.6.8.old/doc/flatpak-metadata.xml flatpak-0.6.8/doc/flatpak-metadata.xml
--- flatpak-0.6.8.old/doc/flatpak-metadata.xml 1970-01-01 01:00:00.000000000 +0100
+++ flatpak-0.6.8/doc/flatpak-metadata.xml 2016-08-01 09:48:56.675097135 +0100
@@ -0,0 +1,340 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<refentry id="flatpak-metadata">
+
+ <refentryinfo>
+ <title>flatpak metadata</title>
+ <productname>flatpak</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Alexander</firstname>
+ <surname>Larsson</surname>
+ <email>alexl@redhat.com</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>flatpak metadata</refentrytitle>
+ <manvolnum>5</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>flatpak-metadata</refname>
+ <refpurpose>Information about an application or runtime</refpurpose>
+ </refnamediv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para>
+ Flatpak uses metadata files to describe applications and runtimes.
+ The <filename>metadata</filename> file for a deployed application or
+ runtime is placed in the toplevel deploy directory. For example, the
+ metadata for the locally installed application org.gnome.Calculator
+ is in
+ <filename>~/.local/share/flatpak/app/org.gnome.Calculator/current/active/metadata</filename>.
+ </para>
+
+ <para>
+ Most aspects of the metadata configuration can be overridden when
+ launching applications, either temporarily via options of the flatpak
+ run command, or permanently with the flatpak override command.
+ </para>
+
+ <para>
+ A metadata file describing the effective configuration is available
+ inside the running sandbox at <filename>/run/user/$UID/flatpak-info</filename>.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>File format</title>
+
+ <para>
+ The metadata file is using the same .ini file format that is used for
+ systemd unit files or application .desktop files.
+ </para>
+
+ <refsect2>
+ <title>[Application] or [Runtime]</title>
+
+ <para>
+ Metadata for applications starts with an [Application] group,
+ metadata for runtimes with a [Runtime] group.
+ </para>
+ <para>
+ The following keys can be present in these groups:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>name</option> (string)</term>
+ <listitem><para>The name of the application or runtime. This key is mandatory.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>runtime</option> (string)</term>
+ <listitem><para>The fully qualified name of the runtime that is used by the application. This key is mandatory for applications.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>sdk</option> (string)</term>
+ <listitem><para>The fully qualified name of the sdk that matches the runtime.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>command</option> (string)</term>
+ <listitem><para>The command to run. Only relevant for applications.</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>[Context]</title>
+ <para>
+ This group determines various system resources that may be shared
+ with the application when it is run in a flatpak sandbox.
+ </para>
+ <para>
+ All keys in this group (and the group itself) are optional.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>shared</option> (list)</term>
+ <listitem><para>
+ List of subsystems to share with the host system.
+ Possible subsystems: network, ipc.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>sockets</option> (list)</term>
+ <listitem><para>
+ List of well-known sockets to make available in the sandbox.
+ Possible sockets: x11, wayland, pulseaudio, session-bus, system-bus.
+ When making a socket available, flatpak also sets
+ well-known environment variables like DISPLAY or
+ DBUS_SYSTEM_BUS_ADDRESS to let the application
+ find sockets that are not in a fixed location.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>devices</option> (list)</term>
+ <listitem><para>
+ List of devices to make available in the sandbox.
+ Possible values: dri, all.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>filesystems</option> (list)</term>
+ <listitem><para>
+ List of filesystem subsets to make available to the
+ application. Possible values: home, host, xdg-desktop,
+ xdg-documents, xdg-download xdg-music, xdg-pictures,
+ xdg-public-share, xdg-templates, xdg-videos, xdg-run,
+ an absolute path, or a homedir-relative path like
+ ~/dir or paths relative to the xdg dirs, like
+ xdg-download/subdir. The xdg-* arguments can also
+ specify a subdirectory, such as xdg-pictures/screenshots.
+ Each entry can have a suffix of
+ :ro or :rw to indicate if the path should be shared
+ read-only or read-write (default is read-write).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>persistent</option> (list)</term>
+ <listitem><para>
+ List of homedir-relative paths to make available at
+ the corresponding path in the per-application home directory,
+ allowing the locations to be used for persistent data when
+ the application does not have access to the real homedir.
+ For instance making ".myapp" persistent would make "~/.myapp"
+ in the sandbox a bind mount to "~/.var/app/org.my.App/.myapp",
+ thus allowing an unmodified application to save data in
+ the per-application location.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>[Session Bus Policy]</title>
+ <para>
+ If the <option>sockets</option> key is not allowing full access
+ to the D-Bus session bus, then flatpak provides filtered access.
+ </para>
+ <para>
+ The default policy for the session bus only allows the
+ application to own its own application ID and
+ subnames. For instance if the app is called
+ "org.my.App", it can only own "org.my.App" and
+ "org.my.App.*". Its also only allowed to talk to the
+ bus itself (org.freedesktop.DBus) and the portal APIs
+ APIs (bus names of the form org.freedesktop.portal.*).
+ </para>
+ <para>
+ Additionally the app is always allowed to reply to
+ messages sent to it, and emit broadcast signals (but
+ these will not reach other sandboxed apps unless they
+ are allowed to talk to your app.
+ </para>
+ <para>
+ If the [Session Bus Policy] group is present, it provides
+ policy for session bus access.
+ </para>
+ <para>
+ Each key in this group has the form of a D-Bus bus name or
+ prefix thereof, for example <option>org.gnome.SessionManager</option>
+ or <option>org.freedesktop.portal.*</option>
+ </para>
+ <para>
+ The possible values for entry are, in increasing order or
+ access:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>none</option></term>
+ <listitem><para>
+ The bus name or names in question is invisible to the application.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>see</option></term>
+ <listitem><para>
+ The bus name or names can be enumerated by the application.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>talk</option></term>
+ <listitem><para>
+ The application can send messages/ and receive replies and signals from the bus name or names.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>own</option></term>
+ <listitem><para>
+ The application can own the bus name or names (as well as all the above).
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>[System Bus Policy]</title>
+ <para>
+ If the <option>sockets</option> key is not allowing full access
+ to the D-Bus system bus, then flatpak does not make the system
+ bus available unless the [System Bus Policy] group is present
+ and provides a policy for filtered access.
+ </para>
+ <para>
+ Entries in this group have the same form as for the [Session Bus Policy] group.
+ However, the app has no permissions by default.
+ </para>
+ </refsect2>
+ <refsect2>
+ <title>[Environment]</title>
+ <para>
+ The [Environment] group specifies environment variables to set
+ when running the application.
+ </para>
+ <para>
+ Entries in this group have the form <option>VAR=VALUE</option>
+ where <option>VAR</option> is the name of an environment variable
+ to set.
+ </para>
+ </refsect2>
+ <refsect2>
+ <title>[Extension NAME]</title>
+ <para>
+ Runtimes and applications can define extensions, which are optional,
+ additional runtimes to be mounted at a specified location inside
+ the sandbox when they are present on the system. Typical uses for
+ extensions include translations for applications, or debuginfo
+ for sdks. The name of the extension is specified as part of the
+ group heading.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>directory</option> (string)</term>
+ <listitem><para>
+ The relative path at which the extension will be mounted in
+ the sandbox. If the extension is for an application, the
+ path is relative to <filename>/app</filename>, otherwise
+ it is relative to <filename>/usr</filename>. This key
+ is mandatory.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>version</option> (string)</term>
+ <listitem><para>
+ The branch to use when looking for the extension. If this is
+ not specified, it defaults to the branch of the application or
+ runtime that the extension is for.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>subdirectories</option> (boolean)</term>
+ <listitem><para>
+ If this key is set to true, then flatpak will look for
+ extensions whose name is a prefix of the extension name, and
+ mount them at the corresponding name below the subdirectory.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>no-autodownload</option> (boolean)</term>
+ <listitem><para>
+ Whether to automatically download this extension
+ when updating or installing a 'related' application
+ or runtime.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>autodelete</option> (boolean)</term>
+ <listitem><para>
+ Whether to automatically delete this extension
+ when deleting a 'related' application or runtime.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ </refsect1>
+
+ <refsect1>
+ <title>Example</title>
+<programlisting>
+[Application]
+name=org.gnome.Calculator
+runtime=org.gnome.Platform/x86_64/3.20
+sdk=org.gnome.Sdk/x86_64/3.20
+command=gnome-calculator
+
+[Context]
+shared=network;ipc;
+sockets=x11;wayland;
+filesystems=xdg-run/dconf;~/.config/dconf:ro;
+
+[Session Bus Policy]
+ca.desrt.dconf=talk
+
+[Environment]
+DCONF_USER_CONFIG_DIR=.config/dconf
+
+[Extension org.gnome.Calculator.Locale]
+directory=share/runtime/locale
+subdirectories=true
+
+[Extension org.gnome.Calculator.Debug]
+directory=lib/debug
+</programlisting>
+ </refsect1>
+
+ <refsect1>
+ <title>See also</title>
+
+ <para>
+ <citerefentry><refentrytitle>flatpak</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>flatpak-run</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>flatpak-override</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+
+ </refsect1>
+
+</refentry>

View File

@ -1,12 +1,15 @@
Name: flatpak Name: flatpak
Version: 0.6.7 Version: 0.6.8
Release: 2%{?dist} Release: 1%{?dist}
Summary: Application deployment framework for desktop apps Summary: Application deployment framework for desktop apps
Group: Development/Tools Group: Development/Tools
License: LGPLv2+ License: LGPLv2+
URL: http://flatpak.org/ URL: http://flatpak.org/
Source0: https://github.com/flatpak/flatpak/releases/download/%{version}/%{name}-%{version}.tar.xz Source0: https://github.com/flatpak/flatpak/releases/download/%{version}/%{name}-%{version}.tar.xz
# Until https://github.com/flatpak/flatpak/pull/225 is merged and a new release
# made.
Patch0: flatpak-0.6.8-add-flatpak-metadata-xml.patch
BuildRequires: automake autoconf libtool BuildRequires: automake autoconf libtool
BuildRequires: gtk-doc BuildRequires: gtk-doc
@ -17,7 +20,7 @@ BuildRequires: pkgconfig(libarchive) >= 2.8.0
BuildRequires: pkgconfig(libelf) >= 0.8.12 BuildRequires: pkgconfig(libelf) >= 0.8.12
BuildRequires: pkgconfig(libgsystem) >= 2015.1 BuildRequires: pkgconfig(libgsystem) >= 2015.1
BuildRequires: pkgconfig(libsoup-2.4) BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(ostree-1) >= 2016.6 BuildRequires: pkgconfig(ostree-1) >= 2016.7
BuildRequires: pkgconfig(polkit-gobject-1) BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(libseccomp) BuildRequires: pkgconfig(libseccomp)
BuildRequires: pkgconfig(xau) BuildRequires: pkgconfig(xau)
@ -29,6 +32,7 @@ BuildRequires: libcap-devel
BuildRequires: libdwarf-devel BuildRequires: libdwarf-devel
BuildRequires: systemd BuildRequires: systemd
BuildRequires: /usr/bin/bwrap BuildRequires: /usr/bin/bwrap
BuildRequires: /usr/bin/xmlto
BuildRequires: /usr/bin/xsltproc BuildRequires: /usr/bin/xsltproc
# Crashes with older kernels (the bug being introduced in 4.0.2), without the # Crashes with older kernels (the bug being introduced in 4.0.2), without the
@ -96,21 +100,24 @@ This package contains libflatpak.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%build %build
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi; (if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
# User namespace support is sufficient. # User namespace support is sufficient.
%configure --with-dwarf-header=%{_includedir}/libdwarf --with-priv-mode=none \ %configure --with-dwarf-header=%{_includedir}/libdwarf --with-priv-mode=none \
--with-system-bubblewrap $CONFIGFLAGS) --with-system-bubblewrap --enable-docbook-docs $CONFIGFLAGS)
%make_build V=1 %make_build V=1
%install %install
%make_install %make_install
install -pm 644 NEWS README.md %{buildroot}/%{_pkgdocdir}
# The system repo is not installed by the flatpak build system. # The system repo is not installed by the flatpak build system.
install -d %{buildroot}%{_localstatedir}/lib/flatpak install -d %{buildroot}%{_localstatedir}/lib/flatpak
rm -f %{buildroot}%{_libdir}/libflatpak.la rm -f %{buildroot}%{_libdir}/libflatpak.la
%find_lang %{name}
%post %post
@ -123,9 +130,11 @@ flatpak remote-list --system
%postun libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig
%files %files -f %{name}.lang
%license COPYING %license COPYING
%doc NEWS README.md # Comply with the packaging guidelines about not mixing relative and absolute
# paths in doc.
%doc %{_pkgdocdir}
%{_bindir}/flatpak %{_bindir}/flatpak
%{_datadir}/bash-completion %{_datadir}/bash-completion
%{_datadir}/dbus-1/interfaces/org.freedesktop.Flatpak.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.Flatpak.xml
@ -155,6 +164,8 @@ flatpak remote-list --system
%{_userunitdir}/flatpak-session-helper.service %{_userunitdir}/flatpak-session-helper.service
%{_userunitdir}/xdg-document-portal.service %{_userunitdir}/xdg-document-portal.service
%{_userunitdir}/xdg-permission-store.service %{_userunitdir}/xdg-permission-store.service
# Co-own directory.
%{_userunitdir}/dbus.service.d/flatpak.conf
%files builder %files builder
%{_bindir}/flatpak-builder %{_bindir}/flatpak-builder
@ -174,6 +185,9 @@ flatpak remote-list --system
%changelog %changelog
* 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 * Thu Jul 21 2016 David King <amigadave@amigadave.com> - 0.6.7-2
- Use system bubblewrap - Use system bubblewrap

View File

@ -1 +1 @@
d9982dec1fe0569b8bd6052fe11903d1 flatpak-0.6.7.tar.xz 1f89f9a89a9f112d273b54bc8e6d9ac6 flatpak-0.6.8.tar.xz