commit 86d73f933084fd871e920e63d0a3730be95b6f44 Author: jackie_wu123 Date: Fri Nov 29 17:18:55 2019 +0800 libappstream-gilb package init diff --git a/appstream-glib-0.7.14.tar.xz b/appstream-glib-0.7.14.tar.xz new file mode 100644 index 0000000..ef91a7c Binary files /dev/null and b/appstream-glib-0.7.14.tar.xz differ diff --git a/as_utils_vercmp_full.patch b/as_utils_vercmp_full.patch new file mode 100644 index 0000000..9d30732 --- /dev/null +++ b/as_utils_vercmp_full.patch @@ -0,0 +1,144 @@ +From d651281e77120ce4c7431364e4787f08189666b6 Mon Sep 17 00:00:00 2001 +From: Richard Hughes +Date: Wed, 24 Oct 2018 10:15:00 +0100 +Subject: [PATCH 1/2] Add as_utils_vercmp_full() for gnome-software + +Sometimes we don't want to do the firmware-style heuristics. +--- + libappstream-glib/as-utils.c | 42 ++++++++++++++++++++++++++++-------- + libappstream-glib/as-utils.h | 14 ++++++++++++ + 2 files changed, 47 insertions(+), 9 deletions(-) + +diff --git a/libappstream-glib/as-utils.c b/libappstream-glib/as-utils.c +index 29f1637..62d411a 100644 +--- a/libappstream-glib/as-utils.c ++++ b/libappstream-glib/as-utils.c +@@ -1388,22 +1388,23 @@ as_utils_vercmp_chunk (const gchar *str1, const gchar *str2) + } + + /** +- * as_utils_vercmp: ++ * as_utils_vercmp_full: + * @version_a: the release version, e.g. 1.2.3 + * @version_b: the release version, e.g. 1.2.3.1 ++ * @flags: some #AsVersionCompareFlag + * + * Compares version numbers for sorting. + * + * Returns: -1 if a < b, +1 if a > b, 0 if they are equal, and %G_MAXINT on error + * +- * Since: 0.3.5 ++ * Since: 0.7.14 + */ + gint +-as_utils_vercmp (const gchar *version_a, const gchar *version_b) ++as_utils_vercmp_full (const gchar *version_a, ++ const gchar *version_b, ++ AsVersionCompareFlag flags) + { + guint longest_split; +- g_autofree gchar *str_a = NULL; +- g_autofree gchar *str_b = NULL; + g_auto(GStrv) split_a = NULL; + g_auto(GStrv) split_b = NULL; + +@@ -1416,10 +1417,15 @@ as_utils_vercmp (const gchar *version_a, const gchar *version_b) + return 0; + + /* split into sections, and try to parse */ +- str_a = as_utils_version_parse (version_a); +- str_b = as_utils_version_parse (version_b); +- split_a = g_strsplit (str_a, ".", -1); +- split_b = g_strsplit (str_b, ".", -1); ++ if (flags & AS_VERSION_COMPARE_FLAG_USE_HEURISTICS) { ++ g_autofree gchar *str_a = as_utils_version_parse (version_a); ++ g_autofree gchar *str_b = as_utils_version_parse (version_b); ++ split_a = g_strsplit (str_a, ".", -1); ++ split_b = g_strsplit (str_b, ".", -1); ++ } else { ++ split_a = g_strsplit (version_a, ".", -1); ++ split_b = g_strsplit (version_b, ".", -1); ++ } + longest_split = MAX (g_strv_length (split_a), g_strv_length (split_b)); + for (guint i = 0; i < longest_split; i++) { + gchar *endptr_a = NULL; +@@ -1456,6 +1462,24 @@ as_utils_vercmp (const gchar *version_a, const gchar *version_b) + return 0; + } + ++/** ++ * as_utils_vercmp: ++ * @version_a: the release version, e.g. 1.2.3 ++ * @version_b: the release version, e.g. 1.2.3.1 ++ * ++ * Compares version numbers for sorting. ++ * ++ * Returns: -1 if a < b, +1 if a > b, 0 if they are equal, and %G_MAXINT on error ++ * ++ * Since: 0.3.5 ++ */ ++gint ++as_utils_vercmp (const gchar *version_a, const gchar *version_b) ++{ ++ return as_utils_vercmp_full (version_a, version_b, ++ AS_VERSION_COMPARE_FLAG_USE_HEURISTICS); ++} ++ + /** + * as_ptr_array_find_string: + * @array: gchar* array +diff --git a/libappstream-glib/as-utils.h b/libappstream-glib/as-utils.h +index ecb7cdd..8401df8 100644 +--- a/libappstream-glib/as-utils.h ++++ b/libappstream-glib/as-utils.h +@@ -95,6 +95,20 @@ typedef enum { + AS_VERSION_PARSE_FLAG_LAST + } AsVersionParseFlag; + ++/** ++ * AsVersionCompareFlag: ++ * @AS_VERSION_COMPARE_FLAG_NONE: No flags set ++ * @AS_VERSION_COMPARE_FLAG_USE_HEURISTICS: Use a heuristic to parse version numbers ++ * ++ * The flags used when comparing version numbers. ++ **/ ++typedef enum { ++ AS_VERSION_COMPARE_FLAG_NONE = 0, ++ AS_VERSION_COMPARE_FLAG_USE_HEURISTICS = 1 << 0, ++ /*< private >*/ ++ AS_VERSION_COMPARE_FLAG_LAST ++} AsVersionCompareFlag; ++ + /** + * AsUniqueIdMatchFlags: + * @AS_UNIQUE_ID_MATCH_FLAG_NONE: No flags set +-- +2.19.1 + + +From d8f67b1a9be9707c04ed4f1f71eb5365c09c275d Mon Sep 17 00:00:00 2001 +From: Kalev Lember +Date: Wed, 24 Oct 2018 11:45:56 +0200 +Subject: [PATCH 2/2] trivial: Add missing prototype for as_utils_vercmp_full + +--- + libappstream-glib/as-utils.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/libappstream-glib/as-utils.h b/libappstream-glib/as-utils.h +index 8401df8..2fa5199 100644 +--- a/libappstream-glib/as-utils.h ++++ b/libappstream-glib/as-utils.h +@@ -160,6 +160,9 @@ gboolean as_utils_install_filename (AsUtilsLocation location, + GError **error); + gboolean as_utils_search_token_valid (const gchar *token); + gchar **as_utils_search_tokenize (const gchar *search); ++gint as_utils_vercmp_full (const gchar *version_a, ++ const gchar *version_b, ++ AsVersionCompareFlag flags); + gint as_utils_vercmp (const gchar *version_a, + const gchar *version_b); + gboolean as_utils_guid_is_valid (const gchar *guid); +-- +2.19.1 + diff --git a/libappstream-glib.spec b/libappstream-glib.spec new file mode 100644 index 0000000..fdc6678 --- /dev/null +++ b/libappstream-glib.spec @@ -0,0 +1,91 @@ +Name: libappstream-glib +Version: 0.7.14 +Release: 3 +Summary: AppStream Abstraction Library + +License: LGPLv2+ +URL: http://people.freedesktop.org/~hughsient/appstream-glib/ +Source0: http://people.freedesktop.org/~hughsient/appstream-glib/releases/appstream-glib-%{version}.tar.xz +Patch0001: as_utils_vercmp_full.patch + +BuildRequires: glib2-devel >= 2.45.8 docbook-utils gtk-doc gobject-introspection-devel +BuildRequires: libsoup-devel >= 2.51.92 gdk-pixbuf2-devel >= 2.31.5 gtk3-devel gettext +BuildRequires: libuuid-devel libstemmer-devel json-glib-devel >= 1.1.1 meson +BuildRequires: pango-devel rpm-devel sqlite-devel libxslt docbook-style-xsl +Buildrequires: gperf libarchive-devel fontconfig-devel freetype-devel + +Requires: gdk-pixbuf2 >= 2.31.5 glib2 >= 2.45.8 +Requires: json-glib >= 1.1.1 libsoup >= 2.51.92 + +Provides: appdata-tools %{name}-builder = %{version}-%{release} +Provides: %{name}-builder-devel = %{version}-%{release} +Obsoletes: appdata-tools < 0.1.9 %{name}-builder < %{version}-%{release} +Obsoletes: %{name}-builder-devel < %{version}-%{release} +Recommends: pngquant + +%description +The library provides GObjects and helper methods for easier reading and +Write AppStream metadata. At the same time, it provides a simple DOM +implementation to achieve more efficient conversion between edit nodes +and standard XML. + +%package devel +Summary: Libraries and header files for developing applications that use appstream-glib +Requires: %{name} = %{version}-%{release} + +%description devel +Libraries and header files for developing applications that use appstream-glib + +%package help +Summary: Help document for the libappstream-glib package + +%description help +Help document for the libappstream-glib package. + +%prep +%autosetup -n appstream-glib-%{version} -p1 + +%build +%meson -Dgtk-doc=true -Dstemmer=true -Ddep11=false +%meson_build + +%install +%meson_install + +%find_lang appstream-glib + +%post +/sbin/ldconfig +%postun +/sbin/ldconfig + +%files -f appstream-glib.lang +%doc AUTHORS COPYING +%{_libdir}/{libappstream-glib.so.8*,girepository-1.0/*.typelib} +%{_libdir}/{libappstream-builder.so.8*,libappstream-builder.so} +%{_bindir}/{appstream-util,appstream-compose,appstream-builder} +%{_datadir}/bash-completion/completions/{appstream-util,appstream-builder} +%{_libdir}/asb-plugins-5/*.so +%{_includedir}/libappstream-builder/*.h +%{_datadir}/gir-1.0/AppStreamBuilder-1.0.gir +%{_libdir}/pkgconfig/appstream-builder.pc +%dir %{_datadir}/bash-completion/completions/ +%dir %{_includedir}/libappstream-builder + +%files devel +%{_libdir}/{libappstream-glib.so,pkgconfig/appstream-glib.pc} +%{_includedir}/libappstream-glib/*.h +%{_datadir}/gtk-doc/html/appstream-glib +%{_datadir}/gir-1.0/AppStreamGlib-1.0.gir +%{_datadir}/aclocal/*.m4 +%{_datadir}/installed-tests/appstream-glib/*.test +%{_datadir}/gettext/its/{appdata.its,appdata.loc} +%dir %{_includedir}/libappstream-glib + +%files help +%doc README.md NEWS +%{_mandir}/man1/{appstream-util.1.gz,appstream-compose.1.gz,appstream-builder.1.gz} + +%changelog +* Tue Nov 26 2019 wutao - 0.7.14-3 +- Package init