Commit Graph

23 Commits

Author SHA1 Message Date
Joaquim Rocha
c5e0e97395 lib/installation: Add a method to list remotes by type
Since we have several types of remotes, it is important to have the
option of choosing which types one wants when listing them because
depending on the type it may have an impact in the performance (e.g.
when listing LAN remotes).

For that reason this patch adds a new method
"flatpak_installation_list_remotes_by_type" that allows to specify
which types of remotes should be returned. When giving an empty array
of types, it means that all types should be returned instead, which can
be more useful than actually asserting or not doing anything.

Closes: #1587
Approved by: mwleeds
2018-04-19 20:59:34 +00:00
Joaquim Rocha
508ceb74e3 doc: Mention the use of the URI for listing refs from remotes
When listing refs from remotes, a remote can be given by name or by URI.
This is an important distinction because dynamic remotes (USB/LAN) are
not internally mapped to a name, and thus their generated name cannot be
used for listing them. Thus, the solution is to use their URI in order
to list the refs directly from it.

Even though this feature has been around forever, the documentation
didn't really reflect it, so this patch mentions the described
alternative possibility.

Closes: #1587
Approved by: mwleeds
2018-04-19 20:59:34 +00:00
Alexander Olofsson
3585651be7 Add semantic support for network installations
Closes: #1348
Approved by: alexlarsson
2018-02-06 09:19:34 +00:00
Alexander Larsson
20162bb382 lib: Add api for getting and setting config options
This is primarily for setting the language atm

Closes: #1123
Approved by: alexlarsson
2017-10-20 20:06:38 +00:00
Sam Spilsbury
88be75cbb3 lib: Add flatpak_installation_prune_local_repo
This is a method to explicitly prune the local repo, which
users might want to use if they had explicitly removed refs from
the underlying flatpak repo and want to ensure that the objects
referred to by those refs are cleared to save on disk space.

Closes: #1034
Approved by: alexlarsson
2017-09-28 15:39:05 +00:00
Sam Spilsbury
6236a60a1b lib: Add methods to clean up refs in the local repository
In some cases, a user might pull a ref into the local repository and
not deploy it by using FLATPAK_INSTALL_FLAGS_NO_DEPLOY. Later on, that
user might decide that they don't want to deploy the ref after all,
but there was no way to remove that ref from the local repository
in the public API, so it takes up disk space.

Add flatpak_installation_remove_local_ref_sync to remove a given
ref from the local repository if the ref is known and
flatpak_installation_cleanup_local_refs_sync to remove all undeployed
refs.

Fixes #1031

Closes: #1034
Approved by: alexlarsson
2017-09-28 15:39:05 +00:00
Sam Spilsbury
5ecfd0ca66 lib: Add support for FLATPAK_INSTALL_FLAGS_NO_DEPLOY / NO_PULL
We have the same flags for flatpak_installation_update and we use
flatpak_dir_install from within FlatpakInstallation but always set
the no_pull/no_deploy flags to FALSE. Previously, passing
FLATPAK_INSTALL_FLAGS_NO_PULL and FLATPAK_INSTALL_FLAGS_NO_DEPLOY
wouldn't do anything because of that.

This has the unfortunate side effect of always returning an error
when FLATPAK_INSTALL_FLAGS_NO_DEPLOY is passed, because
flatpak_installation_install_full tries to get a FlatpakInstalledRef
for the flatpak when it is installed, but obviously it can't do that
since installing an app in an undeployed state doesn't "install" it
so much as just cloning it to the local repository.

As a result, when FLATPAK_INSTALL_FLAGS_NO_PULL is passed, the
FLATPAK_ERROR_ONLY_PULLED Will be set and the caller must respond
accordingly.
2017-09-20 09:07:18 +02:00
Alexander Larsson
1ecbf0666c lib: Add flatpak_installation_update_appstream_full_sync with progress 2017-05-22 13:32:58 +02:00
Joaquim Rocha
de2c6cc85b Add the possibility of installing/updating without static deltas
Sometimes we need to pull a commit without using static deltas to e.g.
make sure that an app with a corrupted commit can still be updated by
pulling the new commit in full.

This option has been added to the FlatpakUpdateFlags,
FlatpakInstallFlags, as well as a parameter for the CLI.
2017-05-02 15:05:48 +02:00
Mario Sanchez Prada
15e7f14ca3 Adjusted internal representation for storage types of system installations
I set these as separate bits by mistake when there's no good reason for
them to be like that, as they are not flags that are meant to be combined,
but a list of exclusive values.
2016-12-20 09:52:03 +01:00
Mario Sanchez Prada
a663e5ba73 Add public API: implement the other getters required by GNOME Software
Implemented the following functions along with the required internal APIs:

  * flatpak_installation_get_id ()
  * flatpak_installation_get_display_name ()
  * flatpak_installation_get_priority ()
  * flatpak_installation_get_storage_type ()
2016-12-17 00:32:53 +00:00
Mario Sanchez Prada
8eaa88c016 Add public API: flatpak_installation_new_system_with_id()
It will look for the list of configured system-wide installations
and return the one matching the passed ID, if any.
2016-12-17 00:32:51 +00:00
Mario Sanchez Prada
fe1540f988 Add public API: flatpak_get_system_installations()
It's meant to provide a list of the system installations, not
just the default one, which can still be obtained by calling
flatpak_installation_new_system(), as usual.
2016-12-17 00:32:51 +00: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
Alexander Larsson
e3b346c661 lib: Add flatpak_installation_install_ref_file
This gives libflatpak API support for .flatpakref files
2016-09-12 12:13:52 +02:00
Matthias Clasen
75218c4a65 Fix license headers
We were referring to the nonexisting "version 2" of the
Lesser GPL. It should be "version 2.1".
2016-07-29 14:27:49 -04:00
Alexander Larsson
5da7a0411a lib: Support listing related refs 2016-07-01 10:32:57 +02:00
Alexander Larsson
fa6fb1033f lib: Add flatpak_get_supported_arches 2016-06-23 11:05:49 +02:00
Alexander Larsson
1bebedea8a lib: Add install/update_full() versions that allow you to specify subpaths
Also, we add a (yet unused) flags field for installation if we
want to extend this in the future.
2016-06-08 09:26:31 +02:00
Alexander Larsson
4316c9e104 lib: Add API to add/modify/remove remotes 2016-05-16 16:26:17 +02:00
Alexander Larsson
7cffe7c1b1 Actually export flatpak_installation_drop_caches 2016-05-16 10:22:45 +02:00
Alexander Larsson
20788bc290 lib: Remove deprecated calls
Now that we broke ABI anyway
2016-05-09 21:27:44 +02:00
Alexander Larsson
c24528d369 Rename source files to flatpak 2016-05-09 09:00:20 +02:00