# flatpak build-export

flatpak build-export

1

flatpak-build-export

Create a repository from a build directory

                    flatpak build-export
                    OPTION
                    LOCATION
                    DIRECTORY
                    BRANCH

## Description

Creates or updates a repository with an application build. LOCATION is the location of the repository. DIRECTORY must be a finalized build directory. If BRANCH is not specified, it is assumed to be "master".

If LOCATION exists, it is assumed to be an OSTree repository, otherwise a new OSTree repository is created at this location. The repository can be inspected with the `ostree` tool.

The contents of DIRECTORY are committed on the branch with name `app/APPNAME/ARCH/BRANCH`, where ARCH is the architecture of the runtime that the application is using. A commit filter is used to enforce that only the contents of the `files/` and `export/` subdirectories and the `metadata` file are included in the commit, anything else is ignored.

The build-update-repo command should be used to update repository metadata whenever application builds are added to a repository.

## Options

The following options are understood:

`-h`

`--help`

- Show help options and exit.

`-s`

`--subject=SUBJECT`

- One line subject for the commit message.

`-b`

`--body=BODY`

- Full description for the commit message.

`--arch=ARCH`

- Specify the architecture component of the branch to export. Only host compatible architectures can be specified.

`--exclude=PATTERN`

- Exclude files matching PATTERN from the commit. This option can be used multiple times.

`--include=PATTERN`

- Don't exclude files matching PATTERN from the commit, even if they match the --export patterns. This option can be used multiple times.

`--metadata=FILENAME`

- Use the specified filename as metadata in the exported app instead of the default file (called `metadata`). This is useful if you want to commit multiple things from a single build tree, typically used in combination with --files and --exclude.

`--files=SUBDIR`

- Use the files in the specified subdirectory as the file contents, rather than the regular `files` directory.

`--update-appstream`

- Run appstream-builder and to update the appstream branch after build.

`--no-update-summary`

- Don't update the summary file after the new commit is added. This means the repository will not be useful for serving over http until build-repo-update has been run. This is useful is you want to do multiple repo operations before finally updating the summary.

`--gpg-sign=KEYID`

- Sign the commit with this GPG key. This option can be used multiple times.

`--gpg-homedir=PATH`

- GPG Homedir to use when looking for keyrings

`-r`

`--runtime`

- Export a runtime instead for an app (this uses the usr subdir as files).

`-v`

`--verbose`

- Print debug information during command processing.

`--ostree-verbose`

- Print OSTree debug information during command processing.

`--version`

- Print version information and exit.

## Examples

`$ flatpak build-export ~/repos/gnome-calculator/ ~/build/gnome-calculator/ org.gnome.Calculator`

    Commit: 9d0044ea480297114d03aec85c3d7ae3779438f9d2cb69d717fb54237acacb8c
    Metadata Total: 605
    Metadata Written: 5
    Content Total: 1174
    Content Written: 1
    Content Bytes Written: 305

## See also

ostree

1,

flatpak

1,

flatpak-build-init

1,

flatpak-build

1,

flatpak-build-finish

1,

flatpak-build-sign

1,

flatpak-repo-update

1