diff --git a/app/flatpak-builtins-build-bundle.c b/app/flatpak-builtins-build-bundle.c index ef97e572..53df7adc 100644 --- a/app/flatpak-builtins-build-bundle.c +++ b/app/flatpak-builtins-build-bundle.c @@ -120,12 +120,16 @@ get_bundle_appstream_data (GFile *root, GCancellable *cancellable, GError **error) { + g_autoptr(GFile) xmls_dir = NULL; + g_autofree char *appstream_basename = NULL; g_autoptr(GFile) appstream_file = NULL; g_autoptr(GInputStream) xml_in = NULL; *result = NULL; - - flatpak_appstream_get_xml_path (root, &appstream_file, NULL, name, NULL); + + xmls_dir = g_file_resolve_relative_path (root, "files/share/app-info/xmls"); + appstream_basename = g_strconcat (name, ".xml.gz", NULL); + appstream_file = g_file_get_child (xmls_dir, appstream_basename); xml_in = (GInputStream *) g_file_read (appstream_file, cancellable, NULL); if (xml_in) @@ -173,10 +177,6 @@ iterate_bundle_icons (GFile *root, g_autoptr(GFile) icons_dir = g_file_resolve_relative_path (root, "files/share/app-info/icons/flatpak"); - if (!g_file_test (g_file_peek_path (icons_dir), G_FILE_TEST_IS_DIR)) { - icons_dir = g_file_resolve_relative_path (root, - "files/share/swcatalog/icons/flatpak"); - } const char *icon_sizes[] = { "64x64", "128x128" }; const char *icon_sizes_key[] = { "icon-64", "icon-128" }; g_autofree char *icon_name = g_strconcat (name, ".png", NULL); diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c index 8e0917b6..a9b711ee 100644 --- a/common/flatpak-dir.c +++ b/common/flatpak-dir.c @@ -3361,10 +3361,12 @@ static char * read_appdata_xml_from_deploy_dir (GFile *deploy_dir, const char *id) { g_autoptr(GFile) appdata_file = NULL; + g_autofree char *appdata_name = NULL; g_autoptr(GFileInputStream) appdata_in = NULL; gsize size; - flatpak_appstream_get_xml_path (deploy_dir, &appdata_file, NULL, id, NULL); + appdata_name = g_strconcat (id, ".xml.gz", NULL); + appdata_file = flatpak_build_file (deploy_dir, "files/share/app-info/xmls", appdata_name, NULL); appdata_in = g_file_read (appdata_file, NULL, NULL); if (appdata_in) diff --git a/common/flatpak-installed-ref.c b/common/flatpak-installed-ref.c index 7c9eb8a3..367f5d6a 100644 --- a/common/flatpak-installed-ref.c +++ b/common/flatpak-installed-ref.c @@ -526,8 +526,6 @@ flatpak_installed_ref_load_appdata (FlatpakInstalledRef *self, gsize length; g_autofree char *path = NULL; g_autofree char *appdata_name = NULL; - g_autofree char *appinfo_path = NULL; - g_autofree char *swcatalog_path = NULL; if (priv->deploy_dir == NULL) { @@ -537,15 +535,7 @@ flatpak_installed_ref_load_appdata (FlatpakInstalledRef *self, } appdata_name = g_strconcat (flatpak_ref_get_name (FLATPAK_REF (self)), ".xml.gz", NULL); - appinfo_path = g_build_filename (priv->deploy_dir, "files/share/app-info/xmls", appdata_name, NULL); - swcatalog_path = g_build_filename (priv->deploy_dir, "files/share/swcatalog/xml/flatpak.xml.gz", NULL); - - if (g_file_test (appinfo_path, G_FILE_TEST_EXISTS)) - path = g_steal_pointer (&appinfo_path); - else if (g_file_test (swcatalog_path, G_FILE_TEST_EXISTS)) - path = g_steal_pointer (&swcatalog_path); - else - return NULL; + path = g_build_filename (priv->deploy_dir, "files/share/app-info/xmls", appdata_name, NULL); if (!g_file_get_contents (path, &data, &length, error)) return NULL; diff --git a/common/flatpak-utils-private.h b/common/flatpak-utils-private.h index 18cba42f..ceecb5c6 100644 --- a/common/flatpak-utils-private.h +++ b/common/flatpak-utils-private.h @@ -823,12 +823,6 @@ void flatpak_appstream_xml_filter (FlatpakXml *appstream, GRegex *allow_refs, GRegex *deny_refs); -void flatpak_appstream_get_xml_path (GFile *root, - GFile **appstream_file_out, - GFile **app_info_dir_out, - const char *name, - GCancellable *cancellable); - char * flatpak_filter_glob_to_regexp (const char *glob, gboolean runtime_only, GError **error); gboolean flatpak_parse_filters (const char *data, GRegex **allow_refs_out, diff --git a/common/flatpak-utils.c b/common/flatpak-utils.c index b785b622..53b73ff0 100644 --- a/common/flatpak-utils.c +++ b/common/flatpak-utils.c @@ -5344,15 +5344,18 @@ extract_appstream (OstreeRepo *repo, { g_autoptr(GFile) root = NULL; g_autoptr(GFile) app_info_dir = NULL; + g_autoptr(GFile) xmls_dir = NULL; g_autoptr(GFile) icons_dir = NULL; g_autoptr(GFile) appstream_file = NULL; g_autoptr(GFile) metadata = NULL; + g_autofree char *appstream_basename = NULL; g_autoptr(GInputStream) in = NULL; g_autoptr(FlatpakXml) xml_root = NULL; g_autoptr(GKeyFile) keyfile = NULL; if (!ostree_repo_read_commit (repo, flatpak_decomposed_get_ref (ref), &root, NULL, NULL, error)) return FALSE; + keyfile = g_key_file_new (); metadata = g_file_get_child (root, "metadata"); if (g_file_query_exists (metadata, cancellable)) @@ -5367,10 +5370,14 @@ extract_appstream (OstreeRepo *repo, return FALSE; } - flatpak_appstream_get_xml_path (root, &appstream_file, &app_info_dir, id, NULL); + app_info_dir = g_file_resolve_relative_path (root, "files/share/app-info"); + xmls_dir = g_file_resolve_relative_path (app_info_dir, "xmls"); icons_dir = g_file_resolve_relative_path (app_info_dir, "icons/flatpak"); + appstream_basename = g_strconcat (id, ".xml.gz", NULL); + appstream_file = g_file_get_child (xmls_dir, appstream_basename); + in = (GInputStream *) g_file_read (appstream_file, cancellable, error); if (!in) return FALSE; @@ -5948,36 +5955,6 @@ flatpak_repo_generate_appstream (OstreeRepo *repo, return TRUE; } -void -flatpak_appstream_get_xml_path (GFile *root, - GFile **appstream_file_out, - GFile **app_info_dir_out, - const char *name, - GCancellable *cancellable) -{ - g_autoptr(GFile) appstream_file = NULL; - g_autoptr(GFile) app_info_dir = NULL; - - appstream_file = g_file_resolve_relative_path (root, "files/share/swcatalog/xml/flatpak.xml.gz"); - if (g_file_query_exists (appstream_file, cancellable)) - app_info_dir = g_file_resolve_relative_path (root, "files/share/swcatalog"); - { - g_autoptr(GFile) xmls_dir = NULL; - g_autofree char *appstream_basename = NULL; - - g_clear_object (&appstream_file); - app_info_dir = g_file_resolve_relative_path (root, "files/share/app-info"); - xmls_dir = g_file_resolve_relative_path (app_info_dir, "xmls"); - appstream_basename = g_strconcat (name, ".xml.gz", NULL); - appstream_file = g_file_get_child (xmls_dir, appstream_basename); - } - - if (app_info_dir_out) - *app_info_dir_out = g_steal_pointer (&app_info_dir); - if (appstream_file_out) - *appstream_file_out = g_steal_pointer (&appstream_file); -} - void flatpak_extension_free (FlatpakExtension *extension) {