summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2021-07-19 09:19:12 +0200
committerAlexander Larsson <alexander.larsson@gmail.com>2021-11-15 11:34:24 +0100
commit766bf5f08a256431cde8bca6228a4964a73ff6bc (patch)
tree7a9ae5a838ee1876cc6f75eed06fb353ad2b45e1
parentad169f122401a2ba14d061bec82b0309958fd6a4 (diff)
downloadflatpak-766bf5f08a256431cde8bca6228a4964a73ff6bc.tar.gz
build-finish: Export appstream metainfo into a single directory
This is similar to what is done for desktop files and allows applications to use a flatpak's metainfo to retrieve e.g. required input controllers or the supported screen sizes. Similar to what can be done for non-flatpak'ed apps by looking at /usr/share/{metainfo,appdata}. Since flatpak moves the metadata from metainfo/ to appdata/ during build we only need to export files from that single directory. Signed-off-by: Guido Günther <agx@sigxcpu.org>
-rw-r--r--app/flatpak-builtins-build-finish.c1
-rw-r--r--common/flatpak-dir.c1
-rw-r--r--common/flatpak-utils.c4
3 files changed, 6 insertions, 0 deletions
diff --git a/app/flatpak-builtins-build-finish.c b/app/flatpak-builtins-build-finish.c
index 524653de..d5bc87b0 100644
--- a/app/flatpak-builtins-build-finish.c
+++ b/app/flatpak-builtins-build-finish.c
@@ -235,6 +235,7 @@ collect_exports (GFile *base,
"share/icons", /* Icons */
"share/dbus-1/services", /* D-Bus service files */
"share/gnome-shell/search-providers", /* Search providers */
+ "share/appdata", /* Copy appdata/metainfo files */
NULL,
};
diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c
index 4c2a577a..34082610 100644
--- a/common/flatpak-dir.c
+++ b/common/flatpak-dir.c
@@ -7527,6 +7527,7 @@ flatpak_export_dir (GFile *source,
"share/dbus-1/services", "../../..",
"share/gnome-shell/search-providers", "../../..",
"share/mime/packages", "../../..",
+ "share/appdata", "../..",
"bin", "..",
};
int i;
diff --git a/common/flatpak-utils.c b/common/flatpak-utils.c
index 8afa23fc..64764716 100644
--- a/common/flatpak-utils.c
+++ b/common/flatpak-utils.c
@@ -733,6 +733,10 @@ flatpak_get_allowed_exports (const char *source_path,
{
g_ptr_array_add (allowed_extensions, g_strdup (".xml"));
}
+ else if (strcmp (source_path, "share/appdata") == 0)
+ {
+ g_ptr_array_add (allowed_extensions, g_strdup (".xml"));
+ }
else
return FALSE;