<?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="xdg-app">

    <refentryinfo>
        <title>xdg-app</title>
        <productname>xdg-app</productname>

        <authorgroup>
            <author>
                <contrib>Developer</contrib>
                <firstname>Alexander</firstname>
                <surname>Larsson</surname>
                <email>alexl@redhat.com</email>
            </author>
        </authorgroup>
    </refentryinfo>

    <refmeta>
        <refentrytitle>xdg-app</refentrytitle>
        <manvolnum>1</manvolnum>
    </refmeta>

    <refnamediv>
        <refname>xdg-app</refname>
        <refpurpose>Build, install and run applications and runtimes</refpurpose>
    </refnamediv>

    <refsynopsisdiv>
            <cmdsynopsis>
                <command>xdg-app</command>
                <arg choice="opt" rep="repeat">OPTION</arg>
                <arg choice="req">COMMAND</arg>
            </cmdsynopsis>
    </refsynopsisdiv>

    <refsect1>
        <title>Description</title>

        <para>
            xdg-app is a tool for managing applications and the runtimes
            they use. In the xdg-app model, applications can be built and
            distributed independently from the host system they are used
            on, and they are isolated from the host system ('sandboxed')
            to some degree, at runtime.
        </para>

        <para>
            xdg-app can operate in system-wide or per-user mode. The system-wide
            data (runtimes, applications and configuration) is located in
            <filename>$prefix/share/xdg-app/</filename>, and the per-user
            data is in <filename>$HOME/.local/share/xdg-app/</filename>.
            Below these locations, there is a local repository in the
            <filename>repo/</filename> subdirectory and installed runtimes
            and applications are in the corresponding <filename>runtime/</filename>
            and <filename>app/</filename> subdirectories.
        </para>

        <para>
            xdg-app uses OSTree to distribute and deploy data. The repositories
            it uses are OSTree repositories and can be manipulated with the
            <command>ostree</command> utility. Installed runtimes and
            applications are OSTree checkouts.
        </para>
    </refsect1>

    <refsect1>
        <title>Options</title>

        <para>The following options are understood:</para>

        <variablelist>
            <varlistentry>
                <term><option>-h</option></term>
                <term><option>--help</option></term>

                <listitem><para>
                    Show help options and exit.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>-v</option></term>
                <term><option>--verbose</option></term>

                <listitem><para>
                    Print debug information during command processing.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--version</option></term>

                <listitem><para>
                    Print version information and exit.
                </para></listitem>
            </varlistentry>
        </variablelist>
    </refsect1>

    <refsect1>
        <title>Commands</title>

        <para>Commands related to repository configuration:</para>

        <variablelist>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-add-remote</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Add a remote repository.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-modify-remote</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Modify remote repository properties.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-delete-remote</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Delete a remote repository.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-list-remotes</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Lists remote repositories.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-ls-remote</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Show available runtimes and applications.
                </para></listitem>
            </varlistentry>
        </variablelist>

        <para>Commands for handling installed runtimes:</para>

        <variablelist>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-install-runtime</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Install a runtime.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-update-runtime</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Update a runtime.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-uninstall-runtime</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Uninstall a runtime.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-list-runtimes</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    List installed runtimes.
                </para></listitem>
            </varlistentry>
        </variablelist>

        <para>Commands for handling installed applications:</para>

        <variablelist>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-install-app</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Install an application.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-update-app</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Update an application.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-uninstall-app</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Uninstall an application.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-list-apps</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    List installed applications.
                </para></listitem>
            </varlistentry>
        </variablelist>

        <para>Commands for running applications:</para>

        <variablelist>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-run</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Run an application.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-override</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Override application requirements.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-export-file</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Export a file to a sandboxed application.
                </para></listitem>
            </varlistentry>
        </variablelist>

        <para>Commands for building applications:</para>

        <variablelist>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-build-init</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Initialize a build directory.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-build</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Run a build command in a build directory.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-build-finish</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Finalizes a build directory.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-build-export</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Create a repository from a build directory.
                </para></listitem>
            </varlistentry>
            <varlistentry>
                <term><citerefentry><refentrytitle>xdg-app-repo-contents</refentrytitle><manvolnum>1</manvolnum></citerefentry></term>

                <listitem><para>
                    Update repository metadata.
                </para></listitem>
            </varlistentry>
        </variablelist>
    </refsect1>

    <refsect1>
        <title>See also</title>

            <para>
                <citerefentry><refentrytitle>ostree</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                <citerefentry><refentrytitle>ostree.repo</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
            </para>

    </refsect1>

</refentry>
