libzypp-plugin-appdata/libzypp-plugin-appdata.spec

107 lines
3.7 KiB
RPMSpec
Raw Normal View History

#
# spec file for package libzypp-plugin-appdata
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libzypp-plugin-appdata
Version: 1.0.1+git.20240209
Release: 0
Summary: libzypp extension to handle AppStream metadata
License: CC0-1.0 AND MIT
Group: System/Libraries
URL: https://wiki.gnome.org/Design/Apps/Software
Source0: openSUSE-appstream-%{version}.tar.xz
Source99: libzypp-plugin-appdata-rpmlintrc
# appstream-glib >= 0.3.6 is the first to correctly to appstream-util uninstall in /var/cache
Requires: (appstream-glib >= 0.3.6 with asglib(swcatalog))
# appdata hook was introduced in libzypp 14.29.4
Requires: libzypp >= 14.29.4
# AsHelper is a python program with few dependencies
Requires: python3-cmdln
Requires: python3-createrepo_c
Requires(post): (appstream-glib >= 0.3.6 with asglib(swcatalog))
# libzypp 16.13.1 was the version gaingin support for ZYPP_PLUGIN_APPDATA_FORCE_COLLECT
Requires(post): libzypp >= 16.13.1
Requires(post): python3-cmdln
Requires(post): python3-createrepo_c
Requires(post): zypper
# This is one way of providing valid appstream metadata to applications (currently the only implemented one)
Provides: appstream-provider
BuildArch: noarch
%description
This plugin extends libzypp to install AppStream metadata, as extracted from the
repository metadata, onto the file system in order to be picked up by
software centers.
%package -n openSUSE-appdata-extra
Summary: Additional Appstream Metadata
License: CC0-1.0
Group: Metapackages
%description -n openSUSE-appdata-extra
This package contains extra appstream metadata to be used by appstream-builder
%prep
%autosetup -n openSUSE-appstream-%{version}
%build
%install
# install the additional appstream metadata
install -m 0755 -d %{buildroot}%{_datadir}/appdata-extra
cp appdata-extra/*/* %{buildroot}%{_datadir}/appdata-extra/
# Install AppData zypp plugin
install -Dm 0755 InstallAppdata.py %{buildroot}%{_prefix}/lib/zypp/plugins/appdata/InstallAppdata
install -Dm 0755 AsHelper.py %{buildroot}%{_prefix}/lib/AsHelper
# Install zypper helper command
install -Dm 0755 zypper-appstream-cache %{buildroot}%{_prefix}/lib/zypper/commands/zypper-appstream-cache
# Install the systemd service, which triggers when /var/cache/app-info/xmls does not yet exist during a boot
install -dm 0755 %{buildroot}%{_unitdir}
install -m 0644 appstream-sync-cache.service %{buildroot}%{_unitdir}
%preun
%service_del_preun appstream-sync-cache.service
%pre
%service_add_pre appstream-sync-cache.service
%post
%service_add_post appstream-sync-cache.service
%postun
%service_del_postun appstream-sync-cache.service
%files
# zypp plugin triggering AppData update on repo refresh
%dir %{_prefix}/lib/zypp
%dir %{_prefix}/lib/zypp/plugins
%dir %{_prefix}/lib/zypp/plugins/appdata/
%{_prefix}/lib/zypp/plugins/appdata/InstallAppdata
%dir %{_prefix}/lib/zypper
%dir %{_prefix}/lib/zypper/commands
%{_prefix}/lib/zypper/commands/zypper-appstream-cache
%{_prefix}/lib/AsHelper
%{_unitdir}/appstream-sync-cache.service
%files -n openSUSE-appdata-extra
%{_datadir}/appdata-extra/
%changelog