Bug 1639467
| Summary: | dnf-plugins-core dropped dnf-utils without adding an Obsoletes | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Stephen Gallagher <sgallagh> |
| Component: | dnf-plugins-core | Assignee: | rpm-software-management |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 29 | CC: | besser82, cleaver-redhat, dmach, fzatlouk, gmarr, jmracek, kparal, nerijus, ngompa13, packaging-team-maint, rpm-software-management, vmukhame |
| Target Milestone: | --- | Keywords: | Triaged |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | dnf-plugins-core-4.0.0-2.fc29 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-10-22 16:13:34 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Stephen Gallagher
2018-10-15 19:21:53 UTC
We're completely missing all the binaries provided by dnf-utils, which is problematic for tooling/integration stuff. It looks like this change was brought on by the reworking of the bconds upstream to make dnf-utils only available when yum-utils was being obsoleted. This is the wrong behavior, and makes it so dnf-utils doesn't exist at all in F29. yum-utils already suffixes its man pages and binaries with -deprecated so that both can live in parallel. For F29, we just need dnf-utils restored without the yum-utils Obsoletes+Provides statements. This is real issue The fix is trivial. See patch below. If there are no objections, I'll apply the patch to dist-git (master, fc29 branches), trigger builds and edit the update. Scratch build (fc29): https://koji.fedoraproject.org/koji/taskinfo?taskID=30287471 *** commit 2fbfd42b91fde585b2b568ecfa0bd6b22165d774 (HEAD -> master) Author: Björn Esser <besser82> Date: Wed Oct 17 13:29:12 2018 +0200 Fix dnf-utils package being dropped for Fedora 29 (RhBug:1639467) diff --git a/dnf-plugins-core.spec b/dnf-plugins-core.spec index ee1b377..3f53225 100644 --- a/dnf-plugins-core.spec +++ b/dnf-plugins-core.spec @@ -13,12 +13,16 @@ %bcond_without yumcompatibility %else %bcond_without python2 +%if 0%{?fedora} >= 29 +%bcond_without yumcompatibility +%else %bcond_with yumcompatibility %endif +%endif Name: dnf-plugins-core Version: 4.0.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Core Plugins for DNF License: GPLv2+ URL: https://github.com/rpm-software-management/dnf-plugins-core @@ -139,7 +143,7 @@ reposync commands. Additionally provides generate_completion_cache passive plugi %if %{with yumcompatibility} %package -n dnf-utils -Conflicts: yum-utils < 1.1.31-513 +Conflicts: yum-utils < 1.1.31-518 %if 0%{?rhel} != 7 Provides: yum-utils = %{version}-%{release} %endif @@ -643,6 +647,9 @@ PYTHONPATH=./plugins nosetests-%{python3_version} -s tests/ %endif %changelog +* Wed Oct 17 2018 Björn Esser <besser82> - 4.0.0-2 +- Fix dnf-utils package being dropped for Fedora 29 (RhBug:1639467) + * Mon Oct 15 2018 Jaroslav Mracek <jmracek> - 4.0.0-1 - Update to 4.0.0 - Enhance documentation Here is a patch (https://github.com/rpm-software-management/dnf-plugins-core/pull/298). After merge I will release it immediately. Here is a build (https://koji.fedoraproject.org/koji/taskinfo?taskID=30287543) and I am going to update a bodhi update. This patch is needed for yum-utils to prevent clashes with dnf-utils:
***
commit a1c76d6394e1464cb21c65ad065598c234214b95
Author: Björn Esser <besser82>
Date: Wed Oct 17 14:20:27 2018 +0200
Add deprectated suffix to binaries and manpages to prevent clashes
on Fedora >= 29
diff --git a/yum-utils.spec b/yum-utils.spec
index 37d2d5c..be4b601 100644
--- a/yum-utils.spec
+++ b/yum-utils.spec
@@ -7,10 +7,16 @@
%{!?python_sitelib: %define python_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%define pluginhome /usr/lib/yum-plugins
+%if 0%{?fedora} >= 29
+%global prg_suffix -deprecated
+%endif
+
+%global __python %{__python2}
+
Summary: Utilities based around the yum package manager
Name: yum-utils
Version: 1.1.31
-Release: 517%{?dist}
+Release: 518%{?dist}
License: GPLv2+
Group: Development/Tools
Source: http://yum.baseurl.org/download/yum-utils/%{name}-%{version}.tar.gz
@@ -435,6 +441,19 @@ install -m 644 versionlock/versionlock.list $RPM_BUILD_ROOT/%{_sysconfdir}/yum/p
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/yum.repos.d
touch $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/_local.repo
+# add suffix to prevent clashes on Fedora >= 29.
+%if 0%{?prg_suffix:1}
+for f in $RPM_BUILD_ROOT%{_bindir}/*; do
+ mv -f $f $f%{prg_suffix}
+done
+for f in $RPM_BUILD_ROOT%{_mandir}/man1/*; do
+ mv -f $f $(echo $f | sed -e 's!\.1$!%{prg_suffix}.1!g')
+done
+%endif
+
+# use explicit python2 shebang.
+grep -Rl '#!.*/usr/bin/python' $RPM_BUILD_ROOT | \
+xargs sed -i -e 's~#!.*/usr/bin/python~#!%{__python2}~g'
%check
# To execute: ./test/test-all
@@ -446,60 +465,60 @@ touch $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/_local.repo
%doc COPYING
%doc plugins/README
%{_sysconfdir}/bash_completion.d
-%{_bindir}/debuginfo-install
-%{_bindir}/find-repos-of-install
-%{_bindir}/needs-restarting
-%{_bindir}/package-cleanup
-%{_bindir}/repoclosure
-%{_bindir}/repodiff
-%{_bindir}/repomanage
-%{_bindir}/repoquery
-%{_bindir}/repotrack
-%{_bindir}/reposync
-%{_bindir}/repo-graph
-%{_bindir}/repo-rss
-%{_bindir}/verifytree
-%{_bindir}/yumdownloader
-%{_bindir}/yum-builddep
-%{_bindir}/yum-config-manager
-%{_bindir}/yum-debug-dump
-%{_bindir}/yum-debug-restore
-%{_bindir}/yum-groups-manager
-%{_bindir}/show-installed
-%{_bindir}/show-changed-rco
+%{_bindir}/debuginfo-install%{?prg_suffix}
+%{_bindir}/find-repos-of-install%{?prg_suffix}
+%{_bindir}/needs-restarting%{?prg_suffix}
+%{_bindir}/package-cleanup%{?prg_suffix}
+%{_bindir}/repoclosure%{?prg_suffix}
+%{_bindir}/repodiff%{?prg_suffix}
+%{_bindir}/repomanage%{?prg_suffix}
+%{_bindir}/repoquery%{?prg_suffix}
+%{_bindir}/repotrack%{?prg_suffix}
+%{_bindir}/reposync%{?prg_suffix}
+%{_bindir}/repo-graph%{?prg_suffix}
+%{_bindir}/repo-rss%{?prg_suffix}
+%{_bindir}/verifytree%{?prg_suffix}
+%{_bindir}/yumdownloader%{?prg_suffix}
+%{_bindir}/yum-builddep%{?prg_suffix}
+%{_bindir}/yum-config-manager%{?prg_suffix}
+%{_bindir}/yum-debug-dump%{?prg_suffix}
+%{_bindir}/yum-debug-restore%{?prg_suffix}
+%{_bindir}/yum-groups-manager%{?prg_suffix}
+%{_bindir}/show-installed%{?prg_suffix}
+%{_bindir}/show-changed-rco%{?prg_suffix}
%{_sbindir}/yum-complete-transaction
%{_sbindir}/yumdb
%{python2_sitelib}/yumutils/
-%{_mandir}/man1/yum-utils.1.*
-%{_mandir}/man1/debuginfo-install.1.*
-%{_mandir}/man1/package-cleanup.1.*
-%{_mandir}/man1/repo-rss.1.*
-%{_mandir}/man1/repoquery.1.*
-%{_mandir}/man1/repodiff.1.*
-%{_mandir}/man1/reposync.1.*
-%{_mandir}/man1/show-changed-rco.1.*
-%{_mandir}/man1/show-installed.1.*
-%{_mandir}/man1/yum-builddep.1.*
-%{_mandir}/man1/yum-debug-dump.1.*
-%{_mandir}/man1/yum-debug-restore.1.*
+%{_mandir}/man1/yum-utils%{?prg_suffix}.1.*
+%{_mandir}/man1/debuginfo-install%{?prg_suffix}.1.*
+%{_mandir}/man1/package-cleanup%{?prg_suffix}.1.*
+%{_mandir}/man1/repo-rss%{?prg_suffix}.1.*
+%{_mandir}/man1/repoquery%{?prg_suffix}.1.*
+%{_mandir}/man1/repodiff%{?prg_suffix}.1.*
+%{_mandir}/man1/reposync%{?prg_suffix}.1.*
+%{_mandir}/man1/show-changed-rco%{?prg_suffix}.1.*
+%{_mandir}/man1/show-installed%{?prg_suffix}.1.*
+%{_mandir}/man1/yum-builddep%{?prg_suffix}.1.*
+%{_mandir}/man1/yum-debug-dump%{?prg_suffix}.1.*
+%{_mandir}/man1/yum-debug-restore%{?prg_suffix}.1.*
%{_mandir}/man8/yum-complete-transaction.8.*
-%{_mandir}/man1/yum-groups-manager.1.*
+%{_mandir}/man1/yum-groups-manager%{?prg_suffix}.1.*
%{_mandir}/man8/yumdb.8.*
-%{_mandir}/man1/yumdownloader.1.*
-%{_mandir}/man1/find-repos-of-install.1.*
-%{_mandir}/man1/needs-restarting.1.*
-%{_mandir}/man1/repo-graph.1.*
-%{_mandir}/man1/repoclosure.1.*
-%{_mandir}/man1/repomanage.1.*
-%{_mandir}/man1/repotrack.1.*
-%{_mandir}/man1/verifytree.1.*
-%{_mandir}/man1/yum-config-manager.1.*
+%{_mandir}/man1/yumdownloader%{?prg_suffix}.1.*
+%{_mandir}/man1/find-repos-of-install%{?prg_suffix}.1.*
+%{_mandir}/man1/needs-restarting%{?prg_suffix}.1.*
+%{_mandir}/man1/repo-graph%{?prg_suffix}.1.*
+%{_mandir}/man1/repoclosure%{?prg_suffix}.1.*
+%{_mandir}/man1/repomanage%{?prg_suffix}.1.*
+%{_mandir}/man1/repotrack%{?prg_suffix}.1.*
+%{_mandir}/man1/verifytree%{?prg_suffix}.1.*
+%{_mandir}/man1/yum-config-manager%{?prg_suffix}.1.*
%files -n yum-plugin-changelog
%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/changelog.conf
%doc COPYING
%{pluginhome}/changelog.*
-%{_mandir}/man1/yum-changelog.1.*
+%{_mandir}/man1/yum-changelog%{?prg_suffix}.1.*
%{_mandir}/man5/yum-changelog.conf.5.*
%files -n yum-plugin-fastestmirror
@@ -517,7 +536,7 @@ touch $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/_local.repo
%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/versionlock.conf
%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/versionlock.list
%{pluginhome}/versionlock.*
-%{_mandir}/man1/yum-versionlock.1.*
+%{_mandir}/man1/yum-versionlock%{?prg_suffix}.1.*
%{_mandir}/man5/yum-versionlock.conf.5.*
%files -n yum-plugin-tsflags
@@ -552,19 +571,19 @@ touch $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/_local.repo
%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/aliases.conf
%config(noreplace) %{_sysconfdir}/yum/aliases.conf
%{pluginhome}/aliases.*
-%{_mandir}/man1/yum-aliases.1.*
+%{_mandir}/man1/yum-aliases%{?prg_suffix}.1.*
%files -n yum-plugin-list-data
%doc COPYING
%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/list-data.conf
%{pluginhome}/list-data.*
-%{_mandir}/man1/yum-list-data.1.*
+%{_mandir}/man1/yum-list-data%{?prg_suffix}.1.*
%files -n yum-plugin-filter-data
%doc COPYING
%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/filter-data.conf
%{pluginhome}/filter-data.*
-%{_mandir}/man1/yum-filter-data.1.*
+%{_mandir}/man1/yum-filter-data%{?prg_suffix}.1.*
%files -n yum-plugin-tmprepo
%doc COPYING
@@ -575,7 +594,7 @@ touch $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/_local.repo
%doc COPYING
%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/verify.conf
%{pluginhome}/verify.*
-%{_mandir}/man1/yum-verify.1.*
+%{_mandir}/man1/yum-verify%{?prg_suffix}.1.*
%files -n yum-plugin-keys
%doc COPYING
@@ -624,7 +643,7 @@ touch $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/_local.repo
%doc COPYING
%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/fs-snapshot.conf
%{pluginhome}/fs-snapshot.*
-%{_mandir}/man1/yum-fs-snapshot.1.*
+%{_mandir}/man1/yum-fs-snapshot%{?prg_suffix}.1.*
%{_mandir}/man5/yum-fs-snapshot.conf.5.*
%files -n yum-plugin-ps
@@ -649,6 +668,10 @@ touch $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/_local.repo
%{pluginhome}/ovl.*
%changelog
+* Wed Oct 17 2018 Björn Esser <besser82> - 1.1.31-518
+- Add deprectated suffix to binaries and manpages to prevent clashes
+ on Fedora >= 29
+
* Fri Aug 31 2018 Michal Domonkos <mdomonko> - 1.1.31-517
- Use explicit python2 executable at build time
- reposync: prevent path traversal (CVE-2018-10897)
dnf-4.0.4-1.fc29 dnf-plugins-core-4.0.0-2.fc29 libdnf-0.22.0-2.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-2789f6b6e7 dnf-4.0.4-1.fc29 dnf-plugins-core-4.0.0-2.fc29 libdnf-0.22.0-2.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-2789f6b6e7 dnf-4.0.4-1.fc29, dnf-plugins-core-4.0.0-2.fc29, libdnf-0.22.0-2.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-2789f6b6e7 anaconda-29.24.6-1.fc29 dnf-4.0.4-1.fc29 dnf-plugins-core-4.0.0-2.fc29 libblockdev-2.20-2.fc29 libdnf-0.22.0-2.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-2789f6b6e7 anaconda-29.24.7-1.fc29, dnf-4.0.4-1.fc29, dnf-plugins-core-4.0.0-2.fc29, libblockdev-2.20-2.fc29, libdnf-0.22.0-5.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-2789f6b6e7 anaconda-29.24.7-1.fc29, dnf-4.0.4-1.fc29, dnf-plugins-core-4.0.0-2.fc29, libblockdev-2.20-2.fc29, libdnf-0.22.0-5.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report. I can't tell if this is the same root cause or not, but I'm receiving this on an F29 upgrade: * file /usr/share/man/man8/yum-copr.8.gz from install of dnf-utils-4.0.4-1.fc29.noarch conflicts with file from package yum-plugin-copr-1.1.31-518.fc29.noarch yum-plugin-copr was built from yum-utils, so possibly this was missed in dnf-utils? Source RPM : yum-utils-1.1.31-518.fc29.src.rpm |