%global project_version_prime 5 %global project_version_major 2 %global project_version_minor 0 %global project_version_micro 0 %bcond dnf5_obsoletes_dnf %[0%{?fedora} > 40 || 0%{?rhel} > 11] Name: dnf5 Version: 5.2.0.0 Release: 1.20240423135925378170.pr1432.225.g0c265de7%{?dist} Summary: Command-line package manager License: GPL-2.0-or-later URL: https://github.com/rpm-software-management/dnf5 Source0: dnf5-5.2.0.0.tar.gz Requires: libdnf5%{?_isa} = %{version}-%{release} Requires: libdnf5-cli%{?_isa} = %{version}-%{release} %if %{without dnf5_obsoletes_dnf} Requires: dnf-data %endif Recommends: bash-completion Requires: coreutils # Remove if condition when Fedora 37 is EOL %if 0%{?fedora} > 37 || 0%{?rhel} > 10 Provides: microdnf = %{version}-%{release} Obsoletes: microdnf < 4 %endif %if %{with dnf5_obsoletes_dnf} Provides: dnf = %{version}-%{release} Obsoletes: dnf < 5 Provides: yum = %{version}-%{release} Obsoletes: yum < 5 %endif Provides: dnf5-command(advisory) Provides: dnf5-command(autoremove) Provides: dnf5-command(check) Provides: dnf5-command(check-upgrade) Provides: dnf5-command(clean) Provides: dnf5-command(distro-sync) Provides: dnf5-command(downgrade) Provides: dnf5-command(download) Provides: dnf5-command(environment) Provides: dnf5-command(group) Provides: dnf5-command(history) Provides: dnf5-command(info) Provides: dnf5-command(install) Provides: dnf5-command(leaves) Provides: dnf5-command(list) Provides: dnf5-command(makecache) Provides: dnf5-command(mark) Provides: dnf5-command(module) Provides: dnf5-command(offline) Provides: dnf5-command(provides) Provides: dnf5-command(reinstall) Provides: dnf5-command(remove) Provides: dnf5-command(repo) Provides: dnf5-command(repoquery) Provides: dnf5-command(search) Provides: dnf5-command(swap) Provides: dnf5-command(system-upgrade) Provides: dnf5-command(upgrade) Provides: dnf5-command(versionlock) # ========== build options ========== %bcond_without dnf5daemon_client %bcond_without dnf5daemon_server %bcond_without libdnf_cli %bcond_without dnf5 %bcond_without dnf5_plugins %bcond_without plugin_actions %bcond_without plugin_rhsm %bcond_without python_plugins_loader %bcond_without comps %bcond_without modulemd %if 0%{?rhel} %bcond_with zchunk %else %bcond_without zchunk %endif %bcond_without systemd %bcond_with html %if 0%{?rhel} == 8 %bcond_with man %else %bcond_without man %endif # TODO Go bindings fail to build, disable for now %bcond_with go %bcond_without perl5 %bcond_without python3 %bcond_without ruby %bcond_with clang %bcond_with sanitizers %bcond_without tests %bcond_with performance_tests %bcond_with dnf5daemon_tests %if %{with clang} %global toolchain clang %endif # ========== versions of dependencies ========== %global libmodulemd_version 2.5.0 %global librepo_version 1.15.0 %global libsolv_version 0.7.25 %global sqlite_version 3.35.0 %global swig_version 4 %global zchunk_version 0.9.11 # ========== build requires ========== %if 0%{?fedora} > 40 || 0%{?rhel} > 10 BuildRequires: bash-completion-devel %else BuildRequires: bash-completion %endif BuildRequires: cmake BuildRequires: doxygen BuildRequires: gettext BuildRequires: pkgconfig(check) BuildRequires: pkgconfig(fmt) BuildRequires: pkgconfig(json-c) BuildRequires: pkgconfig(libcrypto) BuildRequires: pkgconfig(librepo) >= %{librepo_version} BuildRequires: pkgconfig(libsolv) >= %{libsolv_version} BuildRequires: pkgconfig(libsolvext) >= %{libsolv_version} BuildRequires: pkgconfig(rpm) >= 4.17.0 BuildRequires: pkgconfig(sqlite3) >= %{sqlite_version} BuildRequires: toml11-static %if %{with clang} BuildRequires: clang %else BuildRequires: gcc-c++ >= 10.1 %endif %if %{with tests} BuildRequires: createrepo_c BuildRequires: pkgconfig(cppunit) BuildRequires: rpm-build %endif %if %{with comps} BuildRequires: pkgconfig(libcomps) %endif %if %{with modulemd} BuildRequires: pkgconfig(modulemd-2.0) >= %{libmodulemd_version} %endif %if %{with zchunk} BuildRequires: pkgconfig(zck) >= %{zchunk_version} %endif %if %{with systemd} BuildRequires: pkgconfig(sdbus-c++) >= 0.8.1 BuildRequires: systemd-devel # We need to get the SYSTEMD_SYSTEM_UNIT_DIR from # /usr/share/pkgconfig/systemd.pc BuildRequires: systemd %endif %if %{with html} || %{with man} BuildRequires: python3dist(breathe) BuildRequires: python3dist(sphinx) >= 4.1.2 BuildRequires: python3dist(sphinx-rtd-theme) %endif %if %{with sanitizers} # compiler-rt is required by sanitizers in clang BuildRequires: compiler-rt BuildRequires: libasan BuildRequires: liblsan BuildRequires: libubsan %endif %if %{with libdnf_cli} # required for libdnf5-cli BuildRequires: pkgconfig(smartcols) %endif %if %{with dnf5_plugins} BuildRequires: libcurl-devel >= 7.62.0 %endif %if %{with dnf5daemon_server} # required for dnf5daemon-server BuildRequires: pkgconfig(sdbus-c++) >= 0.9.0 BuildRequires: systemd-rpm-macros %if %{with dnf5daemon_tests} BuildRequires: dbus-daemon BuildRequires: polkit BuildRequires: python3-devel BuildRequires: python3dist(dbus-python) %endif %endif %if %{with plugin_rhsm} BuildRequires: pkgconfig(librhsm) >= 0.0.3 BuildRequires: pkgconfig(glib-2.0) >= 2.44.0 %endif # ========== language bindings section ========== %if %{with perl5} || %{with ruby} || %{with python3} BuildRequires: swig >= %{swig_version} %endif %if %{with perl5} # required for perl-libdnf5 and perl-libdnf5-cli BuildRequires: perl-devel BuildRequires: perl-generators %if %{with tests} BuildRequires: perl(strict) BuildRequires: perl(Test::More) BuildRequires: perl(Test::Exception) BuildRequires: perl(warnings) %endif %endif %if %{with ruby} # required for ruby-libdnf5 and ruby-libdnf5-cli BuildRequires: pkgconfig(ruby) %if %{with tests} BuildRequires: rubygem-test-unit %endif %endif %if %{with python3} # required for python3-libdnf5 and python3-libdnf5-cli BuildRequires: python3-devel %endif %description DNF5 is a command-line package manager that automates the process of installing, upgrading, configuring, and removing computer programs in a consistent manner. It supports RPM packages, modulemd modules, and comps groups & environments. %files -f dnf5.lang %{_bindir}/dnf5 %if %{with dnf5_obsoletes_dnf} %{_bindir}/dnf %{_bindir}/yum %endif # Remove if condition when Fedora 37 is EOL %if 0%{?fedora} > 37 || 0%{?rhel} > 10 %{_bindir}/microdnf %endif %dir %{_sysconfdir}/dnf/dnf5-aliases.d %doc %{_sysconfdir}/dnf/dnf5-aliases.d/README %dir %{_datadir}/dnf5 %dir %{_datadir}/dnf5/aliases.d %{_datadir}/dnf5/aliases.d/compatibility.conf %dir %{_libdir}/dnf5 %dir %{_libdir}/dnf5/plugins %dir %{_datadir}/dnf5/dnf5-plugins %dir %{_sysconfdir}/dnf/dnf5-plugins %doc %{_libdir}/dnf5/plugins/README %dir %{_libdir}/libdnf5/plugins %dir %{_datadir}/bash-completion/ %dir %{_datadir}/bash-completion/completions/ %{_datadir}/bash-completion/completions/dnf* %dir %{_prefix}/lib/sysimage/dnf %verify(not md5 size mtime) %ghost %{_prefix}/lib/sysimage/dnf/* %license COPYING.md %license gpl-2.0.txt %{_mandir}/man8/dnf5.8.* %if %{with dnf5_obsoletes_dnf} %{_mandir}/man8/dnf.8.* %endif %{_mandir}/man8/dnf*-advisory.8.* %{_mandir}/man8/dnf*-autoremove.8.* %{_mandir}/man8/dnf*-check.8.* %{_mandir}/man8/dnf*-check-upgrade.8.* %{_mandir}/man8/dnf*-clean.8.* %{_mandir}/man8/dnf*-distro-sync.8.* %{_mandir}/man8/dnf*-downgrade.8.* %{_mandir}/man8/dnf*-download.8.* %{_mandir}/man8/dnf*-environment.8.* %{_mandir}/man8/dnf*-group.8.* # TODO(jkolarik): history is not ready yet # %%{_mandir}/man8/dnf*-history.8.* %{_mandir}/man8/dnf*-info.8.* %{_mandir}/man8/dnf*-install.8.* %{_mandir}/man8/dnf*-leaves.8.* %{_mandir}/man8/dnf*-list.8.* %{_mandir}/man8/dnf*-makecache.8.* %{_mandir}/man8/dnf*-mark.8.* %{_mandir}/man8/dnf*-module.8.* %{_mandir}/man8/dnf*-offline.8.* %{_mandir}/man8/dnf*-provides.8.* %{_mandir}/man8/dnf*-reinstall.8.* %{_mandir}/man8/dnf*-remove.8.* %{_mandir}/man8/dnf*-repo.8.* %{_mandir}/man8/dnf*-repoquery.8.* %{_mandir}/man8/dnf*-search.8.* %{_mandir}/man8/dnf*-swap.8.* %{_mandir}/man8/dnf*-system-upgrade.8.* %{_mandir}/man8/dnf*-upgrade.8.* %{_mandir}/man8/dnf*-versionlock.8.* %{_mandir}/man7/dnf*-aliases.7.* %{_mandir}/man7/dnf*-caching.7.* %{_mandir}/man7/dnf*-comps.7.* # TODO(jkolarik): filtering is not ready yet # %%{_mandir}/man7/dnf*-filtering.7.* %{_mandir}/man7/dnf*-forcearch.7.* %{_mandir}/man7/dnf*-installroot.7.* # TODO(jkolarik): modularity is not ready yet # %%{_mandir}/man7/dnf*-modularity.7.* %{_mandir}/man7/dnf*-specs.7.* %{_mandir}/man5/dnf*.conf.5.* %{_mandir}/man5/dnf*.conf-todo.5.* %{_mandir}/man5/dnf*.conf-deprecated.5.* %if %{with systemd} %{_unitdir}/dnf5-offline-transaction.service %{_unitdir}/dnf5-offline-transaction-cleanup.service %{_unitdir}/system-update.target.wants/dnf5-offline-transaction.service %endif # ========== libdnf5 ========== %package -n libdnf5 Summary: Package management library License: LGPL-2.1-or-later #Requires: libmodulemd{?_isa} >= {libmodulemd_version} Requires: libsolv%{?_isa} >= %{libsolv_version} Requires: librepo%{?_isa} >= %{librepo_version} Requires: sqlite-libs%{?_isa} >= %{sqlite_version} %if %{with dnf5_obsoletes_dnf} Conflicts: dnf-data < 4.16.0 %endif %description -n libdnf5 Package management library. %files -n libdnf5 -f libdnf5.lang %if %{with dnf5_obsoletes_dnf} %config(noreplace) %{_sysconfdir}/dnf/dnf.conf %dir %{_sysconfdir}/dnf/vars %dir %{_sysconfdir}/dnf/protected.d %else %exclude %{_sysconfdir}/dnf/dnf.conf %endif %dir %{_datadir}/dnf5/libdnf.conf.d %dir %{_sysconfdir}/dnf/libdnf5.conf.d %dir %{_datadir}/dnf5/repos.override.d %dir %{_sysconfdir}/dnf/repos.override.d %dir %{_sysconfdir}/dnf/libdnf5-plugins %dir %{_datadir}/dnf5/repos.d %dir %{_datadir}/dnf5/vars.d %dir %{_libdir}/libdnf5 %{_libdir}/libdnf5.so.2* %license lgpl-2.1.txt %{_var}/cache/libdnf5/ # ========== libdnf5-cli ========== %if %{with libdnf_cli} %package -n libdnf5-cli Summary: Library for working with a terminal in a command-line package manager License: LGPL-2.1-or-later Requires: libdnf5%{?_isa} = %{version}-%{release} %description -n libdnf5-cli Library for working with a terminal in a command-line package manager. %files -n libdnf5-cli -f libdnf5-cli.lang %{_libdir}/libdnf5-cli.so.2* %license COPYING.md %license lgpl-2.1.txt %endif # ========== dnf5-devel ========== %package -n dnf5-devel Summary: Development files for dnf5 License: LGPL-2.1-or-later Requires: dnf5%{?_isa} = %{version}-%{release} Requires: libdnf5-devel%{?_isa} = %{version}-%{release} Requires: libdnf5-cli-devel%{?_isa} = %{version}-%{release} %description -n dnf5-devel Development files for dnf5. %files -n dnf5-devel %{_includedir}/dnf5/ %license COPYING.md %license lgpl-2.1.txt # ========== libdnf5-devel ========== %package -n libdnf5-devel Summary: Development files for libdnf License: LGPL-2.1-or-later Requires: libdnf5%{?_isa} = %{version}-%{release} Requires: libsolv-devel%{?_isa} >= %{libsolv_version} %description -n libdnf5-devel Development files for libdnf. %files -n libdnf5-devel %{_includedir}/libdnf5/ %dir %{_libdir}/libdnf5 %{_libdir}/libdnf5.so %{_libdir}/pkgconfig/libdnf5.pc %license COPYING.md %license lgpl-2.1.txt # ========== libdnf5-cli-devel ========== %package -n libdnf5-cli-devel Summary: Development files for libdnf5-cli License: LGPL-2.1-or-later Requires: libdnf5-cli%{?_isa} = %{version}-%{release} %description -n libdnf5-cli-devel Development files for libdnf5-cli. %files -n libdnf5-cli-devel %{_includedir}/libdnf5-cli/ %{_libdir}/libdnf5-cli.so %{_libdir}/pkgconfig/libdnf5-cli.pc %license COPYING.md %license lgpl-2.1.txt # ========== perl-libdnf5 ========== %if %{with perl5} %package -n perl-libdnf5 Summary: Perl 5 bindings for the libdnf library License: LGPL-2.1-or-later Requires: libdnf5%{?_isa} = %{version}-%{release} %description -n perl-libdnf5 Perl 5 bindings for the libdnf library. %files -n perl-libdnf5 %{perl_vendorarch}/libdnf5 %{perl_vendorarch}/auto/libdnf5 %license COPYING.md %license lgpl-2.1.txt %endif # ========== perl-libdnf5-cli ========== %if %{with perl5} && %{with libdnf_cli} %package -n perl-libdnf5-cli Summary: Perl 5 bindings for the libdnf5-cli library License: LGPL-2.1-or-later Requires: libdnf5-cli%{?_isa} = %{version}-%{release} %description -n perl-libdnf5-cli Perl 5 bindings for the libdnf5-cli library. %files -n perl-libdnf5-cli %{perl_vendorarch}/libdnf5_cli %{perl_vendorarch}/auto/libdnf5_cli %license COPYING.md %license lgpl-2.1.txt %endif # ========== python3-libdnf5 ========== %if %{with python3} %package -n python3-libdnf5 %{?python_provide:%python_provide python3-libdnf} Summary: Python 3 bindings for the libdnf library License: LGPL-2.1-or-later Requires: libdnf5%{?_isa} = %{version}-%{release} %description -n python3-libdnf5 Python 3 bindings for the libdnf library. %files -n python3-libdnf5 %{python3_sitearch}/libdnf5 %{python3_sitearch}/libdnf5-*.dist-info %license COPYING.md %license lgpl-2.1.txt %endif # ========== python3-libdnf5-cli ========== %if %{with python3} && %{with libdnf_cli} %package -n python3-libdnf5-cli %{?python_provide:%python_provide python3-libdnf5-cli} Summary: Python 3 bindings for the libdnf5-cli library License: LGPL-2.1-or-later Requires: libdnf5-cli%{?_isa} = %{version}-%{release} %description -n python3-libdnf5-cli Python 3 bindings for the libdnf5-cli library. %files -n python3-libdnf5-cli %{python3_sitearch}/libdnf5_cli %{python3_sitearch}/libdnf5_cli-*.dist-info %license COPYING.md %license lgpl-2.1.txt %endif # ========== ruby-libdnf5 ========== %if %{with ruby} %package -n ruby-libdnf5 Summary: Ruby bindings for the libdnf library License: LGPL-2.1-or-later Provides: ruby(libdnf) = %{version}-%{release} Requires: libdnf5%{?_isa} = %{version}-%{release} Requires: ruby(release) %description -n ruby-libdnf5 Ruby bindings for the libdnf library. %files -n ruby-libdnf5 %{ruby_vendorarchdir}/libdnf5 %license COPYING.md %license lgpl-2.1.txt %endif # ========== ruby-libdnf5-cli ========== %if %{with ruby} && %{with libdnf_cli} %package -n ruby-libdnf5-cli Summary: Ruby bindings for the libdnf5-cli library License: LGPL-2.1-or-later Provides: ruby(libdnf_cli) = %{version}-%{release} Requires: libdnf5-cli%{?_isa} = %{version}-%{release} Requires: ruby(release) %description -n ruby-libdnf5-cli Ruby bindings for the libdnf5-cli library. %files -n ruby-libdnf5-cli %{ruby_vendorarchdir}/libdnf5_cli %license COPYING.md %license lgpl-2.1.txt %endif # ========== libdnf5-plugin-actions ========== %if %{with plugin_actions} %package -n libdnf5-plugin-actions Summary: Libdnf5 plugin that allows to run actions (external executables) on hooks License: LGPL-2.1-or-later Requires: libdnf5%{?_isa} = %{version}-%{release} %description -n libdnf5-plugin-actions Libdnf5 plugin that allows to run actions (external executables) on hooks. %files -n libdnf5-plugin-actions -f libdnf5-plugin-actions.lang %{_libdir}/libdnf5/plugins/actions.* %config %{_sysconfdir}/dnf/libdnf5-plugins/actions.conf %dir %{_sysconfdir}/dnf/libdnf5-plugins/actions.d %{_mandir}/man8/libdnf5-actions.8.* %endif # ========== libdnf5-plugin-plugin_rhsm ========== %if %{with plugin_rhsm} %package -n libdnf5-plugin-rhsm Summary: Libdnf5 rhsm (Red Hat Subscription Manager) plugin License: LGPL-2.1-or-later Requires: libdnf5%{?_isa} = %{version}-%{release} %description -n libdnf5-plugin-rhsm Libdnf5 plugin with basic support for Red Hat subscriptions. Synchronizes the the enrollment with the vendor system. This can change the contents of the repositories configuration files according to the subscription levels. %files -n libdnf5-plugin-rhsm -f libdnf5-plugin-rhsm.lang %{_libdir}/libdnf5/plugins/rhsm.* %config %{_sysconfdir}/dnf/libdnf5-plugins/rhsm.conf %endif # ========== python3-libdnf5-plugins-loader ========== %if %{with python_plugins_loader} %package -n python3-libdnf5-python-plugins-loader Summary: Libdnf5 plugin that allows loading Python plugins License: LGPL-2.1-or-later Requires: libdnf5%{?_isa} = %{version}-%{release} Requires: python3-libdnf5%{?_isa} = %{version}-%{release} %description -n python3-libdnf5-python-plugins-loader Libdnf5 plugin that allows loading Python plugins. %files -n python3-libdnf5-python-plugins-loader %{_libdir}/libdnf5/plugins/python_plugins_loader.* %dir %{python3_sitelib}/libdnf_plugins/ %doc %{python3_sitelib}/libdnf_plugins/README %endif # ========== dnf5daemon-client ========== %if %{with dnf5daemon_client} %package -n dnf5daemon-client Summary: Command-line interface for dnf5daemon-server License: GPL-2.0-or-later Requires: libdnf5%{?_isa} = %{version}-%{release} Requires: libdnf5-cli%{?_isa} = %{version}-%{release} Requires: dnf5daemon-server %description -n dnf5daemon-client Command-line interface for dnf5daemon-server. %files -n dnf5daemon-client -f dnf5daemon-client.lang %{_bindir}/dnf5daemon-client %license COPYING.md %license gpl-2.0.txt %{_mandir}/man8/dnf5daemon-client.8.* %endif # ========== dnf5daemon-server ========== %if %{with dnf5daemon_server} %package -n dnf5daemon-server Summary: Package management service with a DBus interface License: GPL-2.0-or-later Requires: libdnf5%{?_isa} = %{version}-%{release} Requires: libdnf5-cli%{?_isa} = %{version}-%{release} Requires: dbus Requires: polkit %if %{without dnf5_obsoletes_dnf} Requires: dnf-data %endif %description -n dnf5daemon-server Package management service with a DBus interface. %post -n dnf5daemon-server %systemd_post dnf5daemon-server.service %preun -n dnf5daemon-server %systemd_preun dnf5daemon-server.service %postun -n dnf5daemon-server %systemd_postun_with_restart dnf5daemon-server.service %files -n dnf5daemon-server -f dnf5daemon-server.lang %{_sbindir}/dnf5daemon-server %{_unitdir}/dnf5daemon-server.service %{_datadir}/dbus-1/system.d/org.rpm.dnf.v0.conf %{_datadir}/dbus-1/system-services/org.rpm.dnf.v0.service %{_datadir}/dbus-1/interfaces/org.rpm.dnf.v0.*.xml %{_datadir}/polkit-1/actions/org.rpm.dnf.v0.policy %license COPYING.md %license gpl-2.0.txt %{_mandir}/man8/dnf5daemon-server.8.* %{_mandir}/man8/dnf5daemon-dbus-api.8.* %endif # ========== dnf5-plugins ========== %if %{with dnf5_plugins} %package -n dnf5-plugins Summary: Plugins for dnf5 License: LGPL-2.1-or-later Requires: dnf5%{?_isa} = %{version}-%{release} Requires: libcurl%{?_isa} >= 7.62.0 Requires: libdnf5-cli%{?_isa} = %{version}-%{release} Provides: dnf5-command(builddep) Provides: dnf5-command(changelog) Provides: dnf5-command(config-manager) Provides: dnf5-command(copr) Provides: dnf5-command(needs-restarting) Provides: dnf5-command(repoclosure) %description -n dnf5-plugins Core DNF5 plugins that enhance dnf5 with builddep, changelog, config-manager, copr, and repoclosure commands. %files -n dnf5-plugins -f dnf5-plugin-builddep.lang -f dnf5-plugin-changelog.lang -f dnf5-plugin-config-manager.lang -f dnf5-plugin-copr.lang -f dnf5-plugin-needs-restarting.lang -f dnf5-plugin-repoclosure.lang %{_libdir}/dnf5/plugins/builddep_cmd_plugin.so %{_libdir}/dnf5/plugins/changelog_cmd_plugin.so %{_libdir}/dnf5/plugins/config-manager_cmd_plugin.so %{_libdir}/dnf5/plugins/copr_cmd_plugin.so %{_libdir}/dnf5/plugins/needs_restarting_cmd_plugin.so %{_libdir}/dnf5/plugins/repoclosure_cmd_plugin.so %{_mandir}/man8/dnf*-builddep.8.* %{_mandir}/man8/dnf*-changelog.8.* %{_mandir}/man8/dnf*-config-manager.8.* %{_mandir}/man8/dnf*-copr.8.* %{_mandir}/man8/dnf*-needs-restarting.8.* %{_mandir}/man8/dnf*-repoclosure.8.* # ========== dnf5-automatic plugin ========== %package plugin-automatic Summary: Package manager - automated upgrades License: LGPL-2.1-or-later Requires: dnf5%{?_isa} = %{version}-%{release} Requires: libcurl-full%{?_isa} Provides: dnf5-command(automatic) %if %{with dnf5_obsoletes_dnf} Provides: dnf-automatic = %{version}-%{release} Obsoletes: dnf-automatic < 5 %else Conflicts: dnf-automatic < 5 %endif %description plugin-automatic Alternative command-line interface "dnf upgrade" suitable to be executed automatically and regularly from systemd timers, cron jobs or similar. %files plugin-automatic -f dnf5-plugin-automatic.lang %ghost %{_sysconfdir}/motd.d/dnf5-automatic %{_libdir}/dnf5/plugins/automatic_cmd_plugin.so %{_mandir}/man8/dnf*-automatic.8.* %{_unitdir}/dnf5-automatic.service %{_unitdir}/dnf5-automatic.timer %{_unitdir}/dnf-automatic.service %{_unitdir}/dnf-automatic.timer %if %{with dnf5_obsoletes_dnf} %{_bindir}/dnf-automatic %else %exclude %{_bindir}/dnf-automatic %endif %endif # ========== unpack, build, check & install ========== %prep %autosetup -p1 -n dnf5-5.2.0.0 %build %cmake \ -DPACKAGE_VERSION=%{version} \ -DPERL_INSTALLDIRS=vendor \ \ -DWITH_DNF5DAEMON_CLIENT=%{?with_dnf5daemon_client:ON}%{!?with_dnf5daemon_client:OFF} \ -DWITH_DNF5DAEMON_SERVER=%{?with_dnf5daemon_server:ON}%{!?with_dnf5daemon_server:OFF} \ -DWITH_LIBDNF5_CLI=%{?with_libdnf_cli:ON}%{!?with_libdnf_cli:OFF} \ -DWITH_DNF5=%{?with_dnf5:ON}%{!?with_dnf5:OFF} \ -DWITH_PLUGIN_ACTIONS=%{?with_plugin_actions:ON}%{!?with_plugin_actions:OFF} \ -DWITH_PLUGIN_RHSM=%{?with_plugin_rhsm:ON}%{!?with_plugin_rhsm:OFF} \ -DWITH_PYTHON_PLUGINS_LOADER=%{?with_python_plugins_loader:ON}%{!?with_python_plugins_loader:OFF} \ \ -DWITH_COMPS=%{?with_comps:ON}%{!?with_comps:OFF} \ -DWITH_MODULEMD=%{?with_modulemd:ON}%{!?with_modulemd:OFF} \ -DWITH_ZCHUNK=%{?with_zchunk:ON}%{!?with_zchunk:OFF} \ -DWITH_SYSTEMD=%{?with_systemd:ON}%{!?with_systemd:OFF} \ \ -DWITH_HTML=%{?with_html:ON}%{!?with_html:OFF} \ -DWITH_MAN=%{?with_man:ON}%{!?with_man:OFF} \ \ -DWITH_GO=%{?with_go:ON}%{!?with_go:OFF} \ -DWITH_PERL5=%{?with_perl5:ON}%{!?with_perl5:OFF} \ -DWITH_PYTHON3=%{?with_python3:ON}%{!?with_python3:OFF} \ -DWITH_RUBY=%{?with_ruby:ON}%{!?with_ruby:OFF} \ \ -DWITH_SANITIZERS=%{?with_sanitizers:ON}%{!?with_sanitizers:OFF} \ -DWITH_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \ -DWITH_PERFORMANCE_TESTS=%{?with_performance_tests:ON}%{!?with_performance_tests:OFF} \ -DWITH_DNF5DAEMON_TESTS=%{?with_dnf5daemon_tests:ON}%{!?with_dnf5daemon_tests:OFF} \ \ -DVERSION_PRIME=%{project_version_prime} \ -DVERSION_MAJOR=%{project_version_major} \ -DVERSION_MINOR=%{project_version_minor} \ -DVERSION_MICRO=%{project_version_micro} %cmake_build %if %{with man} %cmake_build --target doc-man %endif %check %if %{with tests} %ctest %endif %install %cmake_install %if %{with dnf5_obsoletes_dnf} ln -sr %{buildroot}%{_bindir}/dnf5 %{buildroot}%{_bindir}/dnf ln -sr %{buildroot}%{_bindir}/dnf5 %{buildroot}%{_bindir}/yum ln -sr %{buildroot}%{_datadir}/bash-completion/completions/dnf5 %{buildroot}%{_datadir}/bash-completion/completions/dnf for file in %{buildroot}%{_mandir}/man[578]/dnf5[-.]*; do dir=$(dirname $file) filename=$(basename $file) ln -sr $file $dir/${filename/dnf5/dnf} done %endif # own dirs and files that dnf5 creates on runtime mkdir -p %{buildroot}%{_prefix}/lib/sysimage/dnf for files in \ groups.toml modules.toml nevras.toml packages.toml \ system.toml transaction_history.sqlite \ transaction_history.sqlite-shm \ transaction_history.sqlite-wal userinstalled.toml do touch %{buildroot}%{_prefix}/lib/sysimage/dnf/$files done # Remove if condition when Fedora 37 is EOL %if 0%{?fedora} > 37 || 0%{?rhel} > 10 ln -sr %{buildroot}%{_bindir}/dnf5 %{buildroot}%{_bindir}/microdnf %endif %if %{with systemd} mkdir -p %{buildroot}%{_unitdir}/system-update.target.wants/ pushd %{buildroot}%{_unitdir}/system-update.target.wants/ ln -sr ../dnf5-offline-transaction.service popd %endif %find_lang dnf5 %find_lang dnf5-plugin-automatic %find_lang dnf5-plugin-builddep %find_lang dnf5-plugin-changelog %find_lang dnf5-plugin-config-manager %find_lang dnf5-plugin-copr %find_lang dnf5-plugin-needs-restarting %find_lang dnf5-plugin-repoclosure %find_lang dnf5daemon-client %find_lang dnf5daemon-server %find_lang libdnf5 %find_lang libdnf5-cli %find_lang libdnf5-plugin-actions %find_lang libdnf5-plugin-rhsm %ldconfig_scriptlets %changelog * Tue Apr 23 2024 Packit - 5.2.0.0-1.20240423135925378170.pr1432.225.g0c265de7 - [DNF5] `--enable-plugin` and `--disable-pluin`: no match found message (Jaroslav Rohel) - [DNF5] API: Move Context::libdnf5_plugins_enablement to p_impl (Jaroslav Rohel) - [libdnf5 API] Base::get_plugins_info (Jaroslav Rohel) - [libdnf5 plugins] include iplugin.hpp in plugins instead of base.hpp (Jaroslav Rohel) - repo_sack: Treat all repos with solv_repo created as loaded (RhBug:2275530) (Jan Kolarik) - [DNF5] API: No inline methods in shared_options.hpp (Jaroslav Rohel) - [DNF5] API: offline::OfflineTransactionState: no inline methods, move cpp (Jaroslav Rohel) - [DNF5] API: Remove unused and buggy RpmTransactionItem class (Jaroslav Rohel) - [DNF5] Command: no inline methods (Jaroslav Rohel) - [DNF5] API: Context: add p_impl, move public vars to p_impl, getters (Jaroslav Rohel) - API: cli::session: no inline methods and public vars in opts classes (Jaroslav Rohel) - API: cli::session::Command: no inline methods (Jaroslav Rohel) - API: add p_impl to cli::session::Session (Jaroslav Rohel) - API: rpm::TransactionCallbacks: no inline methods (Jaroslav Rohel) - API: repo::RepoCallbacks: no inline methods (Jaroslav Rohel) - Prepare for switch of dnf5 in Rawhide (Jan Kolarik) - base: Make get_transaction_history unstable (Jan Kolarik) - Set `group` reason for packages removed by a group removal (Aleš Matěj) - [DNF5] Implement `--enable-plugin` and `--disable-pluin` (Jaroslav Rohel) - [libdnf5 API] Base::enable_disable_plugins (Jaroslav Rohel) - spec: Simplify man page files (Jan Kolarik) - Loggers: Fix: Add missing "null_loger.cpp" file (Jaroslav Rohel) - Loggers API: unify, explicit ctors, non-inline methods, use p_impl (Jaroslav Rohel) - doc: Review of DNF4 vs DNF5 CLI and configuration changes (Jan Kolarik) - Re-enable clang builds after API changes (Jan Kolarik) - Add `--store` option for storing arbitrary transaction (Aleš Matěj) - libdnf5::Goal: when adding serialized transaction accept local items (Aleš Matěj) - Goal: change `add_serialized_transaction()` to accept path to trans (Aleš Matěj) - Add group/env paths for transaction parsing/serializing (Aleš Matěj) - base::Transaction: during serialization allow specifying paths (Aleš Matěj) - base::Transaction: add `store_comps(...)` method (Aleš Matěj) - repo_sack: add stored_transaction repo and its private API (Aleš Matěj) - repo: add private API `add_xml_comps(path)` (Aleš Matěj) - Generalize logging of `read_group_solvable_from_xml(..)` (Aleš Matěj) - Add `environment_no_groups` to `GoalJobSettings` (Aleš Matěj) - libdnf5 IPlugin: Pass IPluginData instead of Base to constructor (Jaroslav Rohel) - libdnf5 IPlugin: Use pImpl (Jaroslav Rohel) - libdnf5 IPlugin: Do not use inline methods (Jaroslav Rohel) - dnf5 IPlugin: Do not use inline methods on API (Jaroslav Rohel) - libdnf5 IPlugin: Add argumets description (Jaroslav Rohel) - libdnf5 plugins: New hooks `pre/post_add_cmdline_packages` (Jaroslav Rohel) - libdnf5 plugins: New hook `repos_loaded` (Jaroslav Rohel) - libdnf5 plugins: New hook `repos_configured` (Jaroslav Rohel) - Base: notify_repos_configured and are_repos_configured methods (Jaroslav Rohel) - Fix: implicit conversion changes signedness, unused value (Jaroslav Rohel) - Disable unit tests for Copr dnf5 plugin (Jaroslav Rohel) - dnfdaemon: Document Polit CheckAuthorization call (Marek Blaha) - dnfdaemon: Catch timeout during CheckAuthorization (Marek Blaha) - Not handle compatibility.conf as configuration file (Jaroslav Mracek) - config: add search (se) and info (if) aliases (Penn Bauman) - Improve documentation of repo config directories (Nicola Sella) - Cross reference documentation (Nicola Sella) - Document Repos and Vars Dirs (Nicola Sella) - doc: Unify style and move "Files" section (Nicola Sella) - Document repos configuration overrides (Nicola Sella) - doc: Remove ":" in titles (Nicola Sella) - Bump libdnf5/libdnf5-cli so version (Marek Blaha) - Mark multiple strings for translation (Jaroslav Mracek) - Set locale for dnf5 run (Jaroslav Mracek) - spec: Add missing dnf-config-manager.8.gz file (Marek Blaha) - Generate documentation for ConfigRepo Class (Jaroslav Mracek) - [Doc] Describe denerating repo cache path (Jaroslav Mracek) - dnf5daemon: Make availability case insensitive (Marek Blaha) - dnf5: Drop unneeded severities capitalization (Marek Blaha) - dnf5: Document --available as default for advisory cmd (Marek Blaha) - dnf5daemon-client: Drop unneeded severities capitalization (Marek Blaha) - advisory: filter_severity and filter_type case insensitive (Marek Blaha) - dnfdaemon: Fix and enhance Advisory interface doc (Marek Blaha) - Enable import data from DNF4 for systems without state dir (Jaroslav Mracek) - libdnf5 options: Unify constructors - pass args for storing by value (Jaroslav Rohel) - dnfdaemon: Missing signal registration (Marek Blaha) - doc: config manager plugin: wrap too long lines (Jaroslav Rohel) - doc: document config-manager plugin (Jaroslav Rohel) - Packit: get version from specfile for copr_builds againts main (Aleš Matěj) - Update tests to use new `load_repos()` API (Aleš Matěj) - Use new load_repos instead of deprecated update_and_load_enabled_repos (Aleš Matěj) - Make `libdnf5::repo::Repo::load()` private (Aleš Matěj) - Deprecate: `update_and_load_enabled_repos` (Aleš Matěj) - RepoSack: add new `load_repos` method (Aleš Matěj) - Move update_and_load_repos and fix_group_missing_xml to Impl (Aleš Matěj) - Prevent loading plugins for unittests (Jaroslav Mracek) - Respect plugins configuration option for loading plugins (Jaroslav Mracek) - Add pImpl to `libdnf5::LogRouter` (Aleš Matěj) - Add pImpl to `libdnf5::MemoryBufferLogger` (Aleš Matěj) - Add pImpl to `libdnf5::OptionBinds` (Aleš Matěj) - Add pImpl to `libdnf5::OptionBinds::Item` (Aleš Matěj) - Add pImpl to `libdnf5::Config` (Aleš Matěj) - Add pImpl to `libdnf5::OptionStringList` (Aleš Matěj) - OptionStringList: remove assignment operators and move constructor (Aleš Matěj) - Add pImpl to `libdnf5::OptionBool` (Aleš Matěj) - OptionBool: remove assignment operators and move constructor (Aleš Matěj) - Add pImpl to `libdnf5::OptionNumber` (Aleš Matěj) - Add pImpl to `libdnf5::OptionPath` (Aleš Matěj) - Add pImpl to `libdnf5::OptionString` (Aleš Matěj) - libdnf5::OptionEnum: remove template, add pImpl (Aleš Matěj) - Add pImpl to `libdnf5::Option` (Aleš Matěj) - modules: Report problems with switching module streams (Pavla Kratochvilova) - modules: Report switched module streams (Pavla Kratochvilova) - modules: Add switching module streams as a possible transaction action (Pavla Kratochvilova) - modules: Add replaces and replaced_by to TransactionModule (Pavla Kratochvilova) - Add missing info updates alias, to match list command (Aleš Matěj) - Update `package_info_sections` not to use `scols_table_print_range` (Aleš Matěj) - libdnf-cli: Extract package info printing (Aleš Matěj) - ArgumentParser: use p_impl, no inline methods (Jaroslav Rohel) - ArgumentParser:PositionalArg: Unit tests: Support repeating of pos arg (Jaroslav Rohel) - ArgumentParser:PositionalArg: Support repeating of positional argument (Jaroslav Rohel) - Hide/Remove deprecated `libdnf5::repo::Repo` API (Aleš Matěj) - Remove deprecated members from `/include/libdnf5/logger/factory.hpp` (Aleš Matěj) - Remove deprecated unused function `create_forcearch_option()` (Aleš Matěj) - builddep: Don't escape globs, use expand_globs = false (Evan Goode) - builddep: Don't try to expand globs in pkg specs (Evan Goode) - libdnf5-cli::output: Use ifaces instead templates. Move code to .cpp files (Jaroslav Rohel) - Interfaces and adapters (Jaroslav Rohel) - module::ModuleStatus: Move to separate header file (Jaroslav Rohel) - comps::PackageType: Move to separate header file (Jaroslav Rohel) - cmp_naevr: Fix: pass by reference (Jaroslav Rohel) - modules: Report module solver problems (Pavla Kratochvilova) - Accept SolverProblems for transacion resolve log (Pavla Kratochvilova) - modules: Return problems from the module solver (Pavla Kratochvilova) - modules: Add a method to process module solver problems (Pavla Kratochvilova) - modules: Add a separate set of problem rules for modules (Pavla Kratochvilova) - modules: Store the original module context also in the libsolv solvable (Pavla Kratochvilova) - modules: Internalize modular repositories (Pavla Kratochvilova) - Add pImpl to `libdnf5::repo::RepoCache` and `RepoCacheRemoveStatistics` (Aleš Matěj) - Add pImpl to `libdnf5::repo::RepoQuery` (Aleš Matěj) - Hide deprecated `libdnf5::base::with_config_file_path` into Impl (Aleš Matěj) - Remove deprecated `libdnf5::Base::load_config_from_file` (Aleš Matěj) - Move all `libdnf5::Base` members to pImpl (Aleš Matěj) - Add pImpl to `libdnf5::rpm::Reldep` (Aleš Matěj) - Add pImpl to `libdnf5::rpm::Changelog` (Aleš Matěj) - Add pImpl to `libdnf5::rpm::Nevra` (Aleš Matěj) - Add pImpl to `libdnf5::rpm::Checksum` (Aleš Matěj) - Add pImpl to `libdnf5::rpm::Package` (Aleš Matěj) - Adjust code to new rpm::PackageQuery::filter_* methods after the rebase (Jan Kolarik) - Add a method accepting std::string for filter_repo_id() (Jaroslav Mracek) - Add a method accepting std::string for filter_location() (Jaroslav Mracek) - Add a method accepting std::string for filter_file() (Jaroslav Mracek) - Add a method accepting std::string for filter_supplements() (Jaroslav Mracek) - Add a method accepting std::string for filter_enhances() (Jaroslav Mracek) - Add a method accepting std::string for filter_suggests() (Jaroslav Mracek) - Add a method accepting std::string for filter_recommends() (Jaroslav Mracek) - Add a method accepting std::string for filter_obsoletes() (Jaroslav Mracek) - Add a method accepting std::string for filter_conflicts() (Jaroslav Mracek) - Add a method accepting std::string for filter_requires() (Jaroslav Mracek) - Add a method accepting std::string for filter_description() (Jaroslav Mracek) - Add a method accepting std::string for filter_summary() (Jaroslav Mracek) - Add a method accepting std::string for filter_url() (Jaroslav Mracek) - Add a method accepting std::string for filter_sourcerpm() (Jaroslav Mracek) - Add a method accepting std::string for filter_nevra() (Jaroslav Mracek) - Add a method accepting std::string for filter_evr() (Jaroslav Mracek) - Add a method accepting std::string for filter_arch() (Jaroslav Mracek) - Add a method accepting std::string for filter_release() (Jaroslav Mracek) - Add a method accepting std::string for filter_version() (Jaroslav Mracek) - Add a method accepting std::string and int for filter_epoch() (Jaroslav Mracek) - Add a method accepting std::string for filter_name() (Jaroslav Mracek) - Add a method accepting std::string for filter_provides() (Jaroslav Mracek) - Extend version to four numbers (5.x.y.z) (Aleš Matěj) - Unify smallest version number name (Aleš Matěj) - cmake: rename PROJECT_VERSION_* to just VERSION_* (Aleš Matěj) - dnf5daemon: Document before_begin / after_complete signals (Marek Blaha) - dnf5daemon: Signals to wrap rpm transaction execution (Marek Blaha) - rpm: New callback to wrap whole rpm transaction (Marek Blaha) - Add pImpl to `libdnf5::module::ModuleProfile` (Aleš Matěj) - Add pImpl to `libdnf5::module::ModuleDependency` (Aleš Matěj) - Add pImpl to `libdnf5::module::Nsvcap` (Aleš Matěj) - Add pImpl to `libdnf5::module::ModuleQuery` (Aleš Matěj) - Add pImpl to `libdnf5::comps::EnvironmentQuery` (Aleš Matěj) - Add pImpl to `libdnf5::comps::GroupQuery` (Aleš Matěj) - Add pImpl to `libdnf5::comps::Environment` (Aleš Matěj) - Add pImpl to `libdnf5::comps::Package` (Aleš Matěj) - Add pImpl to `libdnf5::comps::Group` (Aleš Matěj) - Remove unused `libdnf5::comps::GroupSack` (Aleš Matěj) - Remove unused `libdnf5::comps::EnvironmentSack` (Aleš Matěj) - Remove unused `libdnf5::comps::Comps` (Aleš Matěj) - Add pImpl to `libdnf5::advisory::Advisory` (Aleš Matěj) - Add pImpl to `libdnf5::advisory::AdvisoryReference` (Aleš Matěj) - Add pImpl to `libdnf5::advisory::AdvisoryCollection` (Aleš Matěj) - Add pImpl to `libdnf5::advisory::AdvisoryQuery` (Aleš Matěj) - Add pImpl to `libdnf5::rpm::RpmSignature` (Aleš Matěj) - Add pImpl to `libdnf5::transaction::Transaction` (Aleš Matěj) - Add pImpl to `libdnf5::rpm::KeyInfo` (Aleš Matěj) - Add pImpl to `libdnf5::repo::RepoSack` (Aleš Matěj) - Add pImpl to `libdnf5::base::SolverProblems` (Aleš Matěj) - Add pImpl to `libdnf5::base::LogEvent` (Aleš Matěj) - Add pImpl to `libdnf5::ConfigParser` (Aleš Matěj) - Add pImpl to `libdnf5::Vars` (Aleš Matěj) - Add pImpl to `libdnf5::transaction::TransactionHistory` (Aleš Matěj) - Add pImpl to `libdnf5::transaction::Package` (Aleš Matěj) - Add pImpl to `libdnf5::transaction::CompsGroup` (Aleš Matěj) - Add pImpl to `libdnf5::transaction::CompsEnvironment` (Aleš Matěj) - Add pImpl to `libdnf5::transaction::TransactionItem` (Aleš Matěj) - Remove several not needed imports (Aleš Matěj) - repo: add p_Impl and several needed utility methods (Aleš Matěj) - Repo: remove unused `fresh()` and `timestamp` attribute (Aleš Matěj) - Add pImpl to `ModuleItem` and remove definitions from header (Aleš Matěj) - Add pImpl to `libdnf5::base::transaction_*` classes (Aleš Matěj) - Add p_impl to libdnf5::GoalJobSettings and add getters and setters (Aleš Matěj) - Add p_impl to libdnf5::ResolveSpecSettings and add getters and setters (Aleš Matěj) - dnf5: bash completion: Prefer using "_comp_initialize" with fallback (Jaroslav Rohel) - dnf5: Bash completion: Switch to `_init_completion` (Jaroslav Rohel) - Fix `DISTRO_SYNC_ALL` (distro-sync without arguments, system upgrade) (Aleš Matěj) - Support RPMTRANS_FLAG_DEPLOOPS (Orion Poplawski) - Give inline methods hidden visibility by default (Jaroslav Rohel) - dnfdaemon: Make only internally used funcs static (Marek Blaha) - dnfdaemon: Enhance Rpm.list() / Rpm.list_fd() documentation (Marek Blaha) - doc: Add example of Rpm.list_fd usage in Python (Marek Blaha) - dnf5daemon-client: Repoquery uses new Rpm:list_fd() API (Marek Blaha) - dnfdaemon: New method list_fd() on Rpm interface (Marek Blaha) - dnfdaemon: Serialize package object to JSON string (Marek Blaha) - dnf5daemon: Handler that return data using UNIX_FD (Marek Blaha) - dnf5daemon: Auxiliary method to write string to fd (Marek Blaha) - dnf5daemon: Move utils functions into dnfdaemon namespace (Marek Blaha) - dnf5daemon: get_session() method for D-Bus services (Marek Blaha) - dnf5daemon-server: Ignore SIGPIPE (Marek Blaha) - Vars: Add unit tests for API methods (Jaroslav Rohel) - Vars::unset: API method for removing variable (Jaroslav Rohel) - dnf5daemon-server/dbus: Install config files into /usr (Neal Gompa) - Fix: libdnf5-cli::output::action_color: Move implementation to .cpp file (Jaroslav Rohel) - Fix: Do not use Variable-length arrays (VLAs) in C++ code (Jaroslav Rohel) - Add a hint to call base.setup() prior loading repositories (Jaroslav Mracek) - dnf5daemon-client: New switches for group list (Marek Blaha) - doc: Include comps.Group interface to D-Bus API documentatin (Marek Blaha) - dnfdaemon: Enhance comps.Group.list() method (Marek Blaha) - dnf5daemon-client: Fix group.get_installed() (Marek Blaha) - man: Link dnf5 pages to dnf (Jan Kolarik) * Wed Apr 03 2024 Packit Team - 5.1.17-1 - New upstream release 5.1.17 * Tue Apr 02 2024 Packit Team - 5.1.16-1 - New upstream release 5.1.16 * Fri Mar 15 2024 Packit Team - 5.1.15-1 - New upstream release 5.1.15 * Fri Mar 01 2024 Packit Team - 5.1.14-1 - New upstream release 5.1.14 * Tue Feb 20 2024 Packit Team - 5.1.13-1 - New upstream release 5.1.13 * Fri Feb 09 2024 Packit Team - 5.1.12-1 - New upstream release 5.1.12 * Thu Jan 11 2024 Packit Team - 5.1.11-1 - New upstream release 5.1.11 * Tue Jan 02 2024 Packit Team - 5.1.10-1 - New upstream release 5.1.10 * Fri Dec 08 2023 Packit Team - 5.1.9-1 - New upstream release 5.1.9 * Fri Nov 24 2023 Packit Team - 5.1.8-1 - New upstream release 5.1.8 * Thu Nov 09 2023 Packit Team - 5.1.7-1 - New upstream release 5.1.7 * Thu Oct 26 2023 Packit Team - 5.1.6-1 - New upstream release 5.1.6 * Thu Oct 05 2023 Packit Team - 5.1.5-1 - New upstream release 5.1.5 * Mon Sep 18 2023 Packit Team - 5.1.4-1 - New upstream release 5.1.4 * Tue Sep 12 2023 Packit Team - 5.1.3-1 - New upstream release 5.1.3 * Wed Aug 16 2023 Packit Team - 5.1.2-1 - New upstream release 5.1.2 * Fri Aug 04 2023 Packit Team - 5.1.1-1 - New upstream release 5.1.1 * Mon Jul 17 2023 Packit Team - 5.1.0-1 - New upstream release 5.1.0 * Thu Jun 29 2023 Packit Team - 5.0.15-1 - New upstream release 5.0.15 * Wed Jun 14 2023 Packit Team - 5.0.14-1 - New upstream release 5.0.14 * Mon May 29 2023 Packit Team - 5.0.13-1 - New upstream release 5.0.13 * Thu May 25 2023 Packit Team - 5.0.12-1 - New upstream release 5.0.12 * Thu May 18 2023 Packit Team - 5.0.11-1 - New upstream release 5.0.11 * Tue May 09 2023 Packit Team - 5.0.10-1 - New upstream release 5.0.10 * Tue Apr 18 2023 Nicola Sella - 5.0.9-1 - New upstream release 5.0.9 * Thu Apr 13 2023 Nicola Sella - 5.0.8-1 - New upstream release 5.0.8 * Wed Mar 8 2023 Nicola Sella - 5.0.7-1 - New upstream release 5.0.7 * Tue Feb 14 2023 Nicola Sella - 5.0.6-1 - New upstream release 5.0.6 * Thu Jan 26 2023 Nicola Sella - 5.0.5-1 - New upstream release 5.0.5 * Thu Jan 12 2023 Nicola Sella - 5.0.4-1 - New upstream release 5.0.4 * Wed Jan 04 2023 Nicola Sella - 5.0.3-1 - New upstream release 5.0.3 * Thu Dec 08 2022 Nicola Sella - 5.0.2-1 - New upstream release 5.0.2 * Thu Nov 24 2022 Nicola Sella - 5.0.1-1 - New upstream release 5.0.1 * Wed Nov 2 2022 Nicola Sella - 5.0.0-2~pre - New upstream pre release 5.0.0 * Mon Oct 31 2022 Nicola Sella - 5.0.0-1~pre - New upstream pre release 5.0.0 * Fri Sep 16 2022 Nicola Sella - - 5.0.0-0~pre - New upstream pre release 5.0.0