diff --git a/0001-Fix-regression-from-153.patch b/0001-Fix-regression-from-153.patch deleted file mode 100644 index e7e4704..0000000 --- a/0001-Fix-regression-from-153.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 3e58f9c97d95785b2bcab632871a59a04050a458 Mon Sep 17 00:00:00 2001 -From: Gabriel Souza Franco -Date: Wed, 24 Jan 2018 14:26:28 +0100 -Subject: [PATCH] qt: Fix regression from #153 - -Define location and soname for all configurations, not just Debug. ---- - qt/cmake/AppStreamQtConfig.cmake.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/qt/cmake/AppStreamQtConfig.cmake.in b/qt/cmake/AppStreamQtConfig.cmake.in -index aa61e820..b64a4f57 100644 ---- a/qt/cmake/AppStreamQtConfig.cmake.in -+++ b/qt/cmake/AppStreamQtConfig.cmake.in -@@ -32,8 +32,8 @@ add_library(AppStreamQt SHARED IMPORTED) - set_target_properties(AppStreamQt PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${PACKAGE_PREFIX_DIR}/include/" - INTERFACE_LINK_LIBRARIES "Qt5::Core" -- IMPORTED_LOCATION_DEBUG "@LIBDIR_FULL@/libAppStreamQt.so.${AppStreamQt_VERSION}" -- IMPORTED_SONAME_DEBUG "libAppStreamQt.${AppStreamQt_VERSION_MAJOR}" -+ IMPORTED_LOCATION "@LIBDIR_FULL@/libAppStreamQt.so.${AppStreamQt_VERSION}" -+ IMPORTED_SONAME "libAppStreamQt.${AppStreamQt_VERSION_MAJOR}" - ) - - #################################################################################### diff --git a/AppStream-0.11.8.tar.xz b/AppStream-0.11.8.tar.xz deleted file mode 100644 index d8da44e..0000000 --- a/AppStream-0.11.8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:54a6c443e51c2e016fe5031f8f1865500bb7a7807b8514355f4841298b85edf3 -size 1906960 diff --git a/AppStream-0.11.8.tar.xz.asc b/AppStream-0.11.8.tar.xz.asc deleted file mode 100644 index ebf117b..0000000 --- a/AppStream-0.11.8.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEE0zo/DKFrCsxRpgc4SUyKX79N7OsFAlpmavcACgkQSUyKX79N -7Ou+7xAAmO/VQpcqezjmLC4NtrD4Mp+yokxAO8r+2QKCv0nj5qQbyQjIc5l5DGWG -eoW3UigdIS00IKMIxGKVf+88nYZCw7he9zAhLffT7MXvyFPM+jov4j7lswMD2LLn -7ikA0kEzM64EzUw1V6zEYQWqEcy2x6BhfLpIIe+r2bNVi8ZoNT3WO/veHEX1XKa1 -1fLrj+rH5hYuNn/oT/AtxLWeuLyfk5f/PJ33RpvGHMer9m5LztYxYxUvJrm/2+WL -mS5XEiwwV5mX6NtW3tlXESEkEIiMHyYB9SV/8Pe6Oc7pVpa03EKGgQurzfQk1o/S -0L740pc9qFn3IjPtI+qJPSITOPRpyhHYaHm+gHSqKmYioRG6y2NYZj5xMjm3YCEc -ab9slTxAIZ42DK0sdtgaiv+W4Q9vwQTX91hKJgm4hP4HrSYHKwXaG4rpO9WmbucP -dJZ40a/N4iIZUlZOtNG7B2iiVZUWpI8rOP69yb9zRGncCG+OvVTMMM3Vr0i1YzQk -vSg9xjznqCw5gvFb9D+vSIz1Nki782g1HHCmdLmXqbyExzPoccxVSKYFa9Rc32gJ -plJ1myCnET1j35UZT47IQ3fBFaeD8ZyMYqOFjcvqgt5cwRCWvK7yiChpVIwkoAVf -2RjkhD9ooEdjyaKP/I3miPgqG1iNV1atdX/uxgUYzOgXDSZCtS0= -=lwfD ------END PGP SIGNATURE----- diff --git a/AppStream-0.12.2.tar.xz b/AppStream-0.12.2.tar.xz new file mode 100644 index 0000000..46901bd --- /dev/null +++ b/AppStream-0.12.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b232fdac3e2bc46b0adb5e9bd462fdc99f52de3afc2f17a67b35c122b6e4c05 +size 1938868 diff --git a/AppStream-0.12.2.tar.xz.asc b/AppStream-0.12.2.tar.xz.asc new file mode 100644 index 0000000..3150f01 --- /dev/null +++ b/AppStream-0.12.2.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE0zo/DKFrCsxRpgc4SUyKX79N7OsFAltlWEMACgkQSUyKX79N +7OuhyhAAqTuITpiJ9uRApRsz70R5FjO2gQo6f9oxAELttugDQTv3Dr/7zh+RQNwB +deRocRfVo5bsYQMXT181yJ486HWjLmbYpaQ18nHoVf8ocUi0TL87VKfEg9afDA3g +7kd0rvb0Ri6ciUH2Yj9CYraHI33yF25+nVgA/zl4AqU31ORAc56Tkg6HWeM1A8iW +roWB4PgudIzYa8155pTPHviMKrCSfdcjzqR1eA2wWbAWZhO0IiKyl440NtH8HOm9 +Y9DkdGvaVCzZRzI/EhWwM8whoybZ4RKpEloU8U9Io5Nw0m2X6lwdN9tpZlgyopRF +Ag4GLSV19mckOQqVYku79WnQJpP2PA5kWkBsm4ALEEcIT97vGkw+KyFHr2zseg2m +yIbVaoN5nm3U7ccMrt6+TJb0oa5V6o0GGybqhZOEY1TqjiRd5PxWYTIB8KW2F6bX +NZUrl5PhA6zw6YqEuG7jn8hcEZ5iJixfxZrOPM5m1hmglab+Y21nr0ABZTYqEUwO +mEA+amj+Aun7HLfH4f4zgU2xag+De5pniJpMlhAvwOBvkMnWFeeK6/tGaNd576n4 +jZawntYV4eSWZuBoHsW7bQathwJlKyi9fxC6Apqgd7dHSP6Pcyb8TDaxqGqDEcC2 +wDXwfKKBssNe1pIOt0yPohY+Kh8/H8mF7+Yr1IvFp7XNnovowzk= +=fMze +-----END PGP SIGNATURE----- diff --git a/AppStream.changes b/AppStream.changes index 64911f5..5c45cd1 100644 --- a/AppStream.changes +++ b/AppStream.changes @@ -1,3 +1,82 @@ +------------------------------------------------------------------- +Tue Oct 16 07:50:17 UTC 2018 - Fabian Vogt + +- Update to 0.12.2: + * Fix a couple of incorrect g_ptr_array_unrefs (Iain Lane) + * Use autofree functions instead of freeing resources + explicitly (Matthias Klumpp) + * Add missing const (Matthias Klumpp) + * Ensure we don't produce a .pc file with unnecessary + Requires.private lines (Matthias Klumpp) + * Stop leaking local GVariantDict instance contents (Phil Miller) + * Drop leaked references to container items (Phil Miller) +- Update to 0.12.1: + Features: + * ascli: Add command to compare version numbers (Matthias Klumpp) + * yaml: Allow reading multiple localized strings from YAML data + (Matthias Klumpp) + * yaml: Always include the untranslated strings (Matthias Klumpp) + * Allow to ignore media_baseurl when parsing metadata (Matthias Klumpp) + * xml: Add implementation of the agreement tag (Matthias Klumpp) + * Add new "repository" component type (Matthias Klumpp) + * yaml: Implement Agreements field (Matthias Klumpp) + * cache: Implement support for agreements (Matthias Klumpp) + * tests: Improve cache data tests, add agreement tag test (Matthias Klumpp) + * Use gperf for perfect hash generation for some tags (Matthias Klumpp) + * tests: Add rundimentary performance test (Matthias Klumpp) + * its: Mark agreement sections as translatable (Matthias Klumpp) + * qt: Add support for service/repository component types (Matthias Klumpp) + Specification: + * docs: Describe the custom tag (Matthias Klumpp) + * spec: Describe the new agreement tag (Matthias Klumpp) + * docs: Clarify that the /usr/share/appdata/ path is legacy and should + not be used (Matthias Klumpp) + Bugfixes: + * its: Allow translation of release descriptions (Marc J) + * Load data from desktop files properly again (Matthias Klumpp) + * Update desktop-environment list (Matthias Klumpp) + * qt: Don't warn about inlining in maintainer mode (Matthias Klumpp) +- Update to 0.12.0: + Features: + * Implement release types (Matthias Klumpp) + * qt: Support release types (Matthias Klumpp) + * Update static data lists (Matthias Klumpp) + * Make as_str_replace use as_gstring_replace internally (Matthias Klumpp) + * spdx: Add some compatibility workarounds for SPDX 3.0 (Matthias Klumpp) + * validator: Validate SPDX license expressions for metadata_license (Matthias Klumpp) + * apt: Add config snippets to enable icon downloads (Matthias Klumpp) + * yaml: Ensure all string values have whitespaces stripped (Matthias Klumpp) + * Make as_component_get_launchables public API (Matthias Klumpp) + * Implement support for requires/recommends (Matthias Klumpp) + * Add recommends/requires data to the cache (Matthias Klumpp) + * Add a quick way to check if a version satisfies an AsRelation requirement (Matthias Klumpp) + * ascli: Properly document the --no-net flag (Matthias Klumpp) + * ascli: Allow to disable network acces via an environment variable (Matthias Klumpp) + * apt: Support 48x48px icons (Matthias Klumpp) + * yaml: Make Requires/Recommends data more compact and easier to emit (Matthias Klumpp) + * validator: Validate requires/recommends tags (Matthias Klumpp) + * Default to format version 0.12 (Matthias Klumpp) + Specification: + * spec: Add a "type" property to tag. (Jehan) + * spec: Initial draft for requires/recommends (Matthias Klumpp) + * spec: Document the YAML Rquires/Recommends fields (Matthias Klumpp) + * spec: Clarify that the memory requirement uses MiB as unit (Matthias Klumpp) + Bugfixes: + * qt: Implement missing constructors (Aleix Pol) + * apt: escape the icon scale factor as it is using the arobase character (Corentin Noël) + * Check plain language string in as_component_localized_get as well (Antonio Rojas) + * qt: Define location and soname for all configurations, not just Debug (Gabriel Souza Franco) + * Never override high-quality data with incomplete .desktop data (Matthias Klumpp) + * Make data update script work with recent SPDX (Matthias Klumpp) + * Add a timeout to URL validity checks (Matthias Klumpp) +- Remove patches, now upstream: + * 0001-Fix-regression-from-153.patch +- Add patch to fix assertion failure on cache refresh (boo#1105691): + * explicit-variant-types.patch +- Add patch to fix build on Leap: + * workaround-hidden-symbols.patch +- Run spec-cleaner + ------------------------------------------------------------------- Wed May 23 15:25:48 UTC 2018 - kbabioch@suse.com diff --git a/AppStream.spec b/AppStream.spec index 0dfd6bd..4d388ee 100644 --- a/AppStream.spec +++ b/AppStream.spec @@ -12,28 +12,32 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define libappstream_sover 4 %define libAppStreamQt_sover 2 - Name: AppStream -Version: 0.11.8 +Version: 0.12.2 Release: 0 Summary: Utilities to generate, maintain and access the AppStream Xapian database License: GPL-2.0-or-later AND LGPL-2.1-or-later Group: Development/Libraries/C and C++ -Url: https://www.freedesktop.org/software/appstream/docs/ +URL: https://www.freedesktop.org/software/appstream/docs/ Source0: http://www.freedesktop.org/software/appstream/releases/%{name}-%{version}.tar.xz Source1: http://www.freedesktop.org/software/appstream/releases/%{name}-%{version}.tar.xz.asc Source2: %{name}.keyring -Patch0: 0001-Fix-regression-from-153.patch +# PATCH-FIX-UPSTREAM +Patch1: explicit-variant-types.patch +# PATCH-FIX-UPSTREAM (or equivalent) +Patch2: workaround-hidden-symbols.patch BuildRequires: gettext +BuildRequires: gperf BuildRequires: intltool BuildRequires: itstool BuildRequires: meson >= 0.42 +BuildRequires: pkgconfig BuildRequires: xmlto BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Test) @@ -47,7 +51,6 @@ BuildRequires: pkgconfig(vapigen) BuildRequires: pkgconfig(xapian-core) BuildRequires: pkgconfig(yaml-0.1) Recommends: curl -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description AppStream-Core makes it easy to access application information from the @@ -118,8 +121,7 @@ suck less. %lang_package %prep -%setup -q -%patch0 -p1 +%autosetup -p1 %build %if "%{?_lib}" == "lib64" @@ -144,17 +146,13 @@ SUFFIX="" appstreamcli refresh --force || true %post -n libappstream%{libappstream_sover} -p /sbin/ldconfig - %postun -n libappstream%{libappstream_sover} -p /sbin/ldconfig - %post -n libAppStreamQt%{libAppStreamQt_sover} -p /sbin/ldconfig - %postun -n libAppStreamQt%{libAppStreamQt_sover} -p /sbin/ldconfig %files lang -f %{name}.lang %files -%defattr(-,root,root) %doc NEWS %license LICENSE* %{_bindir}/appstreamcli @@ -164,24 +162,20 @@ appstreamcli refresh --force || true %{_mandir}/man1/appstreamcli.* %files -n libappstream%{libappstream_sover} -%defattr(-,root,root) %doc NEWS %license LICENSE* %{_libdir}/libappstream.so.* %files -n libAppStreamQt%{libAppStreamQt_sover} -%defattr(-,root,root) %license LICENSE* %{_libdir}/libAppStreamQt.so.* %files -n libAppStreamQt-devel -%defattr(-,root,root) %{_includedir}/AppStreamQt/ %{_libdir}/cmake/AppStreamQt/ %{_libdir}/libAppStreamQt.so %files devel -%defattr(-,root,root) %{_libdir}/libappstream.so %{_libdir}/pkgconfig/appstream.pc %{_includedir}/appstream/ @@ -193,12 +187,10 @@ appstreamcli refresh --force || true %{_datadir}/vala/vapi/appstream.vapi %files -n typelib-1_0-AppStream-1.0 -%defattr(-,root,root) %license LICENSE* %{_libdir}/girepository-1.0/AppStream-1.0.typelib %files doc -%defattr(-,root,root) %{_datadir}/doc/appstream %changelog diff --git a/explicit-variant-types.patch b/explicit-variant-types.patch new file mode 100644 index 0000000..4484889 --- /dev/null +++ b/explicit-variant-types.patch @@ -0,0 +1,77 @@ +From 734e9da66bf12fcaa94c10465db2dcf8bb2b94cb Mon Sep 17 00:00:00 2001 +From: Matthias Klumpp +Date: Sun, 19 Aug 2018 16:21:15 +0200 +Subject: [PATCH] cache: Set explicit variant types for cases where they can + not be inferred + +This ensures we do not run into assertion failures in case no array or +dict elements exist from which the final variant type can be +automatically inferred. +This resolves #198 +--- + src/as-agreement.c | 2 +- + src/as-content-rating.c | 2 +- + src/as-release.c | 4 ++-- + src/as-screenshot.c | 2 +- + 4 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/as-agreement.c b/src/as-agreement.c +index 0deee865..70fa5e67 100644 +--- a/src/as-agreement.c ++++ b/src/as-agreement.c +@@ -450,7 +450,7 @@ as_agreement_to_variant (AsAgreement *agreement, GVariantBuilder *builder) + g_variant_builder_add_parsed (&agreement_b, "{'kind', <%u>}", priv->kind); + g_variant_builder_add_parsed (&agreement_b, "{'version_id', %v}", as_variant_mstring_new (priv->version_id)); + +- g_variant_builder_init (§ions_b, G_VARIANT_TYPE_ARRAY); ++ g_variant_builder_init (§ions_b, (const GVariantType *) "aa{sv}"); + for (guint i = 0; i < priv->sections->len; i++) { + as_agreement_section_to_variant (AS_AGREEMENT_SECTION (g_ptr_array_index (priv->sections, i)), §ions_b); + } +diff --git a/src/as-content-rating.c b/src/as-content-rating.c +index 70b4bcde..263a6d01 100644 +--- a/src/as-content-rating.c ++++ b/src/as-content-rating.c +@@ -499,7 +499,7 @@ as_content_rating_to_variant (AsContentRating *content_rating, GVariantBuilder * + GVariantBuilder rating_b; + guint j; + +- g_variant_builder_init (&values_b, G_VARIANT_TYPE_ARRAY); ++ g_variant_builder_init (&values_b, (const GVariantType *) "a{su}"); + for (j = 0; j < priv->keys->len; j++) { + AsContentRatingKey *key = (AsContentRatingKey*) g_ptr_array_index (priv->keys, j); + g_variant_builder_add (&values_b, "{su}", key->id, key->value); +diff --git a/src/as-release.c b/src/as-release.c +index 7a903519..e0908264 100644 +--- a/src/as-release.c ++++ b/src/as-release.c +@@ -922,14 +922,14 @@ as_release_to_variant (AsRelease *release, GVariantBuilder *builder) + gboolean have_sizes = FALSE; + + /* build checksum info */ +- g_variant_builder_init (&checksum_b, G_VARIANT_TYPE_DICTIONARY); ++ g_variant_builder_init (&checksum_b, (const GVariantType *) "a{us}"); + for (j = 0; j < priv->checksums->len; j++) { + AsChecksum *cs = AS_CHECKSUM (g_ptr_array_index (priv->checksums, j)); + as_checksum_to_variant (cs, &checksum_b); + } + + /* build size info */ +- g_variant_builder_init (&sizes_b, G_VARIANT_TYPE_DICTIONARY); ++ g_variant_builder_init (&sizes_b, (const GVariantType *) "a{ut}"); + for (j = 0; j < AS_SIZE_KIND_LAST; j++) { + if (as_release_get_size (release, (AsSizeKind) j) > 0) { + g_variant_builder_add (&sizes_b, "{ut}", +diff --git a/src/as-screenshot.c b/src/as-screenshot.c +index 7c834413..6569dbe3 100644 +--- a/src/as-screenshot.c ++++ b/src/as-screenshot.c +@@ -596,7 +596,7 @@ as_screenshot_to_variant (AsScreenshot *screenshot, GVariantBuilder *builder) + if (priv->images->len == 0) + return FALSE; + +- g_variant_builder_init (&images_b, G_VARIANT_TYPE_ARRAY); ++ g_variant_builder_init (&images_b, (const GVariantType *) "aa{sv}"); + for (i = 0; i < priv->images->len; i++) + as_image_to_variant (AS_IMAGE (g_ptr_array_index (priv->images, i)), &images_b); + diff --git a/workaround-hidden-symbols.patch b/workaround-hidden-symbols.patch new file mode 100644 index 0000000..863cbee --- /dev/null +++ b/workaround-hidden-symbols.patch @@ -0,0 +1,18 @@ +From: Fabian Vogt +Subject: Workaround as-tag marking strcmp/strlen/... as hidden + +https://github.com/ximion/appstream/issues/207 + +Index: AppStream-0.12.2/src/as-tag.c +=================================================================== +--- AppStream-0.12.2.orig/src/as-tag.c ++++ AppStream-0.12.2/src/as-tag.c +@@ -36,6 +36,8 @@ + #pragma clang diagnostic ignored "-Wmissing-field-initializers" + #endif + ++#include ++ + #pragma GCC visibility push(hidden) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wconversion"