Bug 2007799

Summary: python3-nest-asyncio conflicts with python3-nest_asyncio
Product: [Fedora] Fedora Reporter: George R. Goffe <grgoffe>
Component: python-nest-asyncioAssignee: Lumír Balhar <lbalhar>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: andymenderunix, cstratak, d.marceau, lbalhar, mhroncok, nonamedotc, python-maint, python-sig, thrnciar, torsava, vstinner
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: python-nest-asyncio-1.5.1-2.fc36 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-06 07:57:12 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 George R. Goffe 2021-09-24 22:25:07 UTC
Description of problem:
dnf  upgrade produced file ownership conflict messages which disallowed upgrade to proceed (see below)

Version-Release number of selected component (if applicable):
see below

How reproducible:
always

Steps to Reproduce:
1.dnf upgrade
2.
3.

Actual results:
see below

Expected results:


Additional info:

Error: Transaction test error:
  file /usr/lib/python3.10/site-packages/__pycache__/nest_asyncio.cpython-310.opt-1.pyc from install of python3-nest-asyncio-1.5.1-1.fc36.noarch conflicts with file from package python3-nest_asyncio-1.4.3-5.fc35.noarch
  file /usr/lib/python3.10/site-packages/__pycache__/nest_asyncio.cpython-310.pyc from install of python3-nest-asyncio-1.5.1-1.fc36.noarch conflicts with file from package python3-nest_asyncio-1.4.3-5.fc35.noarch
  file /usr/lib/python3.10/site-packages/nest_asyncio.py from install of python3-nest-asyncio-1.5.1-1.fc36.noarch conflicts with file from package python3-nest_asyncio-1.4.3-5.fc35.noarch

Comment 1 Miro Hrončok 2021-09-24 23:19:50 UTC
This is a conflict between python-nest-asyncio and python-nest_asyncio components. Apparently, we have introduced a package that already exited with a different name.

Comment 2 George R. Goffe 2021-09-25 17:16:39 UTC
Miro,

Thank you for your excellent analysis of this situation.... It's APPRECIATED.

I would like to add a step to the process of submitting (if that's the right word) a package upgrade. I see this kind of error more than I would choose. It seems to me that some sort of "check  the dependencies" (is that the right word?) process would be greatly beneficial. Do you agree?

Thanks,

George...

Comment 3 Miro Hrončok 2021-09-26 18:15:56 UTC
I am afraid it is not really that simple. This kind of error only happens when you have a certain package set installed :/

Comment 4 Lumír Balhar 2021-09-29 08:01:24 UTC
Ccing here the maintainer of python-nest_asyncio.

We can keep only one of those packages. Currently, it seems that it'd be better to keep python-nest-asyncio because it's newer and python3-jupyter-client requires python3.10dist(nest-asyncio) >= 1.5 which only the newer one satisfies.

Andy, what do you think?

This is caused by me because when I was working on python-nest-asyncio - new dependency of python-jupyter-client - I did not check the version with an underscore in the name. However, the two packages' provides partially overlaps so I believe we can find a way how to check this in fedora-review and prevent this from happening in the future.

Comment 5 Miro Hrončok 2021-09-29 08:36:25 UTC
BTW I did the review on python-nest-asyncio and I was sure fedora-review would find such conflict. Checking for that manually is tedious, but I'll try to do that next time.

Comment 6 Lumír Balhar 2021-10-01 09:08:26 UTC
*** Bug 2009432 has been marked as a duplicate of this bug. ***

Comment 7 Lumír Balhar 2021-10-01 10:49:06 UTC
I've found out that I've CC'ed the wrong person, the python-nest_asyncio has a different maintainer now.

Comment 8 Miro Hrončok 2021-10-01 11:54:08 UTC
BTW The best course of action I see is to:

- Retire python-nest_asyncio on rawhide only.
- Obsolete python3-nest_asyncio < 1.4.3-100 from python3-nest-asyncio
- (optional, but safer) Provide python3-nest_asyncio = %{?epoch:%{epoch}:}%{version}-%{release} from python3-nest-asyncio

Comment 9 Mukundan Ragavan 2021-10-05 10:04:19 UTC
(In reply to Miro Hrončok from comment #8)
> BTW The best course of action I see is to:
> 
> - Retire python-nest_asyncio on rawhide only.
> - Obsolete python3-nest_asyncio < 1.4.3-100 from python3-nest-asyncio
> - (optional, but safer) Provide python3-nest_asyncio =
> %{?epoch:%{epoch}:}%{version}-%{release} from python3-nest-asyncio

I am happy with this course of action. I can retire python-nest_asyncio.

Any objections?

Comment 10 Mukundan Ragavan 2021-10-05 10:13:26 UTC
$ dnf repoquery --releasever=rawhide --repo=fedora{,-source} --whatrequires python3-nest_asyncio

python-nbclient-0:0.5.4-1.fc36.src
python3-nbclient-0:0.5.4-1.fc36.noarch


Can we update nbclient with the new package as dep as well?

Comment 11 Lumír Balhar 2021-10-05 10:22:30 UTC
nbclient should be fine:

dnf repoquery --releasever=rawhide --repo=fedora{,-source} --requires python3-nbclient    
python(abi) = 3.10
python3.10dist(jupyter-client) >= 6.1.5
python3.10dist(nbformat) >= 5
python3.10dist(nest-asyncio)
python3.10dist(traitlets) >= 4.2
python3dist(async-generator)
python3dist(jupyter-client) >= 5.3.4
python3dist(nbformat) >= 5
python3dist(nest-asyncio)
python3dist(traitlets) >= 4.2

dnf repoquery --releasever=rawhide --repo=fedora{,-source} --provides python3-nest-asyncio
python-nest-asyncio = 1.5.1-1.fc36
python3-nest-asyncio = 1.5.1-1.fc36
python3.10-nest-asyncio = 1.5.1-1.fc36
python3.10dist(nest-asyncio) = 1.5.1
python3dist(nest-asyncio) = 1.5.1

Mukundan, please retire your package in rawhide and I'm gonna prepare a PR for the one we keep. Thank you.

Comment 12 Lumír Balhar 2021-10-05 10:29:30 UTC
PR for review: https://src.fedoraproject.org/rpms/python-nest-asyncio/pull-request/1

Comment 13 David Marceau 2021-10-05 13:17:38 UTC
Thank you.

By the way, that's also how I overcame the problem. I also removed the package python-nest-asyncio.
I did notice cutter-re depends on it somehow, but I removed it anyways.

Comment 14 Fedora Update System 2021-10-06 07:51:41 UTC
FEDORA-2021-0f6ae64afe has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2021-0f6ae64afe

Comment 15 Fedora Update System 2021-10-06 07:57:12 UTC
FEDORA-2021-0f6ae64afe has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.