From d1ed029468c8b053df2ef3864b8037025aad60885837abf1b4b8fea35f6e528f Mon Sep 17 00:00:00 2001 From: Fabian Vogt Date: Wed, 8 Feb 2023 09:51:38 +0000 Subject: [PATCH] Accepting request 1063573 from home:ldragon:branches:KDE:Frameworks5 Update to appstream 16, build with compose support OBS-URL: https://build.opensuse.org/request/show/1063573 OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/AppStream?expand=0&rev=85 --- AppStream-0.15.6.tar.xz | 3 -- AppStream-0.15.6.tar.xz.asc | 16 ------- AppStream-0.16.0.tar.xz | 3 ++ AppStream-0.16.0.tar.xz.asc | 16 +++++++ AppStream.changes | 31 ++++++++++++ AppStream.spec | 71 ++++++++++++++++++++++++++-- support-meson0.59.patch | 94 +++++++++++++++++++------------------ 7 files changed, 166 insertions(+), 68 deletions(-) delete mode 100644 AppStream-0.15.6.tar.xz delete mode 100644 AppStream-0.15.6.tar.xz.asc create mode 100644 AppStream-0.16.0.tar.xz create mode 100644 AppStream-0.16.0.tar.xz.asc diff --git a/AppStream-0.15.6.tar.xz b/AppStream-0.15.6.tar.xz deleted file mode 100644 index af37e9e..0000000 --- a/AppStream-0.15.6.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:23d6c940368b5a6cedf622df3707c0dd8679cf4b0739f7aba13f925c58cdf10e -size 2517688 diff --git a/AppStream-0.15.6.tar.xz.asc b/AppStream-0.15.6.tar.xz.asc deleted file mode 100644 index 87b9a82..0000000 --- a/AppStream-0.15.6.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEE0zo/DKFrCsxRpgc4SUyKX79N7OsFAmOk3q4ACgkQSUyKX79N -7Otdcw/9HFk3JnQhAf3bAOWPJjziJNj2cYDuvW0v/ssqPwZ5A7fxqBFY5px34ONj -ipv2GqdARz9yxKQ/dIjkQ8E7lW9DVfhD9zgqLymPFpMzeRFewMYv8UOZP2bSS7iS -g9NQ8Q4sLmmpXsPBNvMTz7fSXIDRZ9bWSH7k2nCgJCvzziXslT0XLh9WvrHOcFWm -G5SSWCTAe0VvyMX3Xc7Zs0to/vDNS/xvrI+dbj53qz9pX552mT53+e5HzVIIDEpJ -cLWRM5w+LZSyLNziBDCvhrPBEexGljff064YWobht5bp6HVDl5WsRjzgizwr9asS -pKB1n0Q7k0h7tMIWFKHelZoMdpcy7pJKLa4Scy2GInyXtj+7HFZzoePtZa0eRSiI -HGJuSsw/wWMKQelSL4C/Cinqk0kJzBnAhv21DYSGWy2hFs/c/oc5kvSohhXUjqui -x/QTmQgnv1xqjL74+UVQwQPpLCHz+CAcupvoAIL92G+LEVKhAIf31KrpoPsjUUAr -RCF15G/ZQz32E/LNwlxajCQ/x8Y6LlxiNSU9155xZrnhrCjXrhtHly8dIKROprXY -pFrt57FplvB0F7zhwXuEMw4S+ZysbrZS4q+eOYjJ8790Xvrlv39EspQg+i1Lzw5D -U7Ywn8Z+4PaiR5kgbSrPXpHLqD1OlS6RimvK7pRVutkQTKmgrlw= -=FRC3 ------END PGP SIGNATURE----- diff --git a/AppStream-0.16.0.tar.xz b/AppStream-0.16.0.tar.xz new file mode 100644 index 0000000..df72c84 --- /dev/null +++ b/AppStream-0.16.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6430cce80ddfcda5a35270edf80f71e78f437ca5104183f765af9f3ed048e170 +size 2554064 diff --git a/AppStream-0.16.0.tar.xz.asc b/AppStream-0.16.0.tar.xz.asc new file mode 100644 index 0000000..c083530 --- /dev/null +++ b/AppStream-0.16.0.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEE0zo/DKFrCsxRpgc4SUyKX79N7OsFAmPS9xYACgkQSUyKX79N +7Ouf8A/9HZGxKQ0PeBMxEhgTBRTyxZpyVCdxwujuquIyJr495tT0/rs9lreQfxCM +PKJkENOK354qdWC0A926L0wBg+JxItkIN8Fv/+jR4rTRLoxFrQfHZ7UG88s4nnU8 +uycYc8uqFhH+tUhBOOQclkjs3BjIe6RPjhyZl6bSzrOeJ6WXsN5hiThcvFJFE8TH +FAORfnx0crvkg0ks1vV9MuifOVR1z101ow7Q/cJvEe+c4NOm1GkeDB4aqW9r/Dqj +Cez0adUN3Bz5RFr/br98+5w8UR9d6FO9F/vU9r46OJwDctmgmQpUtSKFwi6pnNlC +Q0UZcw8PDXAISeUGG9cx/WFoaHEiWU2s62Ev0DUlfVmPgzyXcShrgYALGUhqjjg6 +HA1+DiUAaRa2PQHb+qO9+zlJjVmfqF0rKtHRPOv5MuENY+4QnGL3+tNTf5Bz+S5l +ozIqXLEkWnUm4mqrfUy0ssF8huUW5noX8ZYER4h3sGXJHFUrOwwVa+r/gHq3UIHD +Z7yxbC5xDBp4W9cEreycgjFblaMzka4kGB8ACWWkN3FJgLqrEimIzd5SeRcvWyOH +2fNYzvZJBEz7GxWh/L2/fkhzZnT/OKFFAkIpThnYQ+snLASrF2FIbEhnX2CWqS/E +4y7Jk2BRW4J6r1RB3Gm5bbB+jUH2uv+dEoaqyHHkJ7DtgtYCv6c= +=jcZ7 +-----END PGP SIGNATURE----- diff --git a/AppStream.changes b/AppStream.changes index 9cbf054..34aa8f7 100644 --- a/AppStream.changes +++ b/AppStream.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Sat Feb 4 03:14:38 UTC 2023 - Luna D Dragon + +- Update to version 0.16.0: + * Features: + + pool: Offer API to look up components by bundles + + Bump format version to 0.16 + + Add new AsSystemInfo to read information about the current OS and device + + Add helper to get device names from a modalias + + Implement support for external release metadata + + Add validation support for external release metadata + + compose: Validate external release metadata used for the catalog as well + + its: Add rule for standalone release metadata + + Add function to test if an AsRelation is satisfied on the current system + + cli: Add command to list category contents + + cli: Display colored checkmarks if possible + + cli: Add new is-satisfied check to test relations from the command-line + + cli: Add Markdown export support for metainfo-to-news + + qt: Add support for SystemInfo & relation satisfication checks + * Specification: + + spec: Specify a metadata format for external release descriptions + * Bugfixes: + + Fix build with Clang 15 + + Give a better error message if trying to list too many categories + + Adjust documentation of AsPool.get_components_by_categories to reflect reality + + validator: Validate merge component catalog data properly again + * Miscellaneous: + + Consistently name catalog metadata as such everywhere +- Update support-meson0.59.patch for latest version of AppStream +- Build AppStream with compose support as a separate package. + ------------------------------------------------------------------- Fri Jan 13 22:51:34 UTC 2023 - Bjørn Lie diff --git a/AppStream.spec b/AppStream.spec index b621929..4b2eac2 100644 --- a/AppStream.spec +++ b/AppStream.spec @@ -18,11 +18,12 @@ %define libappstream_sover 4 %define libAppStreamQt_sover 2 +%define libappstream_compose_sover 0 %if 0%{?sle_version} >= 150300 && 0%{?is_opensuse} || 0%{?suse_version} > 1500 %bcond_without vala %endif Name: AppStream -Version: 0.15.6 +Version: 0.16.0 Release: 0 Summary: Tools and libraries to work with AppStream metadata License: LGPL-2.1-or-later @@ -32,7 +33,9 @@ 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 Patch0: support-meson0.59.patch +BuildRequires: cairo-devel BuildRequires: docbook-xsl-stylesheets +BuildRequires: gdk-pixbuf-loader-rsvg BuildRequires: gettext BuildRequires: gperf BuildRequires: itstool @@ -41,11 +44,15 @@ BuildRequires: pkgconfig BuildRequires: xsltproc BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Test) +BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(glib-2.0) >= 2.62 BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(librsvg-2.0) +BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(xmlb) >= 0.3.6 BuildRequires: pkgconfig(yaml-0.1) Recommends: curl @@ -85,6 +92,36 @@ This package contains all necessary include files, libraries, configuration files and development tools (with manual pages) needed to compile and link applications using the Qt bindings for AppStream. +%package compose +Summary: Support for appstreamcli compose +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: System/Libraries +Requires: %{name} = %{version} +Requires: gdk-pixbuf-loader-rsvg + +%description compose +This package contains all necessary files, libraries, +configuration files to add compose support to appstreamcli. + +%package -n libappstream-compose%{libappstream_compose_sover} +Summary: Libraries for appstream compose support +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: System/Libraries + +%description -n libappstream-compose%{libappstream_compose_sover} +The library for AppStream compose support. + +%package compose-devel +Summary: Header files for AppStream Compose support +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} +Requires: AppStream-compose = %{version} + +%description compose-devel +This package contains all necessary files, libraries, +configuration files to add compose support using compose. + %package devel Summary: Header files for AppStream development License: GPL-2.0-or-later @@ -97,6 +134,8 @@ This package contains all necessary include files, libraries, configuration files and development tools (with manual pages) needed to compile and link applications using AppStream. +This package contains the documentation for AppStream. + %package doc Summary: Documentation for AppStream License: GPL-2.0-or-later @@ -109,6 +148,14 @@ AppStream database over a nice GObject-based interface. This package contains the documentation files for AppStream. +%package -n typelib-1_0-AppStream-compose-1.0 +Summary: Introspection bindings for AppStream Compose +License: LGPL-2.1-or-later +Group: System/Libraries + +%description -n typelib-1_0-AppStream-compose-1.0 +GObject introspection bindings for interfaces provided by AppStream Compose + %package -n typelib-1_0-AppStream-1.0 Summary: Introspection bindings for AppStream License: LGPL-2.1-or-later @@ -124,6 +171,7 @@ GObject introspection bindings for interfaces provided by AppStream. %build %meson -Dqt=true \ + -Dcompose=true \ %if %{with vala} -Dvapi=true \ %else @@ -172,6 +220,20 @@ rm -r %{buildroot}%{_datadir}/installed-tests %{_libdir}/cmake/AppStreamQt/ %{_libdir}/libAppStreamQt.so +%files compose +%{_datadir}/metainfo/org.freedesktop.appstream.compose.metainfo.xml +%{_libexecdir}/appstreamcli-compose + +%files -n libappstream-compose%{libappstream_compose_sover} +%{_libdir}/libappstream-compose.so.%{version} +%{_libdir}/libappstream-compose.so.%{libappstream_compose_sover} + +%files compose-devel +%{_libdir}/libappstream-compose.so +%{_libdir}/pkgconfig/appstream-compose.pc +%{_includedir}/appstream-compose/ +%{_datadir}/gir-1.0/AppStreamCompose-1.0.gir + %files devel %{_libdir}/libappstream.so %{_libdir}/pkgconfig/appstream.pc @@ -183,12 +245,15 @@ rm -r %{buildroot}%{_datadir}/installed-tests %dir %{_datadir}/vala/vapi/ %{_datadir}/vala/vapi/appstream.deps %{_datadir}/vala/vapi/appstream.vapi +%{_datadir}/doc/appstream +%{_mandir}/man1/appstreamcli-compose*.1.gz %endif %files -n typelib-1_0-AppStream-1.0 %{_libdir}/girepository-1.0/AppStream-1.0.typelib -%files doc -%{_datadir}/doc/appstream +%files -n typelib-1_0-AppStream-compose-1.0 +%{_libdir}/girepository-1.0/AppStreamCompose-1.0.typelib + %changelog diff --git a/support-meson0.59.patch b/support-meson0.59.patch index ee91496..8045c71 100644 --- a/support-meson0.59.patch +++ b/support-meson0.59.patch @@ -1,7 +1,37 @@ -Index: AppStream-0.15.6/meson.build -=================================================================== ---- AppStream-0.15.6.orig/meson.build -+++ AppStream-0.15.6/meson.build +diff --git a/data/meson.build b/data/meson.build +index aea0cb25..55da0981 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -17,6 +17,17 @@ metainfo_with_relinfo = custom_target('gen-output', + command : [ascli_exe, 'news-to-metainfo', '--limit=6', '@INPUT0@', '@INPUT1@', '@OUTPUT@'] + ) + ++if meson.version().version_compare('<0.62') ++metainfo_i18n = i18n.merge_file ( ++ input: metainfo_with_relinfo, ++ output: 'org.freedesktop.appstream.cli.metainfo.xml', ++ type: 'xml', ++ data_dirs: [meson.current_source_dir()], ++ po_dir: join_paths (source_root, 'po'), ++ install: true, ++ install_dir: metainfo_dir ++) ++else + metainfo_i18n = i18n.itstool_join( + input: metainfo_with_relinfo, + output: 'org.freedesktop.appstream.cli.metainfo.xml', +@@ -25,6 +36,7 @@ metainfo_i18n = i18n.itstool_join( + install: true, + install_dir: metainfo_dir, + ) ++endif + + test('as-validate_metainfo.cli', + ascli_exe, +diff --git a/meson.build b/meson.build +index b67d1a65..10e3d815 100644 +--- a/meson.build ++++ b/meson.build @@ -1,5 +1,5 @@ project('AppStream', 'c', - meson_version: '>=0.62', @@ -9,30 +39,33 @@ Index: AppStream-0.15.6/meson.build default_options: ['c_std=c11', 'cpp_std=gnu++14'], license: 'LGPL-2.1+', -@@ -112,6 +112,7 @@ add_project_arguments( +@@ -114,7 +114,7 @@ add_project_arguments( '-Werror=missing-include-dirs', '-Werror=declaration-after-statement', '-Werror=format-security', +- + '-Werror=format', - '-Wno-missing-field-initializers', '-Wno-error=missing-field-initializers', -@@ -130,6 +131,7 @@ add_project_arguments( + '-Wno-unused-parameter', +@@ -132,9 +132,7 @@ add_project_arguments( '-Werror=return-type', '-Werror=misleading-indentation', '-Werror=format-security', +- +- # NOTE: Can be removed with AppStream 1.0 +- '-Wno-error=c++20-compat', + '-Werror=format', language: 'cpp' ) - add_project_arguments('-DAS_COMPILATION', language: 'c') -Index: AppStream-0.15.6/po/meson.build -=================================================================== ---- AppStream-0.15.6.orig/po/meson.build -+++ AppStream-0.15.6/po/meson.build -@@ -1,5 +1,20 @@ + +diff --git a/po/meson.build b/po/meson.build +index e9ede195..f7c1d842 100644 +--- a/po/meson.build ++++ b/po/meson.build +@@ -1,5 +1,19 @@ as_gettext_domain = 'appstream' -+ +if meson.version().version_compare('<0.62') +i18n.gettext(as_gettext_domain, + preset : 'glib', @@ -50,7 +83,7 @@ Index: AppStream-0.15.6/po/meson.build i18n_result = i18n.gettext(as_gettext_domain, preset : 'glib', data_dirs: [join_paths(source_root, 'data')], -@@ -12,6 +27,7 @@ i18n_result = i18n.gettext(as_gettext_do +@@ -12,6 +26,7 @@ i18n_result = i18n.gettext(as_gettext_domain, '--msgid-bugs-address=appstream@lists.freedesktop.org' ] ) @@ -58,34 +91,3 @@ Index: AppStream-0.15.6/po/meson.build run_target ('make-linguas', command: ['sh', -Index: AppStream-0.15.6/data/meson.build -=================================================================== ---- AppStream-0.15.6.orig/data/meson.build -+++ AppStream-0.15.6/data/meson.build -@@ -17,6 +17,18 @@ metainfo_with_relinfo = custom_target('g - command : [ascli_exe, 'news-to-metainfo', '--limit=6', '@INPUT0@', '@INPUT1@', '@OUTPUT@'] - ) - -+ # generates XML with mangled description markup tags, but better than nothing... -+if meson.version().version_compare('<0.62') -+metainfo_i18n = i18n.merge_file ( -+ input: metainfo_with_relinfo, -+ output: 'org.freedesktop.appstream.cli.metainfo.xml', -+ type: 'xml', -+ data_dirs: [meson.current_source_dir()], -+ po_dir: join_paths (source_root, 'po'), -+ install: true, -+ install_dir: metainfo_dir -+) -+else - metainfo_i18n = i18n.itstool_join( - input: metainfo_with_relinfo, - output: 'org.freedesktop.appstream.cli.metainfo.xml', -@@ -25,6 +37,7 @@ metainfo_i18n = i18n.itstool_join( - install: true, - install_dir: metainfo_dir, - ) -+endif - - test('as-validate_metainfo.cli', - ascli_exe,