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
This commit is contained in:
Fabian Vogt 2023-02-08 09:51:38 +00:00 committed by Git OBS Bridge
parent ee77ad38ff
commit d1ed029468
7 changed files with 166 additions and 68 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:23d6c940368b5a6cedf622df3707c0dd8679cf4b0739f7aba13f925c58cdf10e
size 2517688

View File

@ -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-----

3
AppStream-0.16.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6430cce80ddfcda5a35270edf80f71e78f437ca5104183f765af9f3ed048e170
size 2554064

View File

@ -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-----

View File

@ -1,3 +1,34 @@
-------------------------------------------------------------------
Sat Feb 4 03:14:38 UTC 2023 - Luna D Dragon <luna.dragon@suse.com>
- 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 <bjorn.lie@gmail.com> Fri Jan 13 22:51:34 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>

View File

@ -18,11 +18,12 @@
%define libappstream_sover 4 %define libappstream_sover 4
%define libAppStreamQt_sover 2 %define libAppStreamQt_sover 2
%define libappstream_compose_sover 0
%if 0%{?sle_version} >= 150300 && 0%{?is_opensuse} || 0%{?suse_version} > 1500 %if 0%{?sle_version} >= 150300 && 0%{?is_opensuse} || 0%{?suse_version} > 1500
%bcond_without vala %bcond_without vala
%endif %endif
Name: AppStream Name: AppStream
Version: 0.15.6 Version: 0.16.0
Release: 0 Release: 0
Summary: Tools and libraries to work with AppStream metadata Summary: Tools and libraries to work with AppStream metadata
License: LGPL-2.1-or-later 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 Source1: http://www.freedesktop.org/software/appstream/releases/%{name}-%{version}.tar.xz.asc
Source2: %{name}.keyring Source2: %{name}.keyring
Patch0: support-meson0.59.patch Patch0: support-meson0.59.patch
BuildRequires: cairo-devel
BuildRequires: docbook-xsl-stylesheets BuildRequires: docbook-xsl-stylesheets
BuildRequires: gdk-pixbuf-loader-rsvg
BuildRequires: gettext BuildRequires: gettext
BuildRequires: gperf BuildRequires: gperf
BuildRequires: itstool BuildRequires: itstool
@ -41,11 +44,15 @@ BuildRequires: pkgconfig
BuildRequires: xsltproc BuildRequires: xsltproc
BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Test) BuildRequires: pkgconfig(Qt5Test)
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.62 BuildRequires: pkgconfig(glib-2.0) >= 2.62
BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(librsvg-2.0)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(xmlb) >= 0.3.6 BuildRequires: pkgconfig(xmlb) >= 0.3.6
BuildRequires: pkgconfig(yaml-0.1) BuildRequires: pkgconfig(yaml-0.1)
Recommends: curl Recommends: curl
@ -85,6 +92,36 @@ This package contains all necessary include files, libraries,
configuration files and development tools (with manual pages) needed to configuration files and development tools (with manual pages) needed to
compile and link applications using the Qt bindings for AppStream. 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 %package devel
Summary: Header files for AppStream development Summary: Header files for AppStream development
License: GPL-2.0-or-later 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 configuration files and development tools (with manual pages) needed to
compile and link applications using AppStream. compile and link applications using AppStream.
This package contains the documentation for AppStream.
%package doc %package doc
Summary: Documentation for AppStream Summary: Documentation for AppStream
License: GPL-2.0-or-later 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. 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 %package -n typelib-1_0-AppStream-1.0
Summary: Introspection bindings for AppStream Summary: Introspection bindings for AppStream
License: LGPL-2.1-or-later License: LGPL-2.1-or-later
@ -124,6 +171,7 @@ GObject introspection bindings for interfaces provided by AppStream.
%build %build
%meson -Dqt=true \ %meson -Dqt=true \
-Dcompose=true \
%if %{with vala} %if %{with vala}
-Dvapi=true \ -Dvapi=true \
%else %else
@ -172,6 +220,20 @@ rm -r %{buildroot}%{_datadir}/installed-tests
%{_libdir}/cmake/AppStreamQt/ %{_libdir}/cmake/AppStreamQt/
%{_libdir}/libAppStreamQt.so %{_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 %files devel
%{_libdir}/libappstream.so %{_libdir}/libappstream.so
%{_libdir}/pkgconfig/appstream.pc %{_libdir}/pkgconfig/appstream.pc
@ -183,12 +245,15 @@ rm -r %{buildroot}%{_datadir}/installed-tests
%dir %{_datadir}/vala/vapi/ %dir %{_datadir}/vala/vapi/
%{_datadir}/vala/vapi/appstream.deps %{_datadir}/vala/vapi/appstream.deps
%{_datadir}/vala/vapi/appstream.vapi %{_datadir}/vala/vapi/appstream.vapi
%{_datadir}/doc/appstream
%{_mandir}/man1/appstreamcli-compose*.1.gz
%endif %endif
%files -n typelib-1_0-AppStream-1.0 %files -n typelib-1_0-AppStream-1.0
%{_libdir}/girepository-1.0/AppStream-1.0.typelib %{_libdir}/girepository-1.0/AppStream-1.0.typelib
%files doc %files -n typelib-1_0-AppStream-compose-1.0
%{_datadir}/doc/appstream %{_libdir}/girepository-1.0/AppStreamCompose-1.0.typelib
%changelog %changelog

View File

@ -1,7 +1,37 @@
Index: AppStream-0.15.6/meson.build diff --git a/data/meson.build b/data/meson.build
=================================================================== index aea0cb25..55da0981 100644
--- AppStream-0.15.6.orig/meson.build --- a/data/meson.build
+++ AppStream-0.15.6/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 @@ @@ -1,5 +1,5 @@
project('AppStream', 'c', project('AppStream', 'c',
- meson_version: '>=0.62', - meson_version: '>=0.62',
@ -9,30 +39,33 @@ Index: AppStream-0.15.6/meson.build
default_options: ['c_std=c11', 'cpp_std=gnu++14'], default_options: ['c_std=c11', 'cpp_std=gnu++14'],
license: 'LGPL-2.1+', license: 'LGPL-2.1+',
@@ -112,6 +112,7 @@ add_project_arguments( @@ -114,7 +114,7 @@ add_project_arguments(
'-Werror=missing-include-dirs', '-Werror=missing-include-dirs',
'-Werror=declaration-after-statement', '-Werror=declaration-after-statement',
'-Werror=format-security', '-Werror=format-security',
-
+ '-Werror=format', + '-Werror=format',
'-Wno-missing-field-initializers', '-Wno-missing-field-initializers',
'-Wno-error=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=return-type',
'-Werror=misleading-indentation', '-Werror=misleading-indentation',
'-Werror=format-security', '-Werror=format-security',
-
- # NOTE: Can be removed with AppStream 1.0
- '-Wno-error=c++20-compat',
+ '-Werror=format', + '-Werror=format',
language: 'cpp' language: 'cpp'
) )
add_project_arguments('-DAS_COMPILATION', language: 'c')
Index: AppStream-0.15.6/po/meson.build diff --git a/po/meson.build b/po/meson.build
=================================================================== index e9ede195..f7c1d842 100644
--- AppStream-0.15.6.orig/po/meson.build --- a/po/meson.build
+++ AppStream-0.15.6/po/meson.build +++ b/po/meson.build
@@ -1,5 +1,20 @@ @@ -1,5 +1,19 @@
as_gettext_domain = 'appstream' as_gettext_domain = 'appstream'
+
+if meson.version().version_compare('<0.62') +if meson.version().version_compare('<0.62')
+i18n.gettext(as_gettext_domain, +i18n.gettext(as_gettext_domain,
+ preset : 'glib', + preset : 'glib',
@ -50,7 +83,7 @@ Index: AppStream-0.15.6/po/meson.build
i18n_result = i18n.gettext(as_gettext_domain, i18n_result = i18n.gettext(as_gettext_domain,
preset : 'glib', preset : 'glib',
data_dirs: [join_paths(source_root, 'data')], 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' '--msgid-bugs-address=appstream@lists.freedesktop.org'
] ]
) )
@ -58,34 +91,3 @@ Index: AppStream-0.15.6/po/meson.build
run_target ('make-linguas', run_target ('make-linguas',
command: ['sh', 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,