Description of problem: I'm trying to upgrade fully updated F25 Workstation to F26. Whether using dnf system-upgrade or gnome-software, the upgrade fails during transaction check with these errors: Error: Transaction check error: file /usr/lib64/python2.7/bsddb/__init__.pyc from install of python2-libs-2.7.13-8.fc26.x86_64 conflicts with file from package python-libs-2.7.13-2.fc25.x86_64 file /usr/lib64/python2.7/compiler/__init__.pyc from install of python2-libs-2.7.13-8.fc26.x86_64 conflicts with file from package python-libs-2.7.13-2.fc25.x86_64 file /usr/lib64/python2.7/ctypes/__init__.pyc from install of python2-libs-2.7.13-8.fc26.x86_64 conflicts with file from package python-libs-2.7.13-2.fc25.x86_64 file /usr/lib64/python2.7/ctypes/macholib/__init__.pyc from install of python2-libs-2.7.13-8.fc26.x86_64 conflicts with file from package python-libs-2.7.13-2.fc25.x86_64 ... <etc, for all files inside python-libs> It seems that python-libs package is not properly obsoleted. Version-Release number of selected component (if applicable): python-libs-2.7.13-2.fc25.x86_64 python2-libs-2.7.13-8.fc26.x86_64 How reproducible: always Steps to Reproduce: 1. install F25 Workstation, fully update 2. follow https://fedoraproject.org/wiki/DNF_system_upgrade and try to upgrade to F26
Proposing as F26 Beta 0-Day Blocker: "For each one of the release-blocking package sets, it must be possible to successfully complete a direct upgrade from fully updated installations of the last two stable Fedora releases with that package set installed. " https://fedoraproject.org/wiki/Fedora_26_Beta_Release_Criteria#Upgrade_requirements
That shouldn't happen, and I think I actually tested the upgrade path before. Will retest it.
Actually I haven't noticed before, but this is my Fedora 26 machine after upgrading from Fedora 25: $ rpm -qa | grep python | grep fc25 python-2.7.13-2.fc25.x86_64 micropython-1.8-1.fc25.x86_64 python-tools-2.7.13-2.fc25.x86_64 python-libs-2.7.13-2.fc25.x86_64 python-devel-2.7.13-2.fc25.x86_64
Could this be a dnf problem? $ rpm -qp --obsoletes Downloads/python2-2.7.13-8.fc26.x86_64.rpm python < 2.7.13-2 [~]$ dnf repoquery --obsoletes python2-2.7.13-8.fc26.x86_64 python2-0:2.7.13-8.fc26.x86_64
From a Fedora 25 mock: # dnf repoquery --obsoletes python2-2.7.13-8.fc26.x86_64 --releasever 26 python < 2.7.13-2
Nevertheless I think the problem is it obsoletes "python < 2.7.13-2" while the thing in Fedora 25 is not < 2.7.13-2. Regardless of the guidelines, I think it should obsolete "python <= %{version}-%{release}" to fix this problem.
(In reply to Miro Hrončok from comment #4) > Could this be a dnf problem? > > > $ rpm -qp --obsoletes Downloads/python2-2.7.13-8.fc26.x86_64.rpm > python < 2.7.13-2 > > [~]$ dnf repoquery --obsoletes python2-2.7.13-8.fc26.x86_64 > python2-0:2.7.13-8.fc26.x86_64 Reported at bz1457368
(In reply to Charalampos Stratakis from comment #2) > That shouldn't happen, and I think I actually tested the upgrade path before. You've tested it when there was 2.7.13-1 in Fedora 25.
> 1. install F25 Workstation, fully update I was wrong here, python-libs is not a part of a default Workstation installation. Not part of a default Server installation either, but it's on F25 Server DVD, so when I checked all the addons in anaconda, it got installed. However, when I try to upgrade the package from the Server, I don't see a transaction failure. python-libs is not even mentioned in the upgrade log, and python2-libs rpm is not download. After upgrade, python-libs-2.7.13-2.fc25.x86_64 is still installed and not upgraded. I'm not clear why it behaves differently from what I initially saw on Workstation.
Fix ready, testing in mock.
(In reply to Kamil Páral from comment #9) > > 1. install F25 Workstation, fully update > > I was wrong here, python-libs is not a part of a default Workstation > installation. Not part of a default Server installation either, but it's on > F25 Server DVD, so when I checked all the addons in anaconda, it got > installed. > > However, when I try to upgrade the package from the Server, I don't see a > transaction failure. python-libs is not even mentioned in the upgrade log, > and python2-libs rpm is not download. After upgrade, > python-libs-2.7.13-2.fc25.x86_64 is still installed and not upgraded. > > I'm not clear why it behaves differently from what I initially saw on > Workstation. That is consistent with my machine. Later when you try to dnf install python2, it will fail with the file conflicts.
Rawhide https://koji.fedoraproject.org/koji/taskinfo?taskID=19794348 F26 https://koji.fedoraproject.org/koji/taskinfo?taskID=19794945 Waiting for slow arches, but x86_46 works for me: $ LANG=C.utf8 dnf install python2*2.7.13-10.fc26*rpm Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: python2 x86_64 2.7.13-10.fc26 @commandline 97 k replacing python.x86_64 2.7.13-2.fc25 python2-devel x86_64 2.7.13-10.fc26 @commandline 408 k replacing python-devel.x86_64 2.7.13-2.fc25 python2-libs x86_64 2.7.13-10.fc26 @commandline 6.3 M replacing python-libs.x86_64 2.7.13-2.fc25 python2-tkinter x86_64 2.7.13-10.fc26 @commandline 396 k replacing tkinter.x86_64 2.7.13-2.fc25 python2-tools x86_64 2.7.13-10.fc26 @commandline 847 k replacing python-tools.x86_64 2.7.13-2.fc25 Transaction Summary ================================================================================ Install 5 Packages Total size: 8.0 M Installed size: 30 M Is this ok [y/N]: y Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : python2-libs-2.7.13-10.fc26.x86_64 1/10 Running scriptlet: python2-libs-2.7.13-10.fc26.x86_64 1/10 Installing : python2-2.7.13-10.fc26.x86_64 2/10 Installing : python2-tkinter-2.7.13-10.fc26.x86_64 3/10 Installing : python2-tools-2.7.13-10.fc26.x86_64 4/10 Installing : python2-devel-2.7.13-10.fc26.x86_64 5/10 Obsoleting : python-devel-2.7.13-2.fc25.x86_64 6/10 Obsoleting : python-tools-2.7.13-2.fc25.x86_64 7/10 Obsoleting : tkinter-2.7.13-2.fc25.x86_64 8/10 Obsoleting : python-2.7.13-2.fc25.x86_64 9/10 Obsoleting : python-libs-2.7.13-2.fc25.x86_64 10/10 Running scriptlet: python-libs-2.7.13-2.fc25.x86_64 10/10 Verifying : python2-devel-2.7.13-10.fc26.x86_64 1/10 Verifying : python2-libs-2.7.13-10.fc26.x86_64 2/10 Verifying : python2-tkinter-2.7.13-10.fc26.x86_64 3/10 Verifying : python2-tools-2.7.13-10.fc26.x86_64 4/10 Verifying : python2-2.7.13-10.fc26.x86_64 5/10 Verifying : tkinter-2.7.13-2.fc25.x86_64 6/10 Verifying : python-devel-2.7.13-2.fc25.x86_64 7/10 Verifying : python-2.7.13-2.fc25.x86_64 8/10 Verifying : python-libs-2.7.13-2.fc25.x86_64 9/10 Verifying : python-tools-2.7.13-2.fc25.x86_64 10/10 Installed: python2.x86_64 2.7.13-10.fc26 python2-devel.x86_64 2.7.13-10.fc26 python2-libs.x86_64 2.7.13-10.fc26 python2-tkinter.x86_64 2.7.13-10.fc26 python2-tools.x86_64 2.7.13-10.fc26 Complete!
We're interpreting the package set criterion quite strictly (we rejected the FreeIPA upgrade issue because of it), so on that basis I'm -1 to this, if none of the blocking package sets actually includes it.
Rawhide build failed on s390x :( will investigate.
(In reply to Adam Williamson from comment #13) > We're interpreting the package set criterion quite strictly (we rejected the > FreeIPA upgrade issue because of it), so on that basis I'm -1 to this, if > none of the blocking package sets actually includes it. I'm not sure how we interpret a blocking package set. Server DVD includes it, so it's part of it. But it doesn't install it by default, unless you request to install one of the available "addons" in anaconda (I didn't bother to figure out which one(s)).
(In reply to Kamil Páral from comment #15) > (In reply to Adam Williamson from comment #13) > > We're interpreting the package set criterion quite strictly (we rejected the > > FreeIPA upgrade issue because of it), so on that basis I'm -1 to this, if > > none of the blocking package sets actually includes it. > > I'm not sure how we interpret a blocking package set. Server DVD includes > it, so it's part of it. But it doesn't install it by default, unless you > request to install one of the available "addons" in anaconda (I didn't > bother to figure out which one(s)). Is it possible to figure that out, in order to determine if we can eliminate the python2 dependency from there as well?
(In reply to Charalampos Stratakis from comment #16) > Is it possible to figure that out, in order to determine if we can eliminate > the python2 dependency from there as well? I'm talking about F25 Server DVD. I don't think it matters what addon depends on it, the important fact is that at least one does. All of this is relevant only for our blocker discussion, the python spec fix we need is to just provide correct obsoletes, that's it :)
Second build passed. Magic. Rawhide https://koji.fedoraproject.org/koji/taskinfo?taskID=19798533
python2-2.7.13-10.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-a25eb36de1
(In reply to Kamil Páral from comment #17) > (In reply to Charalampos Stratakis from comment #16) > > Is it possible to figure that out, in order to determine if we can eliminate > > the python2 dependency from there as well? > > I'm talking about F25 Server DVD. I don't think it matters what addon > depends on it, the important fact is that at least one does. All of this is > relevant only for our blocker discussion, the python spec fix we need is to > just provide correct obsoletes, that's it :) It might not be relevant for the blocker discussion however, it does matter from the Python's SIG POV as we there was an effort to have Python 3 as the default python interpreter. So if there is actually 1 package (or maybe its dependencies) that can be ported and then the Server DVD will not drag the python2 interpreter that is a good step towards that effort.
It's Samba. It's being worked on, but it'll still take some time to move it off Python 2.
I'm also -1 to blocking Beta compose on this issue. It's problematic only on upgrades, so even if we don't get the fixed Obsoletes: onto the disk, it shouldn't matter (we don't support upgrading via install media). I'm +1 to a 0day blocker since it will cause issues on upgrade. I think in that case it violates the criterion "The upgraded system must include all packages that would be present on the system after a default installation from install media, plus any packages the user previously had (minus any obsolete content)." Since the apparent behavior here is that dnf is choosing to retain the F25 packages rather than upgrade to the F26 python2 packages.
Kamil: it seems like you're right, and we've never strictly defined the term, unless I can't find the definition! But I've always understood it to mean "the default package sets on the release blocking images", not "all packages included on a release blocking image". This seems consistent with the decision made about the FreeIPA upgrade bug - if we were treating upgrade issues in any package available from the Server DVD as blocking, that bug should've been accepted.
I've pushed similar fix to python2-docs (F26 and Rawhide). But I haven't built it, because no newer version is yet in F25 or F24 and it will only get bumped there if Python 2.7.14 ever happens and in that case it will be built in F26 and Rawhide as well. http://pkgs.fedoraproject.org/cgit/rpms/python2-docs.git/commit/?id=c51ea59c05bb58a7b7826003817e8469df5a1a01
Discussed at 2017-06-01 Fedora 26 Beta Go/No-Go meeting #2, acting as a blocker review meeting: https://meetbot-raw.fedoraproject.org/fedora-meeting-2/2017-06-01/f26-beta-go-no-go-meeting.2017-06-01-17.00.log.html . Rejected as a blocker on the basis that we consider 'release blocking package sets' to include only the *default* package sets installed by release blocking images, and present information is that none of these are affected by the bug. However, accepted as a freeze exception issue as it would be good to push the fix for this stable ASAP so folks who *do* have the affected packages installed can upgrade cleanly.
python2-2.7.13-10.fc26 has been pushed to the Fedora 26 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-2017-a25eb36de1
Kamil, could you test upgrading Fedora 25 with python2 installed to Fedora 26 with testing enabled to see if those packages get updated?
It's working now.
python2-2.7.13-10.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.