<?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-build-update-repo">

    <refentryinfo>
        <title>flatpak build-update-repo</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 build-update-repo</refentrytitle>
        <manvolnum>1</manvolnum>
    </refmeta>

    <refnamediv>
        <refname>flatpak-build-update-repo</refname>
        <refpurpose>Create a repository from a build directory</refpurpose>
    </refnamediv>

    <refsynopsisdiv>
            <cmdsynopsis>
                <command>flatpak build-update-repo</command>
                <arg choice="opt" rep="repeat">OPTION</arg>
                <arg choice="plain">LOCATION</arg>
            </cmdsynopsis>
    </refsynopsisdiv>

    <refsect1>
        <title>Description</title>

        <para>
            Updates repository metadata for the repository at
            <arg choice="plain">LOCATION</arg>. This command generates
            an OSTree summary file that lists the contents of the repository.
            The summary is used by flatpak remote-ls and other commands
            to display the contents of remote repositories.
        </para>
        <para>
            After this command, <arg choice="plain">LOCATION</arg> can be
            used as the repository location for flatpak remote-add, either by
            exporting it over http, or directly with a file: url.
        </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>--redirect-url=URL</option></term>

                <listitem><para>
                    Redirect this repo to a new URL.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--title=TITLE</option></term>

                <listitem><para>
                    A title for the repository, e.g. for display in a UI.
                    The title is stored in the repository summary.
                </para></listitem>
            </varlistentry>

             <varlistentry>
                <term><option>--comment=COMMENT</option></term>

                <listitem><para>
                    A single-line comment for the remote, e.g. for display in a UI.
                    The comment is stored in the repository summary.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--description=DESCRIPTION</option></term>

                <listitem><para>
                    A full-paragraph description for the remote, e.g. for display in a UI.
                    The description is stored in the repository summary.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--homepage=URL</option></term>

                <listitem><para>
                    URL for a website for the remote, e.g. for display in a UI.
                    The url is stored in the repository summary.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--icon=URL</option></term>

                <listitem><para>
                    URL for an icon for the remote, e.g. for display in a UI.
                    The url is stored in the repository summary.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--default-branch=BRANCH</option></term>

                <listitem><para>
                    A default branch for the repository, mainly for use in a UI.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--gpg-import=FILE</option></term>

                <listitem><para>
                    Import a new default GPG public key from the
                    given file.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--collection-id=COLLECTION-ID</option></term>

                <listitem><para>
                    The globally unique identifier of the remote repository, to
                    allow mirrors to be grouped. This must be set to a globally
                    unique reverse DNS string if the repository is to be made
                    publicly available. If a collection ID is already set on an
                    existing repository, this will update it. If not specified,
                    the existing collection ID will be left unchanged.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--deploy-collection-id</option></term>

                <listitem><para>
                    Deploy the collection ID (set using <option>--collection-id</option>)
                    in the static remote configuration for all clients. This is
                    irrevocable once published in a repository. Use it to decide
                    when to roll out a collection ID to users of an existing repository.
                    If constructing a new repository which has a collection ID,
                    you should typically always pass this option.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--deploy-sideload-collection-id</option></term>

                <listitem><para>
                    This is similar to --deploy-collection-id, but it only applies the
                    deploy to clients newer than flatpak 1.7 which supports the new form
                    of sideloads.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--gpg-sign=KEYID</option></term>

                <listitem><para>
                    Sign the commit with this GPG key.
                    This option can be used multiple times.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--gpg-homedir=PATH</option></term>

                <listitem><para>
                    GPG Homedir to use when looking for keyrings
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--generate-static-deltas</option></term>

                <listitem><para>
                  Generate static deltas for all references. This generates from-empty and
                  delta static files that allow for faster download.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--static-delta-jobs=NUM-JOBS</option></term>

                <listitem><para>
                  Limit the number of parallel jobs creating static deltas. The default is the number of cpus.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--static-delta-ignore-ref=PATTERN</option></term>

                <listitem><para>
                  Don't generate deltas for runtime or application id matching this pattern. For instance,
                  --static-delta-ignore-ref=*.Sources means there will not be any deltas for source refs.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--prune</option></term>

                <listitem><para>
                    Remove unreferenced objects in repo.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--prune-depth</option></term>

                <listitem><para>
                    Only keep at most this number of old versions for any particular ref. Default is -1 which means infinite.
                </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>--ostree-verbose</option></term>

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

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

        <para>
            <citerefentry><refentrytitle>ostree</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
            <citerefentry><refentrytitle>flatpak</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
            <citerefentry><refentrytitle>flatpak-remote-ls</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
            <citerefentry><refentrytitle>flatpak-build-export</refentrytitle><manvolnum>1</manvolnum></citerefentry>
        </para>

    </refsect1>

</refentry>
