Sync from SUSE:SLFO:Main AppStream revision 80ab02cc27bf3172884b770a0042a9c8

This commit is contained in:
Adrian Schröter 2024-09-30 16:45:06 +02:00
parent d4eccb8549
commit a956fe274f
9 changed files with 449 additions and 107 deletions

BIN
AppStream-0.16.4.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE0zo/DKFrCsxRpgc4SUyKX79N7OsFAmVOkngACgkQSUyKX79N
7OuRxA//fS7F5jcyleq33ki3y9G3TJhHpNHRE09Jm8xOgFzibJTLg9XUOF05/jjb
ZYFMPRprcuQ+svUpvDe710+5l2QuJG7u+88AdpO2qE1ZT7FUMV7vGhmRiv9uhZLB
6IkyZzycZV1Lxyx9o9697Xllw0Uu7Ei23JOUz36l16YkPLKkEJOC9TJtjLk2qf63
EAIiEZ3maX14k6dyQdXdq2e15uqclgu0Mr3RVAKzOSwkZEFTZDNC7/BTT1sX3+aJ
opMflbWsHPKl7hZmv+xvIVTcK4KMGENJpKVzosg/AYawD/i9v/Z+pS7Nie9+jLBP
6RcSJIYHTioPWkElzWgky10dpIKdl/1Cg1rirsJX/JrRvbyMg012TtlZBNtpyyJo
IL+dQoJrR0GyiuikgJ/3lf47aZKNoIDKu1SJ8Mjjb4QVM8CVuQ0LvREQ2AlTk2mQ
5TvYW2PjsUhOzDC1INZ27sCB/+oYgSi4HdhWt8xQdpBznn2FsPgFK0KDJVofgO5r
1H+IydG/7gVK1ujKkxcX/vVIxcR8tohk1sUr4PzxFy2eURAP+Ji99MmjmVoOKsuU
XXA2CPYSiodwAEGqk9MfK4IK6CCPR605n7XfKRw5oWOFgyYx1pIq2S8h1rHs0E9E
+j6lRg00o0Ss4RmlorWthBytB5RoKQIeKHlvhLXVZ71N13O2wbo=
=Fd8i
-----END PGP SIGNATURE-----

BIN
AppStream-1.0.3.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE0zo/DKFrCsxRpgc4SUyKX79N7OsFAmYpSY4ACgkQSUyKX79N
7OtQZxAAkZtNe7ZAimDBtj109lE1Xw2GV5Yl/zEK38AgZer63ogA4dcC3e/EzZkB
ujAE2mxKv1v9Yf2BfL8m3KFZznpZLpN9YyV5KebXQK4fD762GnH7t/U8i9tNzHsB
u9FlKTi2qILXE3/JPYOQmK88rb4t0eKHjFzrtGfCFzJXG/w49Q0GLNoMHRV9c573
wrFZLB0HMykc1WTa+yZ//tRtLCUbgAk5FPKLCzBTkjgm6ypuVU07tN8FEamLxH9z
dMdheAO5zUBCjtPK0hm5w9z4Hwg22oiw4/U63TO7lzCIDaYpHpD1B/7Wn5gUZMs+
s+w88uhy7oyVl55kZKZqZxXgu0Q6M0MRyDuvINeFeE/AJNQ8Op0Tzq5YalREvUrS
EnCf31QQ0Q2eXQNeVDg+LGlWjIgy239YsvjJymwCB7nr/Ghh518GvFOuTXiHxglK
YQ8X58dFEHIg/dPqs7v0f+Gs3V80qHQxrLMT9bGiuwd4kTHMq2lTs4yKUzKviB3Z
k8WHr0m+hs7bKcryp6yg9vZ27nWUN/8mFTZOcoWsqQG1p0A2b+9i8okaVGlf64y9
QXs0l+rOyj0SlsXrLpyinLEbTzUgU1cZvW5lTMW5s2PWkw4IOFiHTMG2VHotYxeB
i8fg3Gdn0YNcGtYMZN20yXRnz5AiDIkfBeO6/+RHsDm9+yOHZoI=
=YPHB
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,267 @@
-------------------------------------------------------------------
Mon Aug 19 11:26:49 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- BuildRequire gettext-devel instead of gettext: allow OBS to
shortcut through gettext-runtime-mini.
-------------------------------------------------------------------
Tue May 14 13:27:04 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 1.0.3:
+ Features:
* validator: Check that description lists don't get translated
* validator: Improve translation checks for descriptions
* cli: compose: Allow to propagate selected custom entries to
catalog output
* validator: Check for common typo of "scheme_preference"
branding property
* xml: Generate a developer_name compat tag for older 3rd-party
parsers
* validator: Flag duplicate branding colors as invalid
* Add Plasma Mobile as recognized desktop-style
+ Specification:
* docs: Clarify a developer element is not allowed to exist
multiple times
* docs: Explicitly clarify a developer/name element must not be
repeated
* docs: Clarify metainfo translation rules a bit
+ Bugfixes:
* qt: Fix relocation of Config.cmake files
* cli: check-syscompat: Recognize available required controls
as available
* validator: Guard issue emission functions with G_GNUC_PRINTF
* validator: Always use secure string formatting for issue emit
function
* utils: Explicitly set format style when installing catalog
metadata
* Suppress static-analyzer drawing wrong conclusions on GCC 14
+ Miscellaneous:
* docs: List AppStreamCompose as related to AppStream
* docs: Add manpages back
* validator: Mark developer-id-missing as info-priority again
-------------------------------------------------------------------
Tue Mar 12 16:47:37 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- Add conflict in appstream-qt6-devel with
libAppStreamQt-devel < 1.0. This is required to fix a file
conflict in SLE with the old libAppStreamQt-devel package.
-------------------------------------------------------------------
Fri Mar 1 09:46:46 UTC 2024 - Christophe Marin <christophe@krop.fr>
- Update to 1.0.2
Features:
* qt: Allow building for multiple Qt major versions at once
* Improve low-quality category check and extend its blacklist
* validator: Add some limited developer-ID validation
* validator: Emit an overridable warning if homepage URL was omitted
* compose: Allow rendering vector graphics to HiDPI bitmaps unconditionally
* compose: Allow setting a custom icon-policy on the command-line
Specification:
* docs: Mention that <summary/> tag can be translated
* docs: Generate validation issue tag documentation from code
* docs: Add information on how to exclude elements from translation
* spec: Recommend using rDNS strings or Fediverse handles as developer-ID
* spec: Make launchable requirement for desktop-apps more strict
Bugfixes:
* qt: Component::customValue should be const
* validator: Remove mention of shorthands from relation-display-length-value-invalid
* sysinfo: Swap arguments of g_pattern_match_simple
* qt: Add missing screenshot sorting function
* qt: pool: Add missing Q_EMIT keyword
* validator: Improve error message if no valid categories were found
* validator: Make some length limitations more strict
* validator: Only emit developer-name-tag-deprecated once
* validator: Ensure filename is properly included in location info again
* validator: Improve error reporting on images with missing/bad locales
* compose: Don't accidentally set icon scale to 0 in some cases
* compose: Add heuristics to show out-of-scope errors if filters were set
* Don't prematurely abort URL validity check during semi-large redirects
* docs: Update supported hashsums to reflect reality
* docs: Describe version comparison letters special case
* docs: Clarify release descriptions *must not* contain embedded URL
* docs: Explicitly mention /var/cache/swcatalog is a valid
catalog data location
* tests: Fix tests with old & new FontConfig
* its: Allow untranslatable developer/name and agreement sections
Miscellaneous:
* compose: Clarify that "no valid category" can mean bad ones
were ignored
* news-convert: Don't strip out the last text in brackets
- Drop patch, merged upstream:
* # 0001-Don-t-prematurely-abort-URL-validity-check-during-se.patch
-------------------------------------------------------------------
Sun Feb 18 12:44:31 UTC 2024 - Christophe Marin <christophe@krop.fr>
- Add upstream change to fix potential URL validity check errors:
* 0001-Don-t-prematurely-abort-URL-validity-check-during-se.patch
-------------------------------------------------------------------
Thu Feb 1 09:04:42 UTC 2024 - Christophe Marin <christophe@krop.fr>
- Update to 1.0.1
Bugfixes:
* Fix lib name for Qt5 link target
* meson: Pass -D_DARWIN_C_SOURCE on darwin
* Fix macOS build
* stemmer: Resolve potential issue where stemmer may never be
initialized
* cli: Don't fail what-provides if components were found
* Fix query element order for what-provides queries
* validator: Demote developer-name-tag-deprecated to info
severity for now
* content-rating: Fix missing or wrong value descriptions for
rating IDs
* curl: Add transfer speed timeouts for HTTP downloads
* curl: Retry operations on potentially transient errors
Miscellaneous:
* validator: Improve hint for content-attribute-value-invalid
* Allow building without zstd temporarily
- Drop patches, merged upstream:
* 0001-validator-Demote-developer-name-tag-deprecated-to-in.patch
* 0001-content-rating-Fix-missing-or-wrong-value-descriptio.patch
* 0001-Fix-lib-name-for-Qt5-link-target.patch
-------------------------------------------------------------------
Wed Jan 31 14:34:55 UTC 2024 - Christophe Marin <christophe@krop.fr>
- Switch to the latest GCC version available in Leap for packages
that can't build with the default compiler
-------------------------------------------------------------------
Fri Dec 15 11:12:14 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Use GCC 12 for building on Leap
-------------------------------------------------------------------
Wed Dec 13 09:30:30 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Add upstream change to fix a couple test issues (related to boo#1217047)
* 0001-validator-Demote-developer-name-tag-deprecated-to-in.patch
- Add more changes:
* 0001-content-rating-Fix-missing-or-wrong-value-descriptio.patch
* 0001-Fix-lib-name-for-Qt5-link-target.patch
- Add a Qt6 multibuild flavor
-------------------------------------------------------------------
Mon Dec 11 09:13:59 UTC 2023 - Frederic Crozat <fcrozat@suse.com>
- Bump BuildRequires on pkgconfig(xmlb) to 0.3.14.
-------------------------------------------------------------------
Tue Dec 5 15:53:26 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
- Make AppStream-compose-devel require the same version
of libappstream-compose0.
-------------------------------------------------------------------
Wed Nov 22 09:02:34 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Update to 1.0.0. Note that this release has some breaking API
changes.
Features:
* Autoformat C and C++ sources
* Remove all deprecated symbols
* Drop support for many deprecated AppStream XML features
* Use GPtrArray to expose keywords list
* Add length argument to raw metadata parsing functions
* Add component array container class
* Remove named values for display_length relations
* Make AsPool only accept/return component boxes
* Port all API away from per-entity locale overrides
* Reduce appstream.conf to its essentials, make it work on stateless systems
* Hide search engine details from public API
* Wrap release entries in AsReleaseList container class
* Make AsMetadata handle AsReleaseList objects
* Refactor is_satisfied result into new RelationCheckResult class
* Add a method to check all relations of a component and get the result
* Add algorithm to score compatibility with a system, add chassis templates
* ascli: Add new check-syscompat command to check chassis compatibility
* Implement environment property for component screenshots
* Autogenerate translatable DE and gui-environment-style C arrays
* Expose more advanced markup conversion function, update function names
* Allow BLAKE3 and SHA512 checksums for release artifacts
* Stop supporting mailto: URLs in <url/> tags
* validator: Improve API and simplify it
* validator: Parse XML in pedantic mode when validating
* validator: Check screenshot environment property
* validator: Only apply summary-has-dot-suffix check to untranslated strings
* compose: Allow creating metadata with complete URLs and no base URL
* spdx: Add API to retrieve a translated license name from an SPDX ID
* qt: Switch to building with Qt6
* qt: Make it possible to iterate ComponentBox
* qt: Implement AppStream::ComponentBox::erase
* qt: Allow concatenating two ComponentBoxes
* qt: Allow loading Pool asynchronously
* qt: Use ComponentBox/Releases in Qt bindings as well
* qt: Add support for the new API to check relation satisfaction
* qt: Maintenance and namespace fixes, use cPtr() to get C pointers everywhere
* bundle: Add linglong as a new type of bundle
* Add GUI environment IDs for macOS and Microsoft Windows
* validator: Check if Release Description is inside description tag
* validator: Add validation for content_rating
* Add support for building on Win32
* win32: change some file/path-related code for portability
* Implement the developer element for unique developer IDs
* Implement scaling factor for screenshots
* component-box: Allow removal of components by-index
* Implement support for external references and citations
* Implement usertags for release data as well
* Move ValueFlags to the context, instead of tieing them to components
* pool: search: Add additional weight for exact substring matches on names
* sysinfo: Add memory size detection support for macOS
* Add support for Zstd for on-disk data compression
* utils: Make tar unpacker independent of zstd binary presence
* Drop Python2 provided tag support
* data: Add Endless to the list of desktops
* Add NetBSD support
Specification:
* Drop (most) deprecated information
* docs: Clarify environment-based screenshot ordering
* Add new 'snapshot' release kind
* docs: Build all API documentation with gi-docgen
* spec: Document the new "developer" element
* spec: Document the "reference" tag for registry references
* docs: Add example of YAML for references elements
* Allow hyphens in the last segment of a component-ID
* docs: Drop outdated information from l10n quickstart guide
Bugfixes:
* meson: check for docbook xsl stylesheets
* Fix tweaking of appstream.pc when building as subproject
* Fix crash in asc_l10n_search_translations_qt()
* qt: Make Qt6 dependency a system dependency.
* meson: do not rely on an exe wrapper
* meson: do not -I/usr/include when !stemmer
* meson: Prevent building attempts with MSVC
* meson: Use an SPDX license indentifier in project(license:)
* Add meson overrides
* compose: Set lower-cased CID for synthesized components again
* compose: Set lower-cased CID in desktop-entry parse function
* compose: Honor prefix in font search
* compose: Select the correct default icon glyphs for fonts
* Don't crash when non-YAML documents are read as YAML
* Do not override default-priority when parsing multiple metadata files
* Ensure stemmer always has the right locale and token-search works
* Require a more recent libxmlb to avoid crashes
* Rename component get_releases to indicate that releases may not be loaded from the web
* Prevent string-id validation functions from matching source comments
* Don't define _POSIX_C_SOURCE when building for NetBSD
Miscellaneous:
* Explain metainfo-ancient error in more detail
* Make sed invocation more portable
* Add FreeBSD CI
* Allow variable shadowing in C++ code
* Drop the catchall as-enums unit
* vapi: Drop unneeded metadata
* Make AsMetadata return a component box for multiple components
* apt: Make item descriptions more human-friendly
* Streamline README
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Nov 15 12:08:06 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com> Wed Nov 15 12:08:06 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>

Binary file not shown.

View File

@ -1,7 +1,7 @@
# #
# spec file for package AppStream # spec file for package AppStream
# #
# Copyright (c) 2023 SUSE LLC # Copyright (c) 2024 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -16,34 +16,56 @@
# #
%define libappstream_sover 4 %global flavor @BUILD_FLAVOR@%{nil}
%define libAppStreamQt_sover 2 %if "%flavor" == "qt6"
%define libappstream_compose_sover 0 %define pkg_suffix -qt6
%if 0%{?sle_version} >= 150300 && 0%{?is_opensuse} || 0%{?sle_version} >= 150600 || 0%{?suse_version} > 1500 %define qt6 1
%define min_qt_version 6.2.4
%else
%define min_qt_version 5.15
%if 0%{?sle_version} >= 150400 && 0%{?is_opensuse} || 0%{?sle_version} >= 150600 || 0%{?suse_version} > 1500
%bcond_without vala %bcond_without vala
%endif %endif
Name: AppStream %endif
Version: 0.16.4 # The default Leap compiler is too old for building AppStream-qt6. use the same compiler for both flavors
%if 0%{?suse_version} == 1500
%bcond_without gcc13
%endif
%define rname AppStream
%define libappstream_sover 5
%define libAppStreamQt_sover 3
%define libappstream_compose_sover 0
Name: AppStream%{?pkg_suffix}
Version: 1.0.3
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
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 Source0: http://www.freedesktop.org/software/appstream/releases/%{rname}-%{version}.tar.xz
Source1: http://www.freedesktop.org/software/appstream/releases/%{name}-%{version}.tar.xz.asc Source1: http://www.freedesktop.org/software/appstream/releases/%{rname}-%{version}.tar.xz.asc
Source2: %{name}.keyring Source2: AppStream.keyring
# PATCH-FIX-OPENSUSE
Patch0: support-meson0.59.patch Patch0: support-meson0.59.patch
BuildRequires: cairo-devel BuildRequires: cairo-devel
BuildRequires: docbook-xsl-stylesheets BuildRequires: docbook-xsl-stylesheets
%if %{with gcc13}
BuildRequires: gcc13
BuildRequires: gcc13-c++
%endif
BuildRequires: gdk-pixbuf-loader-rsvg BuildRequires: gdk-pixbuf-loader-rsvg
BuildRequires: gettext BuildRequires: gettext-devel
BuildRequires: gperf BuildRequires: gperf
BuildRequires: itstool BuildRequires: itstool
BuildRequires: meson >= 0.59 BuildRequires: meson >= 0.59
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: xsltproc BuildRequires: xsltproc
BuildRequires: pkgconfig(Qt5Core) %if 0%{?qt6}
BuildRequires: pkgconfig(Qt5Test) BuildRequires: pkgconfig(Qt6Core) >= %{min_qt_version}
BuildRequires: pkgconfig(Qt6Test) >= %{min_qt_version}
%else
BuildRequires: pkgconfig(Qt5Core) >= %{min_qt_version}
BuildRequires: pkgconfig(Qt5Test) >= %{min_qt_version}
%endif
BuildRequires: pkgconfig(gdk-pixbuf-2.0) 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
@ -53,7 +75,7 @@ BuildRequires: pkgconfig(librsvg-2.0)
BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(xmlb) >= 0.3.13 BuildRequires: pkgconfig(xmlb) >= 0.3.14
BuildRequires: pkgconfig(yaml-0.1) BuildRequires: pkgconfig(yaml-0.1)
Recommends: curl Recommends: curl
%if %{with vala} %if %{with vala}
@ -64,30 +86,51 @@ BuildRequires: vala
AppStream-Core makes it easy to access application information from the AppStream-Core makes it easy to access application information from the
AppStream database over a nice GObject-based interface. AppStream database over a nice GObject-based interface.
%if 0%{?qt6}
%package -n libAppStreamQt%{libAppStreamQt_sover}
Summary: Qt 6 bindings for AppStream
License: GPL-2.0-or-later AND LGPL-2.1-or-later
%description -n libAppStreamQt%{libAppStreamQt_sover}
The Qt 6 bindings for AppStream.
%package -n appstream-qt6-devel
Summary: Header files for AppStream's Qt 6 bindings
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Requires: libAppStreamQt%{libAppStreamQt_sover} = %{version}
Requires: libappstream%{libappstream_sover} = %{version}
Conflicts: libAppStreamQt-devel < 1.0
%description -n appstream-qt6-devel
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.
%else
%package -n libappstream%{libappstream_sover} %package -n libappstream%{libappstream_sover}
Summary: The main library for AppStream Summary: The main library for AppStream
License: GPL-2.0-or-later AND LGPL-2.1-or-later License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Libraries
%description -n libappstream%{libappstream_sover} %description -n libappstream%{libappstream_sover}
The main library for AppStream. The main library for AppStream.
%package -n libAppStreamQt%{libAppStreamQt_sover} %package -n libAppStreamQt5-%{libAppStreamQt_sover}
Summary: Qt5 bindings for AppStream Summary: Qt 5 bindings for AppStream
License: GPL-2.0-or-later AND LGPL-2.1-or-later License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Libraries
%description -n libAppStreamQt%{libAppStreamQt_sover} %description -n libAppStreamQt5-%{libAppStreamQt_sover}
The Qt5 bindings for AppStream. The Qt 5 bindings for AppStream.
%package -n libAppStreamQt-devel %package -n appstream-qt5-devel
Summary: Header files for AppStream's Qt5 bindings Summary: Header files for AppStream's Qt 5 bindings
License: GPL-2.0-or-later AND LGPL-2.1-or-later License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: Development/Libraries/C and C++ Requires: libAppStreamQt5-%{libAppStreamQt_sover} = %{version}
Requires: libAppStreamQt%{libAppStreamQt_sover} = %{version}
Requires: libappstream%{libappstream_sover} = %{version} Requires: libappstream%{libappstream_sover} = %{version}
# Renamed after the 1.0.0 release
Provides: libAppStreamQt-devel = %{version}
Obsoletes: libAppStreamQt-devel < %{version}
%description -n libAppStreamQt-devel %description -n appstream-qt5-devel
This package contains all necessary include files, libraries, 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.
@ -95,8 +138,7 @@ compile and link applications using the Qt bindings for AppStream.
%package compose %package compose
Summary: Support for appstreamcli compose Summary: Support for appstreamcli compose
License: GPL-2.0-or-later AND LGPL-2.1-or-later License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Libraries Requires: AppStream = %{version}
Requires: %{name} = %{version}
Requires: gdk-pixbuf-loader-rsvg Requires: gdk-pixbuf-loader-rsvg
%description compose %description compose
@ -106,7 +148,6 @@ configuration files to add compose support to appstreamcli.
%package -n libappstream-compose%{libappstream_compose_sover} %package -n libappstream-compose%{libappstream_compose_sover}
Summary: Libraries for appstream compose support Summary: Libraries for appstream compose support
License: GPL-2.0-or-later AND LGPL-2.1-or-later License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Libraries
%description -n libappstream-compose%{libappstream_compose_sover} %description -n libappstream-compose%{libappstream_compose_sover}
The library for AppStream compose support. The library for AppStream compose support.
@ -114,10 +155,9 @@ The library for AppStream compose support.
%package compose-devel %package compose-devel
Summary: Header files for AppStream Compose support Summary: Header files for AppStream Compose support
License: GPL-2.0-or-later AND LGPL-2.1-or-later License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: Development/Libraries/C and C++ Requires: AppStream = %{version}
Requires: %{name} = %{version}
Requires: AppStream-compose = %{version} Requires: AppStream-compose = %{version}
Requires: libappstream-compose%{libappstream_compose_sover} Requires: libappstream-compose%{libappstream_compose_sover} = %{version}
%description compose-devel %description compose-devel
This package contains all necessary files, libraries, This package contains all necessary files, libraries,
@ -126,8 +166,7 @@ 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
Group: Development/Libraries/C and C++ Requires: AppStream = %{version}
Requires: %{name} = %{version}
Requires: libappstream%{libappstream_sover} = %{version} Requires: libappstream%{libappstream_sover} = %{version}
%description devel %description devel
@ -140,7 +179,6 @@ 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
Group: Documentation/HTML
BuildArch: noarch BuildArch: noarch
%description doc %description doc
@ -166,21 +204,31 @@ Group: System/Libraries
GObject introspection bindings for interfaces provided by AppStream. GObject introspection bindings for interfaces provided by AppStream.
%lang_package %lang_package
%endif
%prep %prep
%autosetup -p1 %autosetup -p1 -n %{rname}-%{version}
%build %build
%meson -Dqt=true \ %define common_options -Ddocs=false -Dapidocs=false -Dstemming=false
-Dcompose=true \
%if %{with vala} %if %{with vala}
-Dvapi=true \ %define build_vapi true
%else %else
-Dvapi=false \ %define build_vapi false
%endif %endif
-Ddocs=false \
-Dapidocs=false \ %if 0%{?qt6}
-Dstemming=false %define options -Dqt=true -Dqt-versions=6 -Dvapi=false -Dcompose=false -Dgir=false
%else
%define options -Dqt=true -Dqt-versions=5 -Dcompose=true -Dvapi=%{build_vapi}
%endif
%if %{with gcc13}
export CC=gcc-13 CXX=g++-13
%endif
%meson %{common_options} %{options}
%meson_build %meson_build
%install %install
@ -189,21 +237,47 @@ GObject introspection bindings for interfaces provided by AppStream.
# Unneeded test file # Unneeded test file
rm -r %{buildroot}%{_datadir}/installed-tests rm -r %{buildroot}%{_datadir}/installed-tests
# Only keep the Qt6 library when using the qt6 flavor
%if 0%{?qt6}
rm %{buildroot}%{_bindir}/appstreamcli
rm %{buildroot}%{_libdir}/libappstream.so*
rm -r %{buildroot}%{_datadir}/{appstream,doc,gettext,locale,man,metainfo}
rm -r %{buildroot}%{_includedir}/appstream
rm -r %{buildroot}%{_libdir}/pkgconfig
%else
%find_lang appstream %{name}.lang
%endif
%check %check
%meson_test %meson_test
%find_lang appstream %{name}.lang %if 0%{?qt6}
%ldconfig_scriptlets -n libappstream%{libappstream_sover}
%ldconfig_scriptlets -n libAppStreamQt%{libAppStreamQt_sover} %ldconfig_scriptlets -n libAppStreamQt%{libAppStreamQt_sover}
%else
%ldconfig_scriptlets -n libappstream%{libappstream_sover}
%ldconfig_scriptlets -n libAppStreamQt5-%{libAppStreamQt_sover}
%ldconfig_scriptlets -n libappstream-compose%{libappstream_compose_sover} %ldconfig_scriptlets -n libappstream-compose%{libappstream_compose_sover}
%endif
%if 0%{?qt6}
%files -n libAppStreamQt%{libAppStreamQt_sover}
%{_libdir}/libAppStreamQt.so.%{libAppStreamQt_sover}
%{_libdir}/libAppStreamQt.so.%{version}
%files -n appstream-qt6-devel
%{_includedir}/AppStreamQt/
%{_libdir}/cmake/AppStreamQt/
%{_libdir}/libAppStreamQt.so
%else
%files lang -f %{name}.lang %files lang -f %{name}.lang
%files %files
%doc NEWS %doc NEWS
%{_bindir}/appstreamcli %{_bindir}/appstreamcli
%config(noreplace) %{_sysconfdir}/appstream.conf %dir %{_datadir}/appstream
%{_datadir}/appstream/appstream.conf
%dir %{_datadir}/metainfo %dir %{_datadir}/metainfo
%{_datadir}/metainfo/org.freedesktop.appstream.cli.metainfo.xml %{_datadir}/metainfo/org.freedesktop.appstream.cli.metainfo.xml
%{_mandir}/man1/appstreamcli.* %{_mandir}/man1/appstreamcli.*
@ -213,14 +287,14 @@ rm -r %{buildroot}%{_datadir}/installed-tests
%{_libdir}/libappstream.so.%{libappstream_sover} %{_libdir}/libappstream.so.%{libappstream_sover}
%{_libdir}/libappstream.so.%{version} %{_libdir}/libappstream.so.%{version}
%files -n libAppStreamQt%{libAppStreamQt_sover} %files -n libAppStreamQt5-%{libAppStreamQt_sover}
%{_libdir}/libAppStreamQt.so.%{libAppStreamQt_sover} %{_libdir}/libAppStreamQt5.so.%{libAppStreamQt_sover}
%{_libdir}/libAppStreamQt.so.%{version} %{_libdir}/libAppStreamQt5.so.%{version}
%files -n libAppStreamQt-devel %files -n appstream-qt5-devel
%{_includedir}/AppStreamQt/ %{_includedir}/AppStreamQt5/
%{_libdir}/cmake/AppStreamQt/ %{_libdir}/cmake/AppStreamQt5/
%{_libdir}/libAppStreamQt.so %{_libdir}/libAppStreamQt5.so
%files compose %files compose
%{_datadir}/metainfo/org.freedesktop.appstream.compose.metainfo.xml %{_datadir}/metainfo/org.freedesktop.appstream.compose.metainfo.xml
@ -258,5 +332,6 @@ rm -r %{buildroot}%{_datadir}/installed-tests
%files -n typelib-1_0-AppStream-compose-1.0 %files -n typelib-1_0-AppStream-compose-1.0
%{_libdir}/girepository-1.0/AppStreamCompose-1.0.typelib %{_libdir}/girepository-1.0/AppStreamCompose-1.0.typelib
%endif
%changelog %changelog

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<flavor>qt6</flavor>
</multibuild>

View File

@ -1,8 +1,17 @@
Index: AppStream-0.16.4/data/meson.build Add patch to support meson 0.59 which is the only version available in SLE 15 SP5
=================================================================== Author: Antonio Larrosa
--- AppStream-0.16.4.orig/data/meson.build
+++ AppStream-0.16.4/data/meson.build ---
@@ -17,6 +17,17 @@ metainfo_with_relinfo = custom_target('g data/meson.build | 12 ++++++++++++
meson.build | 4 ++--
po/meson.build | 15 +++++++++++++++
3 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/data/meson.build b/data/meson.build
index 7ae7a9b3..b9208821 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -24,6 +24,17 @@ metainfo_with_relinfo = custom_target('gen-output',
command : [ascli_exe, 'news-to-metainfo', '--limit=6', '@INPUT0@', '@INPUT1@', '@OUTPUT@'] command : [ascli_exe, 'news-to-metainfo', '--limit=6', '@INPUT0@', '@INPUT1@', '@OUTPUT@']
) )
@ -20,7 +29,7 @@ Index: AppStream-0.16.4/data/meson.build
metainfo_i18n = i18n.itstool_join( metainfo_i18n = i18n.itstool_join(
input: metainfo_with_relinfo, input: metainfo_with_relinfo,
output: 'org.freedesktop.appstream.cli.metainfo.xml', output: 'org.freedesktop.appstream.cli.metainfo.xml',
@@ -25,6 +36,7 @@ metainfo_i18n = i18n.itstool_join( @@ -32,6 +43,7 @@ metainfo_i18n = i18n.itstool_join(
install: true, install: true,
install_dir: metainfo_dir, install_dir: metainfo_dir,
) )
@ -28,18 +37,18 @@ Index: AppStream-0.16.4/data/meson.build
test('as-validate_metainfo.cli', test('as-validate_metainfo.cli',
ascli_exe, ascli_exe,
Index: AppStream-0.16.4/meson.build diff --git a/meson.build b/meson.build
=================================================================== index 4636789f..6742fc7c 100644
--- AppStream-0.16.4.orig/meson.build --- a/meson.build
+++ AppStream-0.16.4/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',
+ meson_version: '>=0.59', + meson_version: '>=0.59',
default_options: ['c_std=c11', 'cpp_std=gnu++14'], default_options: ['c_std=c11', 'cpp_std=gnu++17'],
license: 'LGPL-2.1+', license: 'LGPL-2.1-or-later',
@@ -113,7 +113,7 @@ add_project_arguments( @@ -107,7 +107,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',
@ -48,21 +57,10 @@ Index: AppStream-0.16.4/meson.build
'-Wno-missing-field-initializers', '-Wno-missing-field-initializers',
'-Wno-error=missing-field-initializers', '-Wno-error=missing-field-initializers',
'-Wno-unused-parameter', '-Wno-unused-parameter',
@@ -131,9 +131,7 @@ add_project_arguments( diff --git a/po/meson.build b/po/meson.build
'-Werror=return-type', index e9ede195..f7c1d842 100644
'-Werror=misleading-indentation', --- a/po/meson.build
'-Werror=format-security', +++ b/po/meson.build
-
- # NOTE: Can be removed with AppStream 1.0
- '-Wno-error=c++20-compat',
+ '-Werror=format',
language: 'cpp'
)
Index: AppStream-0.16.4/po/meson.build
===================================================================
--- AppStream-0.16.4.orig/po/meson.build
+++ AppStream-0.16.4/po/meson.build
@@ -1,5 +1,19 @@ @@ -1,5 +1,19 @@
as_gettext_domain = 'appstream' as_gettext_domain = 'appstream'
@ -83,7 +81,7 @@ Index: AppStream-0.16.4/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 +26,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'
] ]
) )
@ -91,3 +89,5 @@ Index: AppStream-0.16.4/po/meson.build
run_target ('make-linguas', run_target ('make-linguas',
command: ['sh', command: ['sh',
--
2.42.1