%global VERSIONDATE 20240905 %global GITVERSION git4c6f56f29 %global GITFILENAME gnome-software-devel-4c6f56f29.tar.xz %global appstream_version 0.16.4 %global flatpak_version 1.9.1 %global fwupd_version 1.5.6 %global glib2_version 2.70.0 %global gtk4_version 4.14.3 %global json_glib_version 1.6.0 %global libadwaita_version 1.6~alpha %global libxmlb_version 0.1.7 %global packagekit_version 1.2.5 # 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 21 %global tarball_version %%(echo %{version} | tr '~' '.') %global __provides_exclude_from ^%{_libdir}/%{name}/plugins-%{gs_plugin_version}/.*\\.so.*$ Name: gnome-software Version: 47.0 Release: 0.%{VERSIONDATE}00%{GITVERSION}.dnf5%{?dist} Summary: A software center for GNOME License: GPL-2.0-or-later URL: https://apps.gnome.org/Software Source0: %{GITFILENAME} Patch: dbg.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: gtk-doc BuildRequires: itstool BuildRequires: libxslt BuildRequires: meson BuildRequires: pkgconfig(appstream) >= %{appstream_version} Requires: 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} Requires: gtk4 >= %{gtk4_version} BuildRequires: pkgconfig(gudev-1.0) BuildRequires: pkgconfig(json-glib-1.0) >= %{json_glib_version} BuildRequires: pkgconfig(libadwaita-1) >= %{libadwaita_version} Requires: libadwaita >= %{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} Requires: appstream-data Requires: appstream%{?_isa} >= %{appstream_version} %if %{with dnf5} Requires: dnf5daemon-server%{?_isa} %endif %if %{with webapps} Requires: epiphany-runtime%{?_isa} %endif Requires: flatpak%{?_isa} >= %{flatpak_version} Requires: flatpak-libs%{?_isa} >= %{flatpak_version} Requires: fwupd%{?_isa} >= %{fwupd_version} Requires: glib2%{?_isa} >= %{glib2_version} # gnome-menus is needed for app folder .directory entries Requires: gnome-menus%{?_isa} Requires: gsettings-desktop-schemas%{?_isa} Requires: json-glib%{?_isa} >= %{json_glib_version} Requires: iso-codes # 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 -n %{name}-devel cat meson.build | sed "s|meson.project_version()|'%{version}-%{release}'|" >meson.build.in cat meson.build.in > meson.build mv lib/gs-build-ident.h.in lib/gs-build-ident.h.tmp cat lib/gs-build-ident.h.tmp | sed "s|@VCS_TAG@|%{version}-%{release}|" >lib/gs-build-ident.h.in %build %meson \ -Dsoup2=false \ -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 \ %else -Ddnf5=false \ %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 README.md %license COPYING %{_bindir}/gnome-software %{_datadir}/applications/gnome-software-local-file-flatpak.desktop %{_datadir}/applications/gnome-software-local-file-fwupd.desktop %{_datadir}/applications/gnome-software-local-file-packagekit.desktop %{_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 %{_sysconfdir}/xdg/autostart/org.gnome.Software.desktop %dir %{_datadir}/swcatalog %dir %{_datadir}/swcatalog/xml %if %{with webapps} %{_datadir}/swcatalog/xml/gnome-pwa-list-foss.xml %endif %{_datadir}/swcatalog/xml/org.gnome.Software.Curated.xml %{_datadir}/swcatalog/xml/org.gnome.Software.Featured.xml %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 %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 * Thu Sep 05 2024 Milan Crha 41~alpha-0.2024090500git4c6f56f29 - Development snapshot at commit 4c6f56f29