mirror of
https://github.com/flatpak/flatpak.git
synced 2026-01-23 23:28:14 -05:00
Track extension-of in deploy data
This tracks for installed apps if they are extensions of some ref. This will be useful later to avoid updating extensions of masked apps.
This commit is contained in:
committed by
Alexander Larsson
parent
d91660fe2a
commit
84eb154e83
@@ -32,8 +32,9 @@
|
||||
* The version field was added in flatpak 1.2, anything before is 0.
|
||||
*
|
||||
* Version 1 added appdata-name/summary/version/license
|
||||
* Version 2 added extension-of
|
||||
*/
|
||||
#define FLATPAK_DEPLOY_VERSION_CURRENT 1
|
||||
#define FLATPAK_DEPLOY_VERSION_CURRENT 2
|
||||
#define FLATPAK_DEPLOY_VERSION_ANY 0
|
||||
|
||||
#define FLATPAK_TYPE_DIR flatpak_dir_get_type ()
|
||||
@@ -362,6 +363,7 @@ const char * flatpak_deploy_data_get_alt_id (GVariant *deploy_data);
|
||||
const char * flatpak_deploy_data_get_eol (GVariant *deploy_data);
|
||||
const char * flatpak_deploy_data_get_eol_rebase (GVariant *deploy_data);
|
||||
const char * flatpak_deploy_data_get_runtime (GVariant *deploy_data);
|
||||
const char * flatpak_deploy_data_get_extension_of (GVariant *deploy_data);
|
||||
const char * flatpak_deploy_data_get_appdata_name (GVariant *deploy_data);
|
||||
const char * flatpak_deploy_data_get_appdata_summary (GVariant *deploy_data);
|
||||
const char * flatpak_deploy_data_get_appdata_version (GVariant *deploy_data);
|
||||
|
||||
@@ -2368,6 +2368,12 @@ flatpak_deploy_data_get_runtime (GVariant *deploy_data)
|
||||
return flatpak_deploy_data_get_string (deploy_data, "runtime");
|
||||
}
|
||||
|
||||
const char *
|
||||
flatpak_deploy_data_get_extension_of (GVariant *deploy_data)
|
||||
{
|
||||
return flatpak_deploy_data_get_string (deploy_data, "extension-of");
|
||||
}
|
||||
|
||||
const char *
|
||||
flatpak_deploy_data_get_appdata_name (GVariant *deploy_data)
|
||||
{
|
||||
@@ -2510,6 +2516,7 @@ flatpak_dir_new_deploy_data (FlatpakDir *self,
|
||||
char *empty_subpaths[] = {NULL};
|
||||
GVariantBuilder metadata_builder;
|
||||
g_autofree char *application_runtime = NULL;
|
||||
g_autofree char *extension_of = NULL;
|
||||
const char *alt_id = NULL;
|
||||
const char *eol = NULL;
|
||||
const char *eol_rebase = NULL;
|
||||
@@ -2521,6 +2528,9 @@ flatpak_dir_new_deploy_data (FlatpakDir *self,
|
||||
application_runtime = g_key_file_get_string (metadata,
|
||||
FLATPAK_METADATA_GROUP_APPLICATION,
|
||||
FLATPAK_METADATA_KEY_RUNTIME, NULL);
|
||||
extension_of = g_key_file_get_string (metadata,
|
||||
FLATPAK_METADATA_GROUP_EXTENSION_OF,
|
||||
FLATPAK_METADATA_KEY_REF, NULL);
|
||||
|
||||
g_variant_builder_init (&metadata_builder, G_VARIANT_TYPE ("a{sv}"));
|
||||
g_variant_builder_add (&metadata_builder, "{s@v}", "deploy-version",
|
||||
@@ -2537,6 +2547,9 @@ flatpak_dir_new_deploy_data (FlatpakDir *self,
|
||||
if (application_runtime)
|
||||
g_variant_builder_add (&metadata_builder, "{s@v}", "runtime",
|
||||
g_variant_new_variant (g_variant_new_string (application_runtime)));
|
||||
if (extension_of)
|
||||
g_variant_builder_add (&metadata_builder, "{s@v}", "extension-of",
|
||||
g_variant_new_variant (g_variant_new_string (extension_of)));
|
||||
|
||||
if (previous_ids)
|
||||
g_variant_builder_add (&metadata_builder, "{s@v}", "previous-ids",
|
||||
|
||||
Reference in New Issue
Block a user