Commit Graph

441 Commits

Author SHA1 Message Date
Alexander Larsson
426189ab89 Handle uris better when detecting .flatpak[repo,ref] suffix
We fully parse the argument as (possibly) a uri, which means
we can handle an argument like:
 https://git.gnome.org/browse/gnome-apps-nightly/plain/gnome-builder.flatpakref?h=stable

Which doesn't work with a simple has_suffix call.
This is important because the flatpak.org site now references
these kinds of uris.

Fixes https://github.com/flatpak/flatpak/issues/659

(cherry picked from commit 0dcc7332f7)
2017-04-03 13:46:31 +02:00
Alexander Larsson
98d770ab59 Re-fix typo
(cherry picked from commit d7f2bf000e)
2017-04-03 13:29:24 +02:00
Alexander Larsson
9940d0c420 list-remotes: Handle remotes with no url specified
(cherry picked from commit e3d8e0df04)
2017-02-28 19:54:18 +01:00
Alexander Larsson
02c84454a4 list: Don't check error twice
(cherry picked from commit 2e639b81e2)
2017-02-28 19:54:07 +01:00
Alexander Larsson
ff3c34b5ad update: Don't update related refs from different remote
In case you happen to have a reference A with a related reference
B (say a runtime and a GL extension), and they come from different
remotes, then updating A should not cause B to update from the same
remote as A, but rather the current remote.

(cherry picked from commit 6793d90b82)
2017-02-27 11:44:30 +01:00
Alexander Larsson
5b29eebf9e Fix repeated download of locates on update
When we update an app and add updates for all the related
operations, such as locates, and it is already installed,
make sure we inherit the current subpaths rather than
use the default ones.

Fixes https://github.com/flatpak/flatpak/issues/587

(cherry picked from commit 51e14fe33b)
2017-02-27 11:44:21 +01:00
Alexander Larsson
898402e840 Add flatpak --gl-drivers to show the active drivers
(cherry picked from commit 8f62e46265)
2017-02-06 15:10:36 +01:00
Alexander Larsson
89f7bed5fe list: Don't error out if a ref is in the repo, but not deployed
(cherry picked from commit 7eeda3b7b3)
2017-02-06 15:09:50 +01:00
Alexander Larsson
5c9b12a630 extensions: Add add_ld_path property
If your extension points set this, then each extension will have
the corresponding subdirectory added to LD_LIBRARY_PATH.

We also support a priority property in the ExtensionOf group
in the extensions themselves to set the search order.

(cherry picked from commit a3da0b3da8)
2017-02-06 15:01:41 +01:00
Alexander Larsson
42dafedbcb Respect flatpak required versions for runtimes (as well as apps)
(cherry picked from commit cc6e72ce57)
2017-02-06 14:56:03 +01:00
Alexander Larsson
6cabfad7e3 Make /etc writable when building a runtime
We make /etc just a symlink to /usr/etc when we're building a runtime
and /etc is supposed to be writable. Otherwise the bind-mount we
normally have there don't allow use to replace existing files in /etc.

(cherry picked from commit ab446ebac5)
2017-01-27 10:50:41 +01:00
Alexander Larsson
ae043da727 install: When installing app, if runtime update fails that is not fatal
For instance, if you're offline, but are installing a local app
we should not fail if the update of the runtime fails.

This fixes https://github.com/flatpak/flatpak/issues/507

(cherry picked from commit 9bb9534f00)
2017-01-24 09:54:11 +01:00
Matt Watson
f7027edaff install: handle arch when installing from a flatpakref
Before this commit
$ flatpak install --arch someArch --from some.flatpakref
Would completely ignore the arch argument and only install for the
default flatpak architecture. Since flatpakref files don't include
an arch field, there's no reason we can't attempt to install the
arch specified on the command line.

(cherry picked from commit ee83b5a70d)
2017-01-24 09:54:11 +01:00
Ikey Doherty
91d4663ace Fix compiler warnings with uninitialised cleanup pointers
This change fixes GCC compiler warnings where a cleanup function was
specified on an uninitialised pointer, which in the view of GCC could
result in an errornous free of uninitialised memory, if the functions
that initialise them do not return NULL.

Signed-off-by: Ikey Doherty <ikey@solus-project.com>
(cherry picked from commit 605c7ee87b)
2017-01-19 15:33:30 +01:00
Alexander Larsson
c4f0f3245d Fix update of standalone bundle
We regressed on being able to install a bundle twice to update it.

This fixes https://github.com/flatpak/flatpak/issues/462
2017-01-16 11:51:14 +01:00
Alexander Larsson
0fd0978987 Fix test crash introduced with error message 2017-01-16 11:20:47 +01:00
Alexander Larsson
4e1bf67bff Print a warning if the remote metadata cache is not found 2017-01-12 10:45:44 +01:00
Alexander Larsson
f20e5f7823 bundles: Support dependencies and runtime-repo
If the bundle contains an origin link we can now install related
things from it, such as locale data.

You can also build the bundle with --runtime-repo=URL, where the url
points to a flatpakrepo file for a repo with runtimes. This works
similar to the RuntimeRepo= feature in flatpakref files.
2016-12-20 16:27:57 +01:00
Alexander Larsson
92a84cf61e install: Report errors when finding deps 2016-12-19 20:55:12 +01:00
Alexander Larsson
4ef4a7d982 transactions: Fix leak 2016-12-19 14:19:41 +01:00
Alexander Larsson
8d1d92fd4e remote-list: Fix leak of dirs 2016-12-19 14:19:41 +01:00
Alexander Larsson
7267669ee1 build-bundle: Fix leaks 2016-12-19 11:16:17 +01:00
Alexander Larsson
b066d863bc Remove unused variables 2016-12-19 10:08:18 +01:00
Mario Sanchez Prada
886eeb7d4a Support multiple --installation parameters for CLI commands
This affects `remote-list`, `list` and `info`, which can now pass
multiple installations to search for references in at the same time.
2016-12-17 00:56:10 +00:00
Mario Sanchez Prada
ed1b0e2b23 Add internal API: flatpak_dir_get_name()
This will allow us to refactor some code using in the CLI, when
we want to print the name of a FlatpakDir for detailed listings.
2016-12-17 00:56:10 +00:00
Mario Sanchez Prada
3e295085b7 Support the --installation parameter for the flatpak info command 2016-12-17 00:32:49 +00:00
Mario Sanchez Prada
4e68283f47 Support the --installation parameter for the flatpak run command 2016-12-17 00:32:48 +00:00
Mario Sanchez Prada
7d6197e3aa Support the --installation parameter for the flatpak list command
Also, refactor code that finds and prints the references with flatpak list,
as this needed to change a bit when considering multiple installations, as
the current code was not flexible enough for dealing with that.
2016-12-17 00:32:48 +00:00
Mario Sanchez Prada
7846195da5 Support the --installation parameter for the flatpak remote-list command 2016-12-17 00:32:47 +00:00
Mario Sanchez Prada
a3961b4875 Support the --installation parameter for most flatpak commands
Other commands (e.g. remote-list) need explicit support for this parameter.
2016-12-17 00:32:46 +00:00
Mario Sanchez Prada
53a81e3f1c Migrate flatpak-builtins-install.c to flatpak_dir_get_system_list()
We need to traverse now the full list of system directories here too.
2016-12-17 00:32:46 +00:00
Mario Sanchez Prada
81492a352a Migrate flatpak-<utils|transaction>.c to flatpak_dir_get_system_list()
We need to traverse now the full list of system directories, as
defined in /etc/flatpak/installations.d, not just the default one.
2016-12-17 00:32:45 +00:00
Mario Sanchez Prada
22e3f83fb6 Remove internal API flatpak_dir_get(gboolean user)
User and system installations is no longer a binary decision, so remove
this API to force explicit calls to either flatpak_dir_get_system_default()
or flatpak_dir_get_system_list() when dealing with system installations.
2016-12-16 19:17:18 +00:00
Mario Sanchez Prada
521c3fcd4b Rename flatpak_dir_get_system() into flatpak_dir_get_system_default()
There will be a way to retrieve the list of all system installations,
not just the default one, so we rename this for backward compatibility.

Note that some (most?) of the places where we will be now using this
renamed function will likely have to migrate to using specific system
installations, but we don't have the necessary APIs yet so we do this
as an initial step to all the incremental changes that will come next.
2016-12-16 19:17:13 +00:00
Alexander Larsson
cc85b93584 build-finish: Add --require-version and handling of it
This means that clients will refuse to install or update to your
new app if the flatpak version they are using is too old.
2016-12-14 13:48:51 +01:00
Matthew Leeds
a528db5b95 install: Fix typo 2016-12-14 09:17:24 +01:00
Alexander Larsson
e1bf3eff52 Flatpak[ref|repo]: Add Version field
If this is set it has to be 1, or we fail.
This lets us later introduce incompatible changes.
2016-12-13 15:54:14 +01:00
Alexander Larsson
5e80abd234 build-sign: Support empty id to mean sign all apps 2016-12-13 12:39:06 +01:00
Alexander Larsson
c4cea2489f remote-add/modify: Fix updating remote-metadata for config
We recreate the OstreeRepo object in order to flush out any configuration
changes done via the system helper, so that changing the configuration works.

Should fix https://github.com/flatpak/flatpak/issues/413.
2016-12-13 12:00:44 +01:00
Alexander Larsson
902d945f4f install/update: Support -y to avoid interaction (for automation)
This assumes the answer to any question is yes (or to pick the
most prioritized answer).

Fixes https://github.com/flatpak/flatpak/issues/436
2016-12-13 11:35:06 +01:00
Alexander Larsson
f6d1a064b9 Clean up docs/help for install and remote-add
This makes it easier how the different variants like --from and --bundle
work.

Fixes https://github.com/flatpak/flatpak/issues/438 and
https://github.com/flatpak/flatpak/issues/439
2016-12-13 11:19:06 +01:00
Alexander Larsson
057fbcb459 install: Make --from and --bundle optional
If the first argument has the right extension we just assume
you want to install from it.

This fixes https://github.com/flatpak/flatpak/issues/429 and
https://github.com/flatpak/flatpak/issues/415
2016-12-13 11:13:33 +01:00
Alexander Larsson
1e854ddc11 Fix all clang warnings 2016-12-13 10:20:28 +01:00
Alexander Larsson
c756534b19 utils: Add and use FLATPAK_VARIANT_DICT_INITIALIZER
This fixes warnings on some versions of glib due to a private struct
change.
2016-12-13 10:08:26 +01:00
Alexander Larsson
f65f0cb37c Merge branch 'wip/oci' 2016-12-12 16:26:35 +01:00
Alexander Larsson
9ddc4aca48 Support flatpak install --oci to install apps from OCI 2016-12-12 16:22:16 +01:00
Iago López Galeiras
27d01fc2d3 build-finish: Export MIME Types 2016-12-12 08:50:07 +01:00
Alexander Larsson
354164db8b import: Use pull_from_oci helper 2016-12-09 14:45:10 +01:00
Alexander Larsson
791c448653 Use the shared OCI code for import-bundle 2016-12-08 17:43:06 +01:00
Alexander Larsson
4672bc835e Update build-bundle --oci to use the new shared OCI support 2016-12-08 17:43:06 +01:00