summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Hughes <richard@hughsie.com>2015-08-03 10:34:16 +0100
committerRichard Hughes <richard@hughsie.com>2015-08-03 10:36:29 +0100
commit6ad012a9fa6f02e7da85fb9bb9155920149b8465 (patch)
tree29cd2fbdb4025674455d487a4cf13f74e035e4a3
parent469621479081476b080e9de3a7ba019867b6d51a (diff)
downloadappstream-glib-6ad012a9fa6f02e7da85fb9bb9155920149b8465.tar.gz
Remove support for AppStream 0.3 and lower
Fedora 20 has gone EOL and that was the only distro actually using such an old specification version. It also had an inflexible hardcoded parser in gnome-software that would error out on unknown tags, and this meant that it did not ignore API additions.
-rw-r--r--client/as-builder.c8
-rw-r--r--libappstream-glib/as-app.c23
2 files changed, 17 insertions, 14 deletions
diff --git a/client/as-builder.c b/client/as-builder.c
index 685e9ec..520bd0c 100644
--- a/client/as-builder.c
+++ b/client/as-builder.c
@@ -259,6 +259,14 @@ main (int argc, char **argv)
cache_dir = g_strdup ("./cache");
setlocale (LC_ALL, "");
+ /* obsolete */
+ if (api_version < 0.4) {
+ /* TRANSLATORS: error message */
+ g_warning ("%s", _("API version no longer supported"));
+ retval = EXIT_FAILURE;
+ goto out;
+ }
+
/* this really ought to be set */
if (basename == NULL) {
g_print ("WARNING: Metadata basename not set, using 'appstream'\n");
diff --git a/libappstream-glib/as-app.c b/libappstream-glib/as-app.c
index a8884e6..b157dcb 100644
--- a/libappstream-glib/as-app.c
+++ b/libappstream-glib/as-app.c
@@ -3258,7 +3258,7 @@ as_app_node_insert (AsApp *app, GNode *parent, AsNodeContext *ctx)
}
/* <mimetypes> */
- if (priv->mimetypes->len > 0 && api_version >= 0.4) {
+ if (priv->mimetypes->len > 0) {
g_ptr_array_sort (priv->mimetypes, as_app_ptr_array_sort_cb);
node_tmp = as_node_insert (node_app, "mimetypes", NULL, 0, NULL);
for (i = 0; i < priv->mimetypes->len; i++) {
@@ -3276,28 +3276,23 @@ as_app_node_insert (AsApp *app, GNode *parent, AsNodeContext *ctx)
}
}
- /* <project_license> or <licence> */
+ /* <project_license> */
if (priv->project_license != NULL) {
- if (api_version >= 0.4) {
- as_node_insert (node_app, "project_license",
- priv->project_license, 0, NULL);
- } else if (api_version >= 0.31) {
- as_node_insert (node_app, "licence",
- priv->project_license, 0, NULL);
- }
+ as_node_insert (node_app, "project_license",
+ priv->project_license, 0, NULL);
}
/* <url> */
as_node_insert_hash (node_app, "url", "type", priv->urls, 0);
/* <project_group> */
- if (priv->project_group != NULL && api_version >= 0.4) {
+ if (priv->project_group != NULL) {
as_node_insert (node_app, "project_group",
priv->project_group, 0, NULL);
}
/* <compulsory_for_desktop> */
- if (priv->compulsory_for_desktops != NULL && api_version >= 0.4) {
+ if (priv->compulsory_for_desktops != NULL) {
g_ptr_array_sort (priv->compulsory_for_desktops,
as_app_ptr_array_sort_cb);
for (i = 0; i < priv->compulsory_for_desktops->len; i++) {
@@ -3317,7 +3312,7 @@ as_app_node_insert (AsApp *app, GNode *parent, AsNodeContext *ctx)
}
/* <screenshots> */
- if (priv->screenshots->len > 0 && api_version >= 0.4) {
+ if (priv->screenshots->len > 0) {
node_tmp = as_node_insert (node_app, "screenshots", NULL, 0, NULL);
for (i = 0; i < priv->screenshots->len; i++) {
ss = g_ptr_array_index (priv->screenshots, i);
@@ -3346,7 +3341,7 @@ as_app_node_insert (AsApp *app, GNode *parent, AsNodeContext *ctx)
}
/* <languages> */
- if (g_hash_table_size (priv->languages) > 0 && api_version >= 0.4)
+ if (g_hash_table_size (priv->languages) > 0)
as_app_node_insert_languages (app, node_app);
/* <update_contact> */
@@ -3359,7 +3354,7 @@ as_app_node_insert (AsApp *app, GNode *parent, AsNodeContext *ctx)
}
/* <metadata> */
- if (g_hash_table_size (priv->metadata) > 0 && api_version >= 0.4) {
+ if (g_hash_table_size (priv->metadata) > 0) {
node_tmp = as_node_insert (node_app, "metadata", NULL, 0, NULL);
as_node_insert_hash (node_tmp, "value", "key", priv->metadata, FALSE);