From 3df78c6705a24bef67a6aab182cb07cf5d926e110a226539412665500782ed89 Mon Sep 17 00:00:00 2001 From: Luca Beltrame Date: Mon, 11 Jan 2021 12:18:17 +0000 Subject: [PATCH] Accepting request 862246 from home:Vogtinator:branches:KDE:Frameworks5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Disable vala bindings, fails to build on Leap 15.2 because g-ir-scanner emits the return type before parameters, which vapigen does not like - Update to 0.13.1: Bugfixes: * Install enum types headers to the right location * qt: Construct library using libappstream dependency object * validator: Improve check for invalid hyperlinks to reduce false-positives - Update to 0.13.0: Notes: * This release introduces a new library, libappstream-compose, designed to provide building blocks for composing AppStream metadata. This includes GUI stuff like font and SVG rendering, which libappstream deliberately does not provide. The new compose library is not API/ABI stable and should - for now - only be used by appstream-generator. Features: * qt: add missing Provided::KindId enum (Aleix Pol) * Add experimental libappstream-compose (Matthias Klumpp) * Implement support for display_length relation kind (Matthias Klumpp) * Implement "tv-remote" input control kind (Matthias Klumpp) * Refactor AsRelation to use GVariant internally (Matthias Klumpp) * content-rating: Align the OARS/CSM mappings of sex-* (Philip Withnall) * content-rating: Add content rating system APIs from gnome-software (Philip Withnall) * content-rating: Expand translator comments to link to OARS website (Philip Withnall) Specification: * spec: Specify display_length requires/recommends item (Matthias Klumpp) * spec: Add tv-remote user input control type (Matthias Klumpp) Bugfixes: * Use glib-mkenums to create the GType of all the available enums (Corentin Noël) * Set FD_CLOEXEC on the LMDB FD manually (Fabian Vogt) * Never ship with an embedded convenience copy of Highlight.js (Matthias Klumpp) OBS-URL: https://build.opensuse.org/request/show/862246 OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/AppStream?expand=0&rev=60 --- ...t-FD_CLOEXEC-on-the-LMDB-FD-manually.patch | 53 ----------- AppStream-0.12.11.tar.xz | 3 - AppStream-0.12.11.tar.xz.asc | 16 ---- AppStream-0.13.1.tar.xz | 3 + AppStream-0.13.1.tar.xz.asc | 16 ++++ AppStream.changes | 49 ++++++++++ AppStream.spec | 15 +-- fix-build-gcc7.patch | 10 +- properly-escape-markup.patch | 94 ------------------- 9 files changed, 76 insertions(+), 183 deletions(-) delete mode 100644 0001-Set-FD_CLOEXEC-on-the-LMDB-FD-manually.patch delete mode 100644 AppStream-0.12.11.tar.xz delete mode 100644 AppStream-0.12.11.tar.xz.asc create mode 100644 AppStream-0.13.1.tar.xz create mode 100644 AppStream-0.13.1.tar.xz.asc delete mode 100644 properly-escape-markup.patch diff --git a/0001-Set-FD_CLOEXEC-on-the-LMDB-FD-manually.patch b/0001-Set-FD_CLOEXEC-on-the-LMDB-FD-manually.patch deleted file mode 100644 index 964a1ac..0000000 --- a/0001-Set-FD_CLOEXEC-on-the-LMDB-FD-manually.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 7e4b99464fc9463082465f4ccdae5d69ff001682 Mon Sep 17 00:00:00 2001 -From: Fabian Vogt -Date: Thu, 12 Nov 2020 09:29:55 +0100 -Subject: [PATCH] Set FD_CLOEXEC on the LMDB FD manually - -Currently the FD referring to the appstreacm-cache-FOO.mdb is leaked into -child processes. The only way to fix is in a race-free way is by passing -O_CLOEXEC when opening it inside LMDB, but that's currently not done. ---- - src/as-cache.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/src/as-cache.c b/src/as-cache.c -index 831d94a9..777b40bb 100644 ---- a/src/as-cache.c -+++ b/src/as-cache.c -@@ -35,6 +35,8 @@ - - #include - #include -+#include -+#include - #include - - #include "as-utils-private.h" -@@ -723,6 +725,7 @@ as_cache_open (AsCache *cache, const gchar *fname, const gchar *locale, GError * - gboolean nosync; - gboolean readonly; - g_autoptr(GMutexLocker) locker = NULL; -+ int db_fd, db_fd_flags = -1; - - /* close cache in case it was open */ - as_cache_close (cache); -@@ -829,6 +832,16 @@ as_cache_open (AsCache *cache, const gchar *fname, const gchar *locale, GError * - goto fail; - } - -+ /* set FD_CLOEXEC manually. LMDB should do that, but it doesn't: -+ https://www.openldap.org/lists/openldap-bugs/201702/msg00003.html */ -+ rc = mdb_env_get_fd (priv->db_env, &db_fd); -+ if (rc == MDB_SUCCESS) { -+ db_fd_flags = fcntl (db_fd, F_GETFD); -+ } -+ if (db_fd_flags != -1) { -+ fcntl (db_fd, F_SETFD, db_fd_flags | FD_CLOEXEC); -+ } -+ - /* unlink the file, so it gets removed as soon as we don't need it anymore */ - if (priv->volatile_db_fname != NULL) - g_unlink (priv->volatile_db_fname); --- -2.20.1 - diff --git a/AppStream-0.12.11.tar.xz b/AppStream-0.12.11.tar.xz deleted file mode 100644 index ade845c..0000000 --- a/AppStream-0.12.11.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:194d871ae057c6bf2b5a95e98d77da2b0107996f593b2ac0b0b88fa8ba452f11 -size 2120548 diff --git a/AppStream-0.12.11.tar.xz.asc b/AppStream-0.12.11.tar.xz.asc deleted file mode 100644 index 6f69fe9..0000000 --- a/AppStream-0.12.11.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEE0zo/DKFrCsxRpgc4SUyKX79N7OsFAl661F4ACgkQSUyKX79N -7Os0kRAAglKoyxLdtFenC7254dDizmsuDRKz4kGgoNDhLwt/EaXdHdiEXAXijY1z -k+eOb0bkmjzsjlLciXRdivwZTP/azIAqPujzhqMsQTxxPj+Rt3BrE5ejKG3gvJo6 -vvfEZHr9ujtIANzsbuGGUdycDzGWQqkplcJ9h0r31AlS5ktCA7XH9/JqYtrB3d0C -IF0T2k7vQt+ZzXQgYNdBbVz9p+Xx3nEhZd2AxgzoMKANE2mXhFW3kqBf0yZHR67M -7C2k9BoDxtfqKXU2YkugbrAqVdgcHZMYN02ZklX5aR+MN0xk3MfMMk676v7GrfvK -TWEbq/XSsSQ85JqIErkic/PIC8wTIKecoOBp3L/2VfI/hzm3GaP1y/Cmc0kvGuFW -95//I0hES5IFRqjlX+DG63uDcnnEiohAeEMNP9qzqWIpETBAeyDHTnOhnWwn6OGP -3ocFPD7/Vfwd7FkEVdI44bdsGT6i6u9i06qtq7wO1OrNdtJ0WrmMksTv2kJfej5U -wyIscoM9RO+up1sH873Vj2qS2Sp/wpkp9keKMjpoSvClWUuVLiStdqByePS5iuCE -SsTnfWi4V41IMNspFsUCJwnPyrJjbjK+duTlsC0cwl2ewDmb+p6rWy5/Fwr5wZim -mDaQSj05Rwa4Zd0QNb1wHMuafiFXeYmUOwjfLOWTxDtOU0rqrJc= -=vNI0 ------END PGP SIGNATURE----- diff --git a/AppStream-0.13.1.tar.xz b/AppStream-0.13.1.tar.xz new file mode 100644 index 0000000..39a86ec --- /dev/null +++ b/AppStream-0.13.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba7de61223aaa76d8c47d8857bf185c28d4c2a099f3ab02c8837091e7e8f8626 +size 2221448 diff --git a/AppStream-0.13.1.tar.xz.asc b/AppStream-0.13.1.tar.xz.asc new file mode 100644 index 0000000..3f26428 --- /dev/null +++ b/AppStream-0.13.1.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEE0zo/DKFrCsxRpgc4SUyKX79N7OsFAl/FcrQACgkQSUyKX79N +7Ouy5RAAgo/bD5YdUfpqYzbXQcbjoRgEi1Vvgoqd9en16utqIhFenwRnzOq3sfO7 +7cjddkeNAByTdZYAgSoKZMTk2vUwCmmXZKSW+4NFxuVSXVtEyLzWQTvdBTEMNi86 ++pYC+V8i21lmrdgRYoLTxkjdBU0Lt//2MLU1XAn4mNKnTqGiMW5owfWPb33f3swD +Cl6Woqkm8bFPyat2KKk1hS/sDWL+9ScrdhtfZWG7K5M0mO2hm25v7TX3ym7LhP8m +CS3HS0HJsHhfpN3XaRA2y9cynNyi2AjsRGRiK+H0rch8s+wMdRN3MmPtoE8kZ8v2 +9Jrc13tNSVgeaLpxjmSzQaMEXw7HHzIEgvx6opSaqy0ZMBbh45Xnz3pJH4zxW88q +CdD3h9EeH/s2gVT/Oh0qVuiongEIgnpdJ4JY96w46bVYvKVqp+bsCNhVvcTX1eyg +wfKICIMcwTSnNnFl1GPox6NiH4jAa/NiMzF+1rRRpAFR3uv8fJaLIfO/c8PGkErQ +JDT+qJgpfHYPYbyWfQyWuuZuM1ClrjdV98BJ/6cfqEsYp6i8TzS7E1Vail/ve8tZ +dPpg0Xy+vx4vGQYIekrsD/KhISyv44DADdpzNE4idPsA/Wc5mFrGIsgV2ddMY1so +CsFqYV1WH+ZzME0+JwBjXcfmcZ92lKtF5xwQUW2Qf73PGk7m1z4= +=UPqM +-----END PGP SIGNATURE----- diff --git a/AppStream.changes b/AppStream.changes index 85ddc5a..5a2869e 100644 --- a/AppStream.changes +++ b/AppStream.changes @@ -1,3 +1,52 @@ +------------------------------------------------------------------- +Mon Jan 11 07:58:05 UTC 2021 - Fabian Vogt + +- Disable vala bindings, fails to build on Leap 15.2 because + g-ir-scanner emits the return type before parameters, which vapigen does not like +- Update to 0.13.1: + Bugfixes: + * Install enum types headers to the right location + * qt: Construct library using libappstream dependency object + * validator: Improve check for invalid hyperlinks to reduce false-positives +- Update to 0.13.0: + Notes: + * This release introduces a new library, libappstream-compose, designed to + provide building blocks for composing AppStream metadata. This includes GUI + stuff like font and SVG rendering, which libappstream deliberately does not + provide. The new compose library is not API/ABI stable and should - for now - + only be used by appstream-generator. + Features: + * qt: add missing Provided::KindId enum (Aleix Pol) + * Add experimental libappstream-compose (Matthias Klumpp) + * Implement support for display_length relation kind (Matthias Klumpp) + * Implement "tv-remote" input control kind (Matthias Klumpp) + * Refactor AsRelation to use GVariant internally (Matthias Klumpp) + * content-rating: Align the OARS/CSM mappings of sex-* (Philip Withnall) + * content-rating: Add content rating system APIs from gnome-software (Philip Withnall) + * content-rating: Expand translator comments to link to OARS website (Philip Withnall) + Specification: + * spec: Specify display_length requires/recommends item (Matthias Klumpp) + * spec: Add tv-remote user input control type (Matthias Klumpp) + Bugfixes: + * Use glib-mkenums to create the GType of all the available enums (Corentin Noël) + * Set FD_CLOEXEC on the LMDB FD manually (Fabian Vogt) + * Never ship with an embedded convenience copy of Highlight.js (Matthias Klumpp) + * Don't fail doc install if global highlight.js wasn't found (Matthias Klumpp) + * Properly escape markup when fixing invalid description data (Matthias Klumpp) + * validator: Don't pass NULL to vprintf, it's not an allowed value (Matthias Klumpp) + * meson: Kill deprecation warning for pkgconfig.generate (Matthias Klumpp) + * validator: Demote cid-contains-uppercase-letter from INFO to PEDANTIC (Matthias Klumpp) + * Change some AsPool GIR annotations to only transfer container, + as workaround for issue in GIR (Matthias Klumpp) + * Properly parse YAML font provides entry (Matthias Klumpp) + * content-rating: Lower the OARS/CSM mapping of sex-homosexuality/intense (Philip Withnall) + * Change return annotation of as_agreement_get_sections to "transfer none" (Rico Tzschichholz) + * contrib: Vala expects element-type of PtrArray to reflect their ownership (Rico Tzschichholz) +- Drop patches, now upstream: + * 0001-Set-FD_CLOEXEC-on-the-LMDB-FD-manually.patch + * properly-escape-markup.patch +- Refresh fix-build-gcc7.patch + ------------------------------------------------------------------- Thu Nov 12 08:39:54 UTC 2020 - Fabian Vogt diff --git a/AppStream.spec b/AppStream.spec index 5fe8754..add5283 100644 --- a/AppStream.spec +++ b/AppStream.spec @@ -1,7 +1,7 @@ # # spec file for package AppStream # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define libappstream_sover 4 %define libAppStreamQt_sover 2 Name: AppStream -Version: 0.12.11 +Version: 0.13.1 Release: 0 Summary: Tools and libraries to work with AppStream metadata License: GPL-2.0-or-later AND LGPL-2.1-or-later @@ -29,10 +29,6 @@ Source0: http://www.freedesktop.org/software/appstream/releases/%{name}-% Source1: http://www.freedesktop.org/software/appstream/releases/%{name}-%{version}.tar.xz.asc Source2: %{name}.keyring # PATCH-FIX-UPSTREAM -Patch1: properly-escape-markup.patch -# https://github.com/ximion/appstream/pull/287 -Patch2: 0001-Set-FD_CLOEXEC-on-the-LMDB-FD-manually.patch -# PATCH-FIX-OPENSUSE Patch100: fix-build-gcc7.patch BuildRequires: docbook-xsl-stylesheets BuildRequires: gettext @@ -48,7 +44,6 @@ BuildRequires: pkgconfig(glib-2.0) >= 2.58 BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(libsoup-2.4) BuildRequires: pkgconfig(libxml-2.0) -BuildRequires: pkgconfig(vapigen) BuildRequires: pkgconfig(yaml-0.1) Recommends: curl @@ -121,7 +116,7 @@ GObject introspection bindings for interfaces provided by AppStream. %build %meson -Dqt=true \ - -Dvapi=true \ + -Dvapi=false \ -Ddocs=false \ -Dapidocs=false \ -Dstemming=false @@ -176,10 +171,6 @@ appstreamcli refresh --force || true %{_includedir}/appstream/ %{_datadir}/gir-1.0/AppStream-1.0.gir %{_datadir}/gettext/ -%dir %{_datadir}/vala/ -%dir %{_datadir}/vala/vapi/ -%{_datadir}/vala/vapi/appstream.deps -%{_datadir}/vala/vapi/appstream.vapi %files -n typelib-1_0-AppStream-1.0 %license LICENSE* diff --git a/fix-build-gcc7.patch b/fix-build-gcc7.patch index c7ec7fe..03eef82 100644 --- a/fix-build-gcc7.patch +++ b/fix-build-gcc7.patch @@ -1,16 +1,16 @@ From: Fabian Vogt Subject: Fix build with GCC 7 -Index: AppStream-0.12.11/meson.build +Index: AppStream-0.13.1/meson.build =================================================================== ---- AppStream-0.12.11.orig/meson.build -+++ AppStream-0.12.11/meson.build -@@ -54,7 +54,7 @@ endif +--- AppStream-0.13.1.orig/meson.build ++++ AppStream-0.13.1/meson.build +@@ -55,7 +55,7 @@ endif # a few compiler warning flags we always want enabled add_global_arguments('-Werror=implicit-function-declaration', '-Wno-unused-parameter', language: 'c') -add_global_arguments('-Wno-unused-parameter', '-Wno-error=deprecated-copy', language: 'cpp') +add_global_arguments('-Wno-unused-parameter', language: 'cpp') - add_global_arguments('-DAS_COMPILATION', language : 'c') + add_global_arguments('-DAS_COMPILATION', language: 'c') # diff --git a/properly-escape-markup.patch b/properly-escape-markup.patch deleted file mode 100644 index aa6cbf2..0000000 --- a/properly-escape-markup.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 178c01d2fa12fe8b0676e1676d0d40613f167c69 Mon Sep 17 00:00:00 2001 -From: Matthias Klumpp -Date: Wed, 13 May 2020 21:45:32 +0200 -Subject: [PATCH] Properly escape markup when fixing invalid description data - -This resolves https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960491 -and possibly more issues when AppStream was fed broken metainfo files. ---- - src/as-xml.c | 26 +++++++++++++++----------- - src/as-xml.h | 2 +- - 2 files changed, 16 insertions(+), 12 deletions(-) - -diff --git a/src/as-xml.c b/src/as-xml.c -index 962bdf9a..1935e37b 100644 ---- a/src/as-xml.c -+++ b/src/as-xml.c -@@ -112,10 +112,10 @@ as_xml_dump_node (xmlNode *node, gchar **content, gssize *len) - } - - /** -- * as_xml_dump_node_content: -+ * as_xml_dump_node_content_raw: - */ - gchar* --as_xml_dump_node_content (xmlNode *node) -+as_xml_dump_node_content_raw (xmlNode *node) - { - g_autofree gchar *content = NULL; - gchar *tmp; -@@ -170,10 +170,10 @@ as_xml_dump_node_children (xmlNode *node) - } - - /** -- * as_xml_dump_desc_para_node_content: -+ * as_xml_dump_desc_para_node_content_raw: - */ - static gchar* --as_xml_dump_desc_para_node_content (xmlNode *node) -+as_xml_dump_desc_para_node_content_raw (xmlNode *node) - { - gboolean is_valid_markup = TRUE; - -@@ -198,11 +198,15 @@ as_xml_dump_desc_para_node_content (xmlNode *node) - * was deemed valid. Otherwise we will just try to dump any string content, and hope - * people call the validator on their files to see that their metadata is broken. - * TODO: Parse the data properly, and remove only the bad nodes on error, if libxml permits -- * that somehow? */ -- if (is_valid_markup) -- return as_xml_dump_node_content (node); -- else -- return as_xml_get_node_value (node); -+ * that in an efficient way? */ -+ if (G_LIKELY (is_valid_markup)) { -+ return as_xml_dump_node_content_raw (node); -+ } else { -+ g_autofree gchar *tmp = as_xml_get_node_value (node); -+ if (G_UNLIKELY (tmp == NULL)) -+ return NULL; -+ return g_markup_escape_text (tmp, -1); -+ } - } - - /** -@@ -405,7 +409,7 @@ as_xml_parse_metainfo_description_node (AsContext *ctx, xmlNode *node, GHFunc fu - g_hash_table_insert (desc, g_strdup (lang), str); - } - -- content = as_xml_dump_desc_para_node_content (iter); -+ content = as_xml_dump_desc_para_node_content_raw (iter); - if (content != NULL) - g_string_append_printf (str, "

%s

\n", content); - -@@ -443,7 +447,7 @@ as_xml_parse_metainfo_description_node (AsContext *ctx, xmlNode *node, GHFunc fu - g_hash_table_insert (desc, g_strdup (lang), str); - } - -- content = as_xml_dump_desc_para_node_content (iter2); -+ content = as_xml_dump_desc_para_node_content_raw (iter2); - if (content != NULL) - g_string_append_printf (str, " <%s>%s\n", (gchar*) iter2->name, content, (gchar*) iter2->name); - } -diff --git a/src/as-xml.h b/src/as-xml.h -index 50a38082..ff1efc56 100644 ---- a/src/as-xml.h -+++ b/src/as-xml.h -@@ -53,7 +53,7 @@ void as_xml_parse_metainfo_description_node (AsContext *ctx, - GHFunc func, - gpointer entity); - --gchar *as_xml_dump_node_content (xmlNode *node); -+gchar *as_xml_dump_node_content_raw (xmlNode *node); - gchar *as_xml_dump_node_children (xmlNode *node); - - void as_xml_add_description_node (AsContext *ctx,