332 lines
12 KiB
RPMSpec
332 lines
12 KiB
RPMSpec
%global appstream_version 0.16.4
|
|
%global flatpak_version 1.14.1
|
|
%global fwupd_version 1.6.2
|
|
%global glib2_version 2.76.0
|
|
%global gtk4_version 4.16.0
|
|
%global json_glib_version 1.6.0
|
|
%global libadwaita_version 1.6.0
|
|
%global libxmlb_version 0.3.4
|
|
%global packagekit_version 1.2.5
|
|
%global dnf5_version 5.2.16
|
|
|
|
# Disable WebApps for RHEL builds
|
|
%bcond webapps %[!0%{?rhel}]
|
|
# Disable parental control for RHEL builds
|
|
%bcond malcontent %[!0%{?rhel}]
|
|
# Disable rpm-ostree support for RHEL builds
|
|
%bcond rpmostree %[!0%{?rhel}]
|
|
# Disable DKMS/akmods support for RHEL builds
|
|
%bcond dkms %[!0%{?rhel}]
|
|
|
|
%bcond packagekit 0
|
|
%bcond dnf5 1
|
|
|
|
# this is not a library version
|
|
%define gs_plugin_version 23
|
|
|
|
%global tarball_version %%(echo %{version} | tr '~' '.')
|
|
|
|
%global __provides_exclude_from ^%{_libdir}/%{name}/plugins-%{gs_plugin_version}/.*\\.so.*$
|
|
|
|
Name: gnome-software
|
|
Version: 49.3
|
|
Release: 1%{?dist}
|
|
Summary: A software center for GNOME
|
|
|
|
License: GPL-2.0-or-later
|
|
URL: https://apps.gnome.org/Software
|
|
Source0: https://download.gnome.org/sources/gnome-software/49/%{name}-%{tarball_version}.tar.xz
|
|
|
|
%if %{with dnf5}
|
|
# to update the patch enter the ./dnf5-plugin/ directory and run from
|
|
# it the ./update-patch.sh script
|
|
Patch: 0001-dnf5-plugin.patch
|
|
%endif
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2416542
|
|
Patch: 0002-rhbug2416542-crash-under-gs_flatpak_refine_wildcard.patch
|
|
|
|
# ostree and flatpak not on i686 for Fedora and RHEL 10
|
|
# https://github.com/containers/composefs/pull/229#issuecomment-1838735764
|
|
%if 0%{?fedora} || 0%{?rhel} >= 10
|
|
ExcludeArch: %{ix86}
|
|
%endif
|
|
|
|
BuildRequires: docbook-style-xsl
|
|
BuildRequires: desktop-file-utils
|
|
BuildRequires: gcc
|
|
BuildRequires: gettext
|
|
BuildRequires: git-core
|
|
BuildRequires: gtk-doc
|
|
BuildRequires: itstool
|
|
BuildRequires: libxslt
|
|
BuildRequires: meson
|
|
BuildRequires: pkgconfig(appstream) >= %{appstream_version}
|
|
BuildRequires: pkgconfig(flatpak) >= %{flatpak_version}
|
|
BuildRequires: pkgconfig(fwupd) >= %{fwupd_version}
|
|
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
|
|
BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib2_version}
|
|
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
|
|
BuildRequires: pkgconfig(gmodule-2.0) >= %{glib2_version}
|
|
BuildRequires: pkgconfig(gsettings-desktop-schemas)
|
|
BuildRequires: pkgconfig(gtk4) >= %{gtk4_version}
|
|
BuildRequires: pkgconfig(gudev-1.0)
|
|
BuildRequires: pkgconfig(json-glib-1.0) >= %{json_glib_version}
|
|
BuildRequires: pkgconfig(libadwaita-1) >= %{libadwaita_version}
|
|
BuildRequires: pkgconfig(libdnf)
|
|
BuildRequires: pkgconfig(libsoup-3.0)
|
|
%if %{with malcontent}
|
|
BuildRequires: pkgconfig(malcontent-0)
|
|
%endif
|
|
BuildRequires: pkgconfig(ostree-1)
|
|
%if %{with packagekit}
|
|
BuildRequires: pkgconfig(packagekit-glib2) >= %{packagekit_version}
|
|
%endif
|
|
BuildRequires: pkgconfig(polkit-gobject-1)
|
|
BuildRequires: pkgconfig(rpm)
|
|
%if %{with rpmostree}
|
|
BuildRequires: pkgconfig(rpm-ostree-1)
|
|
%endif
|
|
BuildRequires: pkgconfig(sysprof-capture-4)
|
|
BuildRequires: pkgconfig(xmlb) >= %{libxmlb_version}
|
|
BuildRequires: systemd
|
|
|
|
Requires: appstream-data
|
|
Requires: appstream%{?_isa} >= %{appstream_version}
|
|
%if %{with webapps}
|
|
Requires: epiphany-runtime%{?_isa}
|
|
%endif
|
|
%if %{with dnf5}
|
|
Requires: dnf5daemon-server%{?_isa} >= %{dnf5_version}
|
|
Requires: dnf5daemon-server-polkit
|
|
Requires: libdnf5-plugin-appstream%{?_isa}
|
|
Requires: rpm-plugin-dbus-announce%{?_isa}
|
|
%endif
|
|
Requires: flatpak%{?_isa} >= %{flatpak_version}
|
|
Requires: flatpak-libs%{?_isa} >= %{flatpak_version}
|
|
Requires: fwupd%{?_isa} >= %{fwupd_version}
|
|
Requires: glib2%{?_isa} >= %{glib2_version}
|
|
%if !0%{?rhel}
|
|
Requires: gnome-app-list
|
|
%endif
|
|
# gnome-menus is needed for app folder .directory entries
|
|
Requires: gnome-menus%{?_isa}
|
|
Requires: gsettings-desktop-schemas%{?_isa}
|
|
Requires: gtk4 >= %{gtk4_version}
|
|
Requires: json-glib%{?_isa} >= %{json_glib_version}
|
|
Requires: iso-codes
|
|
Requires: libadwaita >= %{libadwaita_version}
|
|
# librsvg2 is needed for gdk-pixbuf svg loader
|
|
Requires: librsvg2%{?_isa}
|
|
Requires: libxmlb%{?_isa} >= %{libxmlb_version}
|
|
|
|
%if %{with packagekit}
|
|
Recommends: PackageKit%{?_isa} >= %{packagekit_version}
|
|
%endif
|
|
Recommends: %{name}-fedora-langpacks
|
|
|
|
Obsoletes: gnome-software-snap < 3.33.1
|
|
Obsoletes: gnome-software-editor < 3.35.1
|
|
|
|
%description
|
|
gnome-software is an application that makes it easy to add, remove
|
|
and update software in the GNOME desktop.
|
|
|
|
%package devel
|
|
Summary: Headers for building external gnome-software plugins
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%description devel
|
|
These development files are for building gnome-software plugins outside
|
|
the source tree. Most users do not need this subpackage installed.
|
|
|
|
%package fedora-langpacks
|
|
Summary: Contains fedora-langpacks plugin
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%description fedora-langpacks
|
|
The fedora-langpacks plugin ensures langpacks packages are installed
|
|
for the current locale.
|
|
|
|
%if %{with rpmostree}
|
|
%package rpm-ostree
|
|
Summary: rpm-ostree backend for gnome-software
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
Requires: rpm-ostree%{?_isa}
|
|
Supplements: (gnome-software%{?_isa} and rpm-ostree%{?_isa})
|
|
|
|
%description rpm-ostree
|
|
gnome-software is an application that makes it easy to add, remove
|
|
and update software in the GNOME desktop.
|
|
|
|
This package includes the rpm-ostree backend.
|
|
%endif
|
|
|
|
%prep
|
|
%autosetup -p1 -S gendiff -n %{name}-%{tarball_version}
|
|
|
|
%build
|
|
%meson \
|
|
-Dsnap=false \
|
|
%if %{with malcontent}
|
|
-Dmalcontent=true \
|
|
%else
|
|
-Dmalcontent=false \
|
|
%endif
|
|
-Dgudev=true \
|
|
%if %{with packagekit}
|
|
-Dpackagekit=true \
|
|
-Dpackagekit_autoremove=true \
|
|
%else
|
|
-Dpackagekit=false \
|
|
%endif
|
|
%if %{with dnf5}
|
|
-Ddnf5=true \
|
|
%endif
|
|
-Dexternal_appstream=false \
|
|
%if %{with rpmostree}
|
|
-Drpm_ostree=true \
|
|
%else
|
|
-Drpm_ostree=false \
|
|
%endif
|
|
%if %{with webapps}
|
|
-Dwebapps=true \
|
|
-Dhardcoded_foss_webapps=true \
|
|
-Dhardcoded_proprietary_webapps=false \
|
|
%else
|
|
-Dwebapps=false \
|
|
-Dhardcoded_foss_webapps=false \
|
|
-Dhardcoded_proprietary_webapps=false \
|
|
%endif
|
|
%if %{with dkms}
|
|
-Ddkms=true \
|
|
%else
|
|
-Ddkms=false \
|
|
%endif
|
|
-Dtests=false
|
|
%meson_build
|
|
|
|
%install
|
|
%meson_install
|
|
|
|
# remove unneeded dpkg and dummy plugins
|
|
rm %{buildroot}%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_dpkg.so
|
|
rm %{buildroot}%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_dummy.so
|
|
|
|
# make the software center load faster
|
|
desktop-file-edit %{buildroot}%{_datadir}/applications/org.gnome.Software.desktop \
|
|
--set-key=X-AppInstall-Package --set-value=%{name}
|
|
|
|
# set up for Fedora
|
|
cat >> %{buildroot}%{_datadir}/glib-2.0/schemas/org.gnome.software-fedora.gschema.override << FOE
|
|
[org.gnome.software]
|
|
%if 0%{?rhel}
|
|
official-repos = [ 'rhel-%{?rhel}' ]
|
|
%else
|
|
official-repos = [ 'anaconda', 'fedora', 'fedora-debuginfo', 'fedora-source', 'koji-override-0', 'koji-override-1', 'rawhide', 'rawhide-debuginfo', 'rawhide-source', 'updates', 'updates-debuginfo', 'updates-source', 'updates-testing', 'updates-testing-debuginfo', 'updates-testing-source', 'fedora-modular', 'fedora-modular-debuginfo', 'fedora-modular-source', 'rawhide-modular', 'rawhide-modular-debuginfo', 'rawhide-modular-source', 'fedora-cisco-openh264', 'fedora-cisco-openh264-debuginfo' ]
|
|
required-repos = [ 'fedora', 'updates' ]
|
|
packaging-format-preference = [ 'flatpak:fedora-testing', 'flatpak:fedora', 'rpm' ]
|
|
%endif
|
|
FOE
|
|
|
|
%find_lang %name --with-gnome
|
|
|
|
%check
|
|
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
|
|
|
|
%files -f %{name}.lang
|
|
%doc AUTHORS NEWS README.md
|
|
%license COPYING
|
|
%{_bindir}/gnome-software
|
|
%{_datadir}/applications/gnome-software-local-file-flatpak.desktop
|
|
%{_datadir}/applications/gnome-software-local-file-fwupd.desktop
|
|
%if %{with packagekit} || %{with rpmostree} || %{with dnf5}
|
|
%{_datadir}/applications/gnome-software-local-file-packagekit.desktop
|
|
%endif
|
|
%{_datadir}/applications/org.gnome.Software.desktop
|
|
%{_datadir}/bash-completion/completions/gnome-software
|
|
%{_mandir}/man1/gnome-software.1*
|
|
%{_datadir}/icons/hicolor/*/apps/org.gnome.Software.svg
|
|
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Software-symbolic.svg
|
|
%{_datadir}/icons/hicolor/scalable/categories/system-component-addon.svg
|
|
%{_datadir}/icons/hicolor/scalable/categories/system-component-application.svg
|
|
%{_datadir}/icons/hicolor/scalable/categories/system-component-codecs.svg
|
|
%{_datadir}/icons/hicolor/scalable/categories/system-component-driver.svg
|
|
%{_datadir}/icons/hicolor/scalable/categories/system-component-firmware.svg
|
|
%{_datadir}/icons/hicolor/scalable/categories/system-component-input-sources.svg
|
|
%{_datadir}/icons/hicolor/scalable/categories/system-component-language.svg
|
|
%{_datadir}/icons/hicolor/scalable/categories/system-component-os-updates.svg
|
|
%{_datadir}/icons/hicolor/scalable/categories/system-component-runtime.svg
|
|
%{_datadir}/metainfo/org.gnome.Software.metainfo.xml
|
|
%if %{with webapps}
|
|
%{_datadir}/metainfo/org.gnome.Software.Plugin.Epiphany.metainfo.xml
|
|
%endif
|
|
%{_datadir}/metainfo/org.gnome.Software.Plugin.Flatpak.metainfo.xml
|
|
%{_datadir}/metainfo/org.gnome.Software.Plugin.Fwupd.metainfo.xml
|
|
%dir %{_libdir}/gnome-software/plugins-%{gs_plugin_version}
|
|
%{_libdir}/gnome-software/libgnomesoftware.so.%{gs_plugin_version}
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_appstream.so
|
|
%if %{with dnf5}
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_dnf5.so
|
|
%endif
|
|
%if %{with webapps}
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_epiphany.so
|
|
%endif
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_fedora-pkgdb-collections.so
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_flatpak.so
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_fwupd.so
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_generic-updates.so
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_hardcoded-blocklist.so
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_icons.so
|
|
%if %{with malcontent}
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_malcontent.so
|
|
%endif
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_modalias.so
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_os-release.so
|
|
%if %{with packagekit}
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit.so
|
|
%endif
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_provenance-license.so
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_provenance.so
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_repos.so
|
|
%if %{with webapps}
|
|
%dir %{_datadir}/swcatalog
|
|
%dir %{_datadir}/swcatalog/xml
|
|
%{_datadir}/swcatalog/xml/gnome-pwa-list-foss.xml
|
|
%endif
|
|
%if %{with packagekit}
|
|
%{_datadir}/dbus-1/services/org.freedesktop.PackageKit.service
|
|
%endif
|
|
%{_datadir}/dbus-1/services/org.gnome.Software.service
|
|
%{_datadir}/gnome-shell/search-providers/org.gnome.Software-search-provider.ini
|
|
%{_datadir}/glib-2.0/schemas/org.gnome.software.gschema.xml
|
|
%{_datadir}/glib-2.0/schemas/org.gnome.software-fedora.gschema.override
|
|
%{_libexecdir}/gnome-software-cmd
|
|
%{_libexecdir}/gnome-software-restarter
|
|
%{_userunitdir}/gnome-software.service
|
|
|
|
%if %{with dkms}
|
|
%{_datadir}/polkit-1/actions/org.gnome.software.dkms-helper.policy
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_dkms.so
|
|
%{_libexecdir}/gnome-software-dkms-helper
|
|
%endif
|
|
|
|
%files fedora-langpacks
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_fedora-langpacks.so
|
|
|
|
%if %{with rpmostree}
|
|
%files rpm-ostree
|
|
%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_rpm-ostree.so
|
|
%endif
|
|
|
|
%files devel
|
|
%{_libdir}/pkgconfig/gnome-software.pc
|
|
%dir %{_includedir}/gnome-software
|
|
%{_includedir}/gnome-software/*.h
|
|
%{_libdir}/gnome-software/libgnomesoftware.so
|
|
%dir %{_datadir}/gtk-doc
|
|
%dir %{_datadir}/gtk-doc/html
|
|
%{_datadir}/gtk-doc/html/gnome-software/
|
|
|
|
%changelog
|
|
%autochangelog
|