290 Commits

Author SHA1 Message Date
Alexander Larsson
25e39dfddd build-finish: Add --extra-data= argument 2016-10-21 08:57:42 +02:00
Alexander Larsson
f117985e37 remote-add: Make --from a boolean arg instead of a string arg
So before you did:
 flatpak --user remote-add --from=https://sdk.gnome.org/gnome.flatpakrepo gnome
Now you do:
 flatpak --user remote-add --from gnome https://sdk.gnome.org/gnome.flatpakrepo

This is a somewhat break, but this means we handle --from the same in
remote-add and install, which seems important.
2016-10-19 18:00:12 +02:00
Alexander Larsson
c70c453eab remote-add: Support installing .flatpakrepo files from http uri 2016-10-19 12:41:08 +02:00
Alexander Larsson
28261d839e update/install: Install/Update runtime dependencies as needed
When an application requires a runtime that is not installed, search
for it and prompt for permissions to install it. Also, update required
runtimes when the app is being updated.
2016-10-19 12:40:49 +02:00
Alexander Larsson
b2af78fb6f remotes: Add no-use-for-deps property
If this is set for a remote we will never automatically look for
dependencies in it. This makes dependency search faster, as we
don't need to search in app-only remotes.
2016-10-19 11:34:22 +02:00
Alexander Larsson
e8cf8be8ab install: Check that runtime is installed before installing app 2016-10-17 17:54:35 +02:00
Alexander Larsson
ee0ffbcb35 uninstall: Support multiple REFs 2016-10-17 17:27:16 +02:00
Alexander Larsson
0abdcd3f03 Merge pull request #345 from mariospr/issue221
Add server-side support for default-branch for remote repositories
2016-10-17 12:31:07 +02:00
Alexander Larsson
4cb3f7fd79 builder: Support application inheritance
When initializing a build you can initialize the application directory
with the files from another directory, and optionally a set of its
extensions. This allows one to create a "base" application that
can be derived from in multiple forms. A typical example is an application
framework like Electron. The base electron app has all the dependencies
needed to write Electron app, and then your manifest can add the specific
files needed for your application.

An example snipped could look something like:

    "base": "org.base.App",
    "base-version": "stable",
    "base-extensions": ["org.base.app.Locale", "org.base.app.Debug" ],
2016-10-17 11:40:57 +02:00
Alexander Larsson
d628350794 build-init: Support --base to create an application based on another 2016-10-17 11:37:19 +02:00
Matt Watson
b9521e719b builder: add allow missing runtimes options
The --allow-missing-runtimes options will allow flatpak builder to
not abort immediately if the sdk or runtime for the app being built
are missing.

This option will be useless when building anything in the modules
section of the app manifest. The calls to flatpak-build will fail
because of the missing sdk.

However, it may be useful when an application does not require
building anything inside the sandbox, and the application files
will be installed via other means.
2016-10-17 09:49:34 +02:00
Matt Watson
e968b87f6a builder: add a build finish option
With the option you can resume an application build where it left
off when calling flatpak-buidler --build-only
2016-10-17 09:49:34 +02:00
Alexander Larsson
f9ed36e092 docs: Fix docs for no-debuginfo
This was documented in reverse, see:

https://github.com/flatpak/flatpak/issues/349
2016-10-17 09:42:56 +02:00
Mario Sanchez Prada
8decac7d7f Added new public API: flatpak_installation_update_remote_sync()
Provides access to the functionality offered by the new internal API
flatpak_dir_update_remote_configuration(), in a similar way to what
can be done via the command 'flatpak remote-modify --update-metadata'.
2016-10-14 16:42:17 +01:00
Mario Sanchez Prada
2cbb1da935 Added new parameter for the remote-modify built-in command: --update
This new command relies on flatpak_dir_update_remote_configuration()
and allows updating the local configuration for the remotes based on
the extra metadata present in the OSTree repo's summary file.

This parameter can still be combined with --title and --default-branch,
which take precedence when combined with --update.
2016-10-14 16:42:17 +01:00
Alexander Larsson
70e9b2c737 update: Support specifying multiple arguments 2016-10-14 16:39:10 +02:00
Alexander Larsson
7018717ce2 install: Support installing multiple apps at the same time
Instead of using "NAME [BRANCH]" as the command list we now
support REF..., where each REF can be partial. This is easiest
explained by examples. Here are some valid refs:

  org.test.App - only app id
  app/org.test.App/x86_64/stable - full ref
  org.test.App/x86_64/stable - full ref without prefix
  org.test.App - only app id
  org.test.App//stable - only branch
  org.test.App/x86_64 - only arch

If any parts are left out they are wildcarded. Such parts are filled
first by looking at other command line arguments like --arch and
--app/--runtime. And finally by looking at what is available in the
remote. If there are multiple matches the user is told the options
in an error message.
2016-10-14 15:45:16 +02:00
Alexander Larsson
df6a5450c1 docs: Fix wrong reference to "flatpak remote-list".
This fixes https://github.com/flatpak/flatpak/issues/342
2016-10-13 09:08:21 +02:00
Tiago Gomes
847fdc657f Docs: update system-wide directory used by flatpak 2016-10-07 15:51:38 +01:00
Alexander Larsson
3b4a6fcb05 Add --default-branch options to docs 2016-10-06 12:46:07 +02:00
Adrian Perez de Castro
6cbf3b6c01 Support mixed (multilib/multiarch) binaries in Flatpaks
This adds a new "multiarch" feature which allows bundling e.g. 32-bit
binaries to be run in a x86_64 environment. By default, the seccomp
filter is configured to allow only the native architecture. When the
"multiarch" feature is enabled, the filter will be configured to allow
running binaries of additional architectures supported. For x86_64, this
allows x86 32-bit binaries; and for Aarch64, allows 32-bit ARM binaries.

Application bundles can use the feature e.g. in order to ship 32-bit
binaries alongside with a mostly-64-bit application. This is particularly
interesting when for applications that might launch themselves prebuilt
programs for which 64-bit versions do not exist. For example, the Steam
application is available as a 64-bit executable, but some of the games
available are 32-bit only. A Flatpak bundle for the Steam application
with "multiarch" enabled is able launch the 32-bit games -- without the
feature enabled, the seccomp filter would prevent them from running.

Multiple-architecture support is enabled by adding the "multiarch" value
for the "features" key in the metadata file for a Flatpak:

  [Context]
  features=multiarch;

The corresponding "--allow=multiarch" command line option is supported
in "flatpak build-finish" as well.
2016-10-03 09:54:05 +02:00
Alexander Larsson
c9c35133c3 Add support for --device=kvm
Solves: https://github.com/flatpak/flatpak/issues/332
2016-09-30 16:46:51 +02:00
Alexander Larsson
270707d5ca Make flatpak enter work
This completely regressed, and it seems complicated to fix it without
requiring extra privileges. So, the new version requires you to sudo
to run it, which is not great, but at least it makes it work for
all cases.
2016-09-28 20:20:17 +02:00
Alexander Larsson
8fa7f7fe09 Add --ostree-verbose
This enables debug logging for OSTree
2016-09-27 11:37:11 +02:00
Alexander Larsson
91c9d474dd flatpak-builder: Add support for --show-deps 2016-09-20 15:58:43 +02:00
Christian Hergert
fdee71b36a doc: add blurb about what --allow=devel does
This adds a short bit of text on what the --allow=devel build-finish
argument does (which allows access to perf and ptrace syscalls).
2016-09-17 10:08:39 -07:00
Matthias Clasen
18dddfca64 Add a cross-reference to flatpakrepo 2016-09-14 10:45:10 -04:00
Matthias Clasen
fa23c86675 Add new man pages to the docs 2016-09-14 10:44:54 -04:00
Matthias Clasen
b67ace498b Add a manpage for the flatpakrepo file format
Similar to the one for flatpakref.
2016-09-14 10:44:31 -04:00
Matthias Clasen
2c3a8cc36a Document --from for flatpak remote-add
This was missing from the docs.
2016-09-14 10:43:38 -04:00
Matthias Clasen
c5559141ff Document the flatpakref file format
Add a man page with details about this file format: flatpak-flatpakref.5
2016-09-13 14:59:37 -04:00
Alexander Larsson
b53b78b2a2 run: Drop/Hide --no-desktop option
This is no longer needed, as we don't hard-require systemd --user.
We keep the opion there, but hidden in order to be backwards compatible
with old code that used this.
2016-09-08 11:40:49 +02:00
Alexander Larsson
aafc0f3b66 run/metadata: Add support for --allow=devel
This enables support for ptrace and perf for the app, similar
to what run -d manually gave you before. This is nice to be
able to package an app like gnome-software.
2016-09-05 21:41:14 +02:00
Alexander Larsson
23c1c22266 commit-from: Support specifying multiple refs
You can list refs, or specify none to mean every source ref
2016-08-23 16:13:04 +02:00
Alexander Larsson
0a3ca96da0 Add --no-update-summary to export, commit-from and import-bundle
We want this for e.g. the build system where we will do multiple
repo operations and then atomically regenerate the summary once.
2016-08-23 15:12:27 +02:00
Alexander Larsson
6386ea3222 build-import-bundle: Update repo similarly to build-export
This makes sure we update the summary, as well as take args for
gpg keys and whether to update the appstream branch.
2016-08-23 14:57:08 +02:00
Alexander Larsson
b0a7f8052b builder: Add --sandbox support
This disables build-args support, which is nice when building things
on e.g. a shared build-machine, where we don't want the build to
be able to break out of the sandbox (by specifying e.g. --share=network).
2016-08-22 17:23:32 +02:00
Alexander Larsson
1976639153 flatpak: Add build-commit-from command
This creates new commits based on a different repo/branch. Very useful
to e.g. import and sign verified correct commits from an autobuilder
repo.
2016-08-19 17:24:03 +02:00
Alexander Larsson
fb3bfae85b builder: Add --stop-at=module
Stop building at a specified module from the json file.
This is useful during development. For instance, you can do --stop-at=main-app
to build all the dependencies into the appdir, then you can do a build of an
already checked out git repo (possibly with changes).
2016-08-19 11:25:23 +02:00
Matthew Leeds
0640491e40 doc: Fix a few mistakes
- Fix typos in doc/flatpak-install and doc/flatpak-update.

- The commands ending in -app were deprecated in commit f7a1fdaa,
so update a few remaining references to them.

- flatpak-update is used for runtimes and applications, so fix its short
description.
2016-08-10 23:06:39 -04:00
Matthias Clasen
e8599bb869 Clarify flatpak update docs
NAME is optional.
2016-08-04 18:40:09 -04:00
Matthias Clasen
414cd0afce Document --appstream option
This option of flatpak update was undocumented.
2016-08-04 14:08:09 -04:00
matthiasclasen
4cce620585 Merge pull request #219 from mwleeds/allow-git-paths
builder: Allow git sources to be specified as paths
2016-08-03 09:45:11 -04:00
Simon McVittie
4dd59eeecb docs: include sub-documents from $(srcdir)
This fixes "make distcheck".

Signed-off-by: Simon McVittie <smcv@debian.org>
2016-08-01 11:15:07 +01:00
Simon McVittie
6ec373a1f6 Distribute flatpak-metadata.xml in tarball releases
This was missing from 0.6.8, causing a build with xmlto available
to fail.

Signed-off-by: Simon McVittie <smcv@debian.org>
2016-08-01 11:09:07 +01:00
Alexander Larsson
07b342a937 Properly make clean the docs 2016-07-31 00:11:31 +02:00
Matthew Leeds
25d88477c5 builder: Allow git sources to be specified as paths
Currently to use a local copy of a git repo you have to specify the url
as "file:///path/to/repo". This commit allows you to specify a path directly
as "/path/to/repo", which is faster and more space-efficient because
git-clone will hardlink the objects rather than copying them.
2016-07-29 16:01:30 -04:00
Alexander Larsson
003ef9ee2e Revert "Set up logging to the journal" 2016-07-29 00:24:43 +02:00
Matthias Clasen
003d96e3df Add an --arch option to flatpak list
This enables filtering by arch when listing installations.
2016-07-26 13:39:57 -04:00
Matthias Clasen
6e0d8e394e Document the new option 2016-07-25 10:36:00 -04:00