[gnome-software/uajain/remove-pkgname-fixup: 5/5] appstream: Avoid adding <pkgname> to desktop files
- From: Umang Jain <uajain src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software/uajain/remove-pkgname-fixup: 5/5] appstream: Avoid adding <pkgname> to desktop files
- Date: Tue, 1 Oct 2019 11:05:31 +0000 (UTC)
commit 15912ef2c4ada19daf4e1bc3c6912ee612bd63bf
Author: Umang Jain <mailumangjain gmail com>
Date: Mon Sep 30 08:57:52 2019 -0400
appstream: Avoid adding <pkgname> to desktop files
This basically achieves nothing as of now. Earlier it used
to be a workaround for quering webapps but webapps' now already
are marked with 'type=webapp' in appstream. Furthermore, the
epiphany plugin(which is the concerned plugin for webapps)
doesn't adopt the webapp if it has a <pkgname>
(See commit 9d7633ece771f3ec).
This commit nukes the "AddDesktopPackageName" xmlb fixup to the
desktop files which in turns makes the query take into account
both the metadata-providing sources for a system installed app:
a) It's desktop file b) It's appdata.
The desktop file is converted into a appdata-like XML representation
by appstream and pushed into the xmlb. It provides metadata-info
such as icons whereas the real appdata can provide information
like categories, description etc. Refining the GsApp object of an
installed app against these two components (a) and (b) is necessary
to properly populate it's metadata.
https://gitlab.gnome.org/GNOME/gnome-software/issues/813
plugins/core/gs-plugin-appstream.c | 20 +-------------------
1 file changed, 1 insertion(+), 19 deletions(-)
---
diff --git a/plugins/core/gs-plugin-appstream.c b/plugins/core/gs-plugin-appstream.c
index 7979806b..1f18693b 100644
--- a/plugins/core/gs-plugin-appstream.c
+++ b/plugins/core/gs-plugin-appstream.c
@@ -93,17 +93,6 @@ gs_plugin_appstream_upgrade_cb (XbBuilderFixup *self,
return TRUE;
}
-static gboolean
-gs_plugin_appstream_add_pkgname_cb (XbBuilderFixup *self,
- XbBuilderNode *bn,
- gpointer user_data,
- GError **error)
-{
- if (g_strcmp0 (xb_builder_node_get_element (bn), "component") == 0)
- xb_builder_node_insert_text (bn, "pkgname", "", NULL);
- return TRUE;
-}
-
static gboolean
gs_plugin_appstream_add_icons_cb (XbBuilderFixup *self,
XbBuilderNode *bn,
@@ -249,13 +238,6 @@ gs_plugin_appstream_load_desktop_fn (GsPlugin *plugin,
xb_builder_source_add_adapter (source, "application/x-desktop",
gs_plugin_appstream_load_desktop_cb, NULL, NULL);
- /* add a dummy package name */
- fixup = xb_builder_fixup_new ("AddDesktopPackageName",
- gs_plugin_appstream_add_pkgname_cb,
- plugin, NULL);
- xb_builder_fixup_set_max_depth (fixup, 2);
- xb_builder_source_add_fixup (source, fixup);
-
/* add source */
if (!xb_builder_source_load_file (source, file,
XB_BUILDER_SOURCE_FLAG_WATCH_FILE,
@@ -720,7 +702,7 @@ gs_plugin_refine_from_id (GsPlugin *plugin,
/* look in AppStream then fall back to AppData */
xb_string_append_union (xpath, "components/component/id[text()='%s']/../pkgname/..", id);
xb_string_append_union (xpath, "components/component[@type='webapp']/id[text()='%s']/..", id);
- xb_string_append_union (xpath, "component/id[text()='%s']/../pkgname/..", id);
+ xb_string_append_union (xpath, "component/id[text()='%s']/..", id);
components = xb_silo_query (priv->silo, xpath->str, 0, &error_local);
if (components == NULL) {
if (g_error_matches (error_local, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]