diff options
-rw-r--r-- | libappstream-glib/as-app.c | 49 | ||||
-rw-r--r-- | libappstream-glib/as-app.h | 3 | ||||
-rw-r--r-- | libappstream-glib/as-self-test.c | 52 | ||||
-rw-r--r-- | libappstream-glib/as-store.c | 4 | ||||
-rw-r--r-- | libappstream-glib/as-utils-private.h | 2 | ||||
-rw-r--r-- | libappstream-glib/as-utils.c | 13 | ||||
-rw-r--r-- | libappstream-glib/as-utils.h | 3 |
7 files changed, 37 insertions, 89 deletions
diff --git a/libappstream-glib/as-app.c b/libappstream-glib/as-app.c index d5897ff..5ba2254 100644 --- a/libappstream-glib/as-app.c +++ b/libappstream-glib/as-app.c @@ -102,7 +102,6 @@ typedef struct gchar *unique_id; gchar *source_file; gchar *branch; - gchar *version; gint priority; gsize token_cache_valid; GHashTable *token_cache; /* of string:AsAppTokenType* */ @@ -414,7 +413,6 @@ as_app_finalize (GObject *object) g_free (priv->unique_id); g_free (priv->source_file); g_free (priv->branch); - g_free (priv->version); g_hash_table_unref (priv->comments); g_hash_table_unref (priv->developer_names); g_hash_table_unref (priv->descriptions); @@ -552,7 +550,6 @@ as_app_get_bundle_kind (AsApp *app) * 5. AppStream ID, e.g. `gimp.desktop` * 6. arch, e.g. `x86_64` or `i386` * 7. branch, e.g. `stable` or `master` - * 8. version, e.g. `3.20.3` or `0.0.1` * * Returns: %TRUE if the applications are equal * @@ -579,8 +576,6 @@ as_app_equal (AsApp *app1, AsApp *app2) return FALSE; if (!as_app_equal_str (priv1->branch, priv2->branch)) return FALSE; - if (!as_app_equal_str (priv1->version, priv2->version)) - return FALSE; if (!as_app_equal_array_str (priv1->architectures, priv2->architectures)) return FALSE; @@ -596,7 +591,7 @@ as_app_equal (AsApp *app1, AsApp *app2) * * Gets the unique ID value to represent the component. * - * Returns: the unique ID, e.g. "system/package/fedora/desktop/gimp.desktop/i386/master/1.2.3" + * Returns: the unique ID, e.g. `system/package/fedora/desktop/gimp.desktop/i386/master` * * Since: 0.6.1 **/ @@ -612,7 +607,6 @@ as_app_get_unique_id (AsApp *app) priv->kind, as_app_get_id_no_prefix (app), NULL, - NULL, NULL); } else { const gchar *arch_str = NULL; @@ -624,8 +618,7 @@ as_app_get_unique_id (AsApp *app) priv->kind, as_app_get_id_no_prefix (app), arch_str, - priv->branch, - priv->version); + priv->branch); } } return priv->unique_id; @@ -1841,23 +1834,6 @@ as_app_get_branch (AsApp *app) return priv->branch; } -/** - * as_app_get_version: - * @app: a #AsApp instance. - * - * Gets the version for the application. - * - * Returns: string, or %NULL if unset - * - * Since: 0.6.1 - **/ -const gchar * -as_app_get_version (AsApp *app) -{ - AsAppPrivate *priv = GET_PRIVATE (app); - return priv->version; -} - static gboolean as_app_validate_utf8 (const gchar *text) { @@ -2204,23 +2180,6 @@ as_app_set_branch (AsApp *app, const gchar *branch) } /** - * as_app_set_version: - * @app: a #AsApp instance. - * @version: the version, e.g. "1.2.3". - * - * Set the version number of this application. - * - * Since: 0.6.1 - **/ -void -as_app_set_version (AsApp *app, const gchar *version) -{ - AsAppPrivate *priv = GET_PRIVATE (app); - g_free (priv->version); - priv->version = g_strdup (version); -} - -/** * as_app_set_update_contact: * @app: a #AsApp instance. * @update_contact: the project license string. @@ -3528,10 +3487,6 @@ as_app_subsume_private (AsApp *app, AsApp *donor, AsAppSubsumeFlags flags) if (priv->branch != NULL) as_app_set_branch (app, priv->branch); - /* version */ - if (priv->version != NULL) - as_app_set_version (app, priv->version); - /* source_pkgname */ if (priv->source_pkgname != NULL) as_app_set_source_pkgname (app, priv->source_pkgname); diff --git a/libappstream-glib/as-app.h b/libappstream-glib/as-app.h index f9c6f90..d0b3ba3 100644 --- a/libappstream-glib/as-app.h +++ b/libappstream-glib/as-app.h @@ -353,7 +353,6 @@ const gchar *as_app_get_metadata_license (AsApp *app); const gchar *as_app_get_update_contact (AsApp *app); const gchar *as_app_get_source_file (AsApp *app); const gchar *as_app_get_branch (AsApp *app); -const gchar *as_app_get_version (AsApp *app); const gchar *as_app_get_name (AsApp *app, const gchar *locale); const gchar *as_app_get_comment (AsApp *app, @@ -425,8 +424,6 @@ void as_app_set_source_file (AsApp *app, const gchar *source_file); void as_app_set_branch (AsApp *app, const gchar *branch); -void as_app_set_version (AsApp *app, - const gchar *version); void as_app_set_priority (AsApp *app, gint priority); void as_app_add_category (AsApp *app, diff --git a/libappstream-glib/as-self-test.c b/libappstream-glib/as-self-test.c index 6729b24..e6dbff2 100644 --- a/libappstream-glib/as-self-test.c +++ b/libappstream-glib/as-self-test.c @@ -1537,7 +1537,7 @@ as_test_app_func (void) /* verify */ g_assert_cmpstr (as_app_get_id (app), ==, "org.gnome.Software.desktop"); g_assert_cmpstr (as_app_get_id_filename (app), ==, "org.gnome.Software"); - g_assert_cmpstr (as_app_get_unique_id (app), ==, "*/flatpak/*/desktop/org.gnome.Software.desktop/i386/master/*"); + g_assert_cmpstr (as_app_get_unique_id (app), ==, "*/flatpak/*/desktop/org.gnome.Software.desktop/i386/master"); g_assert_cmpstr (as_app_get_name (app, "pl"), ==, "Oprogramowanie"); g_assert_cmpstr (as_app_get_comment (app, NULL), ==, "Application manager"); g_assert_cmpstr (as_app_get_description (app, NULL), ==, "<p>Software allows you to find stuff</p>"); @@ -2989,19 +2989,19 @@ as_test_store_prefix_func (void) "flatpak-user:org.gnome.Software.desktop"); /* exact unique match */ - app_tmp = as_store_get_app_by_unique_id (store, "*/*/*/*/test/*/*/*", + app_tmp = as_store_get_app_by_unique_id (store, "*/*/*/*/test/*/*", AS_STORE_SEARCH_FLAG_NONE); g_assert (app_tmp == NULL); - app_tmp = as_store_get_app_by_unique_id (store, "*/*/*/*/test/*/*/*", + app_tmp = as_store_get_app_by_unique_id (store, "*/*/*/*/test/*/*", AS_STORE_SEARCH_FLAG_USE_WILDCARDS); g_assert (app_tmp == NULL); - app_tmp = as_store_get_app_by_unique_id (store, "*/*/*/*/org.gnome.Software.desktop/*/*/*", + app_tmp = as_store_get_app_by_unique_id (store, "*/*/*/*/org.gnome.Software.desktop/*/*", AS_STORE_SEARCH_FLAG_NONE); g_assert (app_tmp != NULL); - app_tmp = as_store_get_app_by_unique_id (store, "*/*/*/*/org.gnome.Software.desktop/*/*/*", + app_tmp = as_store_get_app_by_unique_id (store, "*/*/*/*/org.gnome.Software.desktop/*/*", AS_STORE_SEARCH_FLAG_USE_WILDCARDS); g_assert (app_tmp != NULL); - app_tmp = as_store_get_app_by_unique_id (store, "*/*/*/*/*/*/*/*", + app_tmp = as_store_get_app_by_unique_id (store, "*/*/*/*/*/*/*", AS_STORE_SEARCH_FLAG_USE_WILDCARDS); g_assert (app_tmp != NULL); } @@ -3027,10 +3027,10 @@ as_test_store_wildcard_func (void) as_store_add_app (store, app2); /* check negative match */ - app_tmp = as_store_get_app_by_unique_id (store, "*/*/xxx/*/gimp.desktop/*/*/*", + app_tmp = as_store_get_app_by_unique_id (store, "*/*/xxx/*/gimp.desktop/*/*", AS_STORE_SEARCH_FLAG_USE_WILDCARDS); g_assert (app_tmp == NULL); - app_tmp = as_store_get_app_by_unique_id (store, "*/snap/*/*/gimp.desktop/*/*/*", + app_tmp = as_store_get_app_by_unique_id (store, "*/snap/*/*/gimp.desktop/*/*", AS_STORE_SEARCH_FLAG_USE_WILDCARDS); g_assert (app_tmp == NULL); } @@ -3071,7 +3071,7 @@ as_test_store_flatpak_func (void) g_assert_cmpint (apps->len, ==, 1); app = g_ptr_array_index (apps, 0); g_assert_cmpstr (as_app_get_id (app), ==, "flatpak:test.desktop"); - g_assert_cmpstr (as_app_get_unique_id (app), ==, "system/flatpak/remote-name/desktop/test.desktop/x86_64/master/*"); + g_assert_cmpstr (as_app_get_unique_id (app), ==, "system/flatpak/remote-name/desktop/test.desktop/x86_64/master"); g_assert_cmpstr (as_app_get_id_filename (app), ==, "test"); g_assert_cmpstr (as_app_get_origin (app), ==, "remote-name"); g_assert_cmpstr (as_app_get_source_file (app), ==, filename); @@ -3457,16 +3457,16 @@ as_test_store_unique_func (void) g_assert_cmpint (apps->len, ==, 3); app = g_ptr_array_index (apps, 0); g_assert_cmpstr (as_app_get_unique_id (app), ==, - "*/package/*/desktop/org.gnome.Software.desktop/*/*/*"); + "*/package/*/desktop/org.gnome.Software.desktop/*/*"); app = g_ptr_array_index (apps, 1); g_assert_cmpstr (as_app_get_unique_id (app), ==, - "*/flatpak/*/desktop/org.gnome.Software.desktop/i386/3-18/*"); + "*/flatpak/*/desktop/org.gnome.Software.desktop/i386/3-18"); app = g_ptr_array_index (apps, 2); g_assert_cmpstr (as_app_get_unique_id (app), ==, - "*/flatpak/*/desktop/org.gnome.Software.desktop/i386/master/*"); + "*/flatpak/*/desktop/org.gnome.Software.desktop/i386/master"); app = as_store_get_app_by_unique_id (store, "*/flatpak/*/desktop/" - "org.gnome.Software.desktop/i386/master/*", + "org.gnome.Software.desktop/i386/master", AS_STORE_SEARCH_FLAG_NONE); g_assert (app != NULL); } @@ -5059,16 +5059,16 @@ as_test_utils_unique_id_func (void) g_assert (!as_utils_unique_id_equal ("foo/bar/baz", "foo/bar")); for (i = 0; i < loops; i++) { - g_assert (as_utils_unique_id_equal ("aa/bb/cc/dd/ee/ff/gg/hh", - "aa/bb/cc/dd/ee/ff/gg/hh")); - g_assert (as_utils_unique_id_equal ("aa/bb/cc/dd/ee/ff/gg/hh", - "aa/*/cc/dd/ee/ff/gg/hh")); - g_assert (as_utils_unique_id_equal ("user/flatpak/utopia/desktop/gimp.desktop/i386/master/1.2.3", - "*/*/*/*/*/*/*/*")); - g_assert (!as_utils_unique_id_equal ("zz/zz/zz/zz/zz/zz/zz/zz", - "aa/bb/cc/dd/ee/ff/gg/hh")); - g_assert (!as_utils_unique_id_equal ("user/*/*/shell-extension/gmail_notify@jablona123.pl.shell-extension/*/*/*", - "*/*/*/desktop/org.gnome.accerciser.desktop/*/*/*")); + g_assert (as_utils_unique_id_equal ("aa/bb/cc/dd/ee/ff/gg", + "aa/bb/cc/dd/ee/ff/gg")); + g_assert (as_utils_unique_id_equal ("aa/bb/cc/dd/ee/ff/gg", + "aa/*/cc/dd/ee/ff/gg")); + g_assert (as_utils_unique_id_equal ("user/flatpak/utopia/desktop/gimp.desktop/i386/master", + "*/*/*/*/*/*/*")); + g_assert (!as_utils_unique_id_equal ("zz/zz/zz/zz/zz/zz/zz", + "aa/bb/cc/dd/ee/ff/gg")); + g_assert (!as_utils_unique_id_equal ("user/*/*/shell-extension/gmail_notify@jablona123.pl.shell-extension/*/*", + "*/*/*/desktop/org.gnome.accerciser.desktop/*/*")); } duration_ns = g_timer_elapsed (timer, NULL) * 1000000000.f; g_print ("%.0f ns: ", duration_ns / (loops * 4)); @@ -5094,7 +5094,7 @@ as_test_store_merge_func (void) as_app_set_source_kind (app1, AS_APP_SOURCE_KIND_APPDATA); as_app_add_pkgname (app1, "gnome-software"); g_assert_cmpstr (as_app_get_unique_id (app1), ==, - "*/package/*/*/org.gnome.Software.desktop/*/master/*"); + "*/package/*/*/org.gnome.Software.desktop/*/master"); as_store_add_app (store, app1); /* add merge component */ @@ -5108,7 +5108,7 @@ as_test_store_merge_func (void) as_app_set_source_file (app_merge, "DO-NOT-SUBSUME.xml"); as_store_add_app (store, app_merge); g_assert_cmpstr (as_app_get_unique_id (app_merge), ==, - "*/*/*/desktop/org.gnome.Software.desktop/*/*/*"); + "*/*/*/desktop/org.gnome.Software.desktop/*/*"); /* add app */ app2 = as_app_new (); @@ -5117,7 +5117,7 @@ as_test_store_merge_func (void) as_app_set_source_kind (app2, AS_APP_SOURCE_KIND_APPSTREAM); as_app_add_pkgname (app2, "gnome-software"); g_assert_cmpstr (as_app_get_unique_id (app2), ==, - "*/package/*/*/org.gnome.Software.desktop/*/stable/*"); + "*/package/*/*/org.gnome.Software.desktop/*/stable"); as_store_add_app (store, app2); /* verify that both apps have the category */ diff --git a/libappstream-glib/as-store.c b/libappstream-glib/as-store.c index 7a87bd1..732d1df 100644 --- a/libappstream-glib/as-store.c +++ b/libappstream-glib/as-store.c @@ -465,7 +465,7 @@ _as_app_new_from_unique_id (const gchar *unique_id) g_autoptr(AsApp) app = as_app_new (); split = g_strsplit (unique_id, "/", -1); - if (g_strv_length (split) != 8) + if (g_strv_length (split) != AS_UTILS_UNIQUE_ID_PARTS) return NULL; if (g_strcmp0 (split[0], AS_APP_UNIQUE_WILDCARD) != 0) as_app_set_scope (app, as_app_scope_from_string (split[0])); @@ -491,8 +491,6 @@ _as_app_new_from_unique_id (const gchar *unique_id) as_app_add_arch (app, split[5]); if (g_strcmp0 (split[6], AS_APP_UNIQUE_WILDCARD) != 0) as_app_set_branch (app, split[6]); - if (g_strcmp0 (split[7], AS_APP_UNIQUE_WILDCARD) != 0) - as_app_set_version (app, split[7]); return g_steal_pointer (&app); } diff --git a/libappstream-glib/as-utils-private.h b/libappstream-glib/as-utils-private.h index ebf6fbf..a3bef1a 100644 --- a/libappstream-glib/as-utils-private.h +++ b/libappstream-glib/as-utils-private.h @@ -32,6 +32,8 @@ G_BEGIN_DECLS +#define AS_UTILS_UNIQUE_ID_PARTS 7 + const gchar *as_hash_lookup_by_locale (GHashTable *hash, const gchar *locale); void as_pixbuf_sharpen (GdkPixbuf *src, diff --git a/libappstream-glib/as-utils.c b/libappstream-glib/as-utils.c index 80633d6..ece8c3e 100644 --- a/libappstream-glib/as-utils.c +++ b/libappstream-glib/as-utils.c @@ -1723,7 +1723,6 @@ _as_utils_fix_unique_id_part (const gchar *tmp) * @id: AppStream ID, e.g. 'gimp.desktop' * @arch: Arch, e.g. 'x86_64' or 'i386' * @branch: Branch, e.g. '3-20' or 'master' - * @version: Version, e.g. '1.2.3' * * Builds a valid unique ID using available data. * @@ -1738,8 +1737,7 @@ as_utils_unique_id_build (AsAppScope scope, AsAppKind kind, const gchar *id, const gchar *arch, - const gchar *branch, - const gchar *version) + const gchar *branch) { const gchar *bundle_str = NULL; const gchar *kind_str = NULL; @@ -1753,15 +1751,14 @@ as_utils_unique_id_build (AsAppScope scope, scope_str = as_app_scope_to_string (scope); if (bundle_kind != AS_BUNDLE_KIND_UNKNOWN) bundle_str = as_bundle_kind_to_string (bundle_kind); - return g_strdup_printf ("%s/%s/%s/%s/%s/%s/%s/%s", + return g_strdup_printf ("%s/%s/%s/%s/%s/%s/%s", _as_utils_fix_unique_id_part (scope_str), _as_utils_fix_unique_id_part (bundle_str), _as_utils_fix_unique_id_part (origin), _as_utils_fix_unique_id_part (kind_str), _as_utils_fix_unique_id_part (id), _as_utils_fix_unique_id_part (arch), - _as_utils_fix_unique_id_part (branch), - _as_utils_fix_unique_id_part (version)); + _as_utils_fix_unique_id_part (branch)); } static inline guint @@ -1794,7 +1791,7 @@ as_utils_unique_id_valid (const gchar *unique_id) if (unique_id[i] == '/') sections++; } - return sections == 8; + return sections == AS_UTILS_UNIQUE_ID_PARTS; } static inline gboolean @@ -1833,7 +1830,7 @@ as_utils_unique_id_equal (const gchar *unique_id1, const gchar *unique_id2) return FALSE; /* look at each part */ - for (i = 0; i < 8; i++) { + for (i = 0; i < AS_UTILS_UNIQUE_ID_PARTS; i++) { const gchar *tmp1 = unique_id1 + last1; const gchar *tmp2 = unique_id2 + last2; diff --git a/libappstream-glib/as-utils.h b/libappstream-glib/as-utils.h index a648c13..95fdc47 100644 --- a/libappstream-glib/as-utils.h +++ b/libappstream-glib/as-utils.h @@ -138,8 +138,7 @@ gchar *as_utils_unique_id_build (AsAppScope scope, AsAppKind kind, const gchar *id, const gchar *arch, - const gchar *branch, - const gchar *version); + const gchar *branch); gboolean as_utils_unique_id_equal (const gchar *unique_id1, const gchar *unique_id2); gboolean as_utils_unique_id_valid (const gchar *unique_id); |