Bug 1738068

Summary: notify-python depends on Python 2
Product: [Fedora] Fedora Reporter: Lumír Balhar <lbalhar>
Component: notify-pythonAssignee: Orphan Owner <extras-orphan>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ngompa13, stickster
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-06 16:34:19 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:
Bug Depends On:    
Bug Blocks: 1698500    

Description Lumír Balhar 2019-08-06 12:48:19 UTC
Python 2.7 will reach end-of-life in January 2020, over 9 years after it was released. This falls within the Fedora 31 lifetime.
Packages that depend on Python 2 are being switched to Python 3 or removed from Fedora: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages
Python 2 will be retired in Fedora 32: https://fedoraproject.org/wiki/Changes/RetirePython2

To help planning, we'd like to know the plans for notify-python's future. Specifically:


- What is the reason for the Python2 dependency? (Is it software written in Python, or does it just provide Python bindings, or use Python in the build system or test runner?) 

- What are the upstream/community plans/timelines regarding Python 3?

- What is the guidance for porting to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?)


This bug is filed semi-automatically, and might not have all the context specific to notify-python.
If you need anything from us, or something is unclear, please mention it here.

Thank you.

Comment 1 Ben Cotton 2019-08-13 17:00:30 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to '31'.

Comment 2 Ben Cotton 2019-08-13 17:44:44 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to 31.

Comment 3 Lumír Balhar 2019-08-14 09:01:48 UTC
Please answer the above questions. If you don't the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, please let us know.

Comment 4 Lumír Balhar 2019-08-21 13:28:46 UTC
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 5 Lumír Balhar 2019-08-29 05:31:36 UTC
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 6 John Dennis 2019-08-29 12:24:19 UTC
notify-python is one of those packages assigned to me because it was a dependency of a package I used to own 10 years ago. I really haven't done anything with it and it appears to have been abandoned by upstream since the last upstream release was 11 years ago. I doubt it's py3 compatible. I will be retiring from Red Hat shortly and have been in the process of reassigning package ownership. My immediate suggestion would be to orphan notify-python and remove it from the distribution until there is some upstream activity. In all candor the upstream project wasn't the best and appeared to be a case of someone needing a Python binding, throwing something together and then moving on. I expect in 2019 there are better ways to export the functionality and there may even be Gnome or GLib bindings at this point that would be a better solution.

Comment 7 John Dennis 2019-08-29 12:27:21 UTC
Actually, now that I think of it I think Paul Frields took ownership of this package, not sure why I'm on the bug cc list, probably because I used to own it. But I think the points I made above stand true, Paul can make an executive decision on how to proceed.

Comment 8 Paul W. Frields 2019-09-04 15:32:57 UTC
Yup, you're remembering correctly, John. So notify-python is *way* out of date now, and unmaintained. And better yet, there's a bunch of packages depending on it at least in F30:

$ sudo dnf repoquery --whatrequires python2-notify
ailurus-0:10.10.3-15.fc28.noarch
audio-convert-mod-0:3.46.0b-14.fc28.noarch
batti-0:0.3.8-17.fc30.noarch
bitlyclip-0:0.2.2-14.fc30.noarch
decibel-audio-player-0:1.08-19.fc30.noarch
deluge-gtk-0:1.3.15-12.fc30.noarch
earcandy-0:0.9-11.fc30.noarch
fmtools-tkradio-0:2.0.7-14.fc29.noarch
fmtools-tkradio-0:2.0.7-16.fc30.noarch
fwbackups-0:1.43.7-6.fc29.noarch
guake-0:0.8.8-7.fc30.noarch
memaker-0:20100110-19.fc30.noarch
nicotine+-0:1.4.1-7.fc30.noarch
radiotray-0:0.7.3-13.fc30.noarch
specto-0:0.4.1-15.fc29.noarch
synce-gnome-0:0.11-17.fc29.noarch
turpial-0:3.0-12.fc28.noarch
wicd-gtk-0:1.7.4-9.fc29.noarch
wuja-0:0.0.8-21.fc29.noarch

(Some of those look pretty long in the tooth, too.)

The good news is, there's a replacement for it, the new 'notify2' module: https://pypi.org/project/notify2/

I will work on getting this in so we could conceivably fix the existing packages. AIUI it's a drop in replacement in pure Python.

Lumir, shouldn't that mean we can use Obsoletes: and Provides: together in the new package to allow those other packages to be fixed gently over time?

Comment 9 Paul W. Frields 2019-09-04 15:48:16 UTC
Even better... ngompa already did the work: https://src.fedoraproject.org/rpms/python-notify2

Neal, see question above to Lumir. Is notify2 a drop in replacement, as it seems?

Comment 10 Lumír Balhar 2019-09-05 07:21:57 UTC
Put Provides/Obsoletes to the new package is not a correct way here because the old python2-notify is Python-2-only and the new python3-notify is Python-3-only. What we can do here is to offer this package as a replacement to maintainers of dependent packages so when they'll be switching to Python 3 they'll know what to use.

Another thing is that if you don't want to maintain the old package anymore, you can orphan it. Then all maintainers of dependent packages will be notified about it and somebody will have to take it if they would like to keep their Python 2 packages in Fedora. This will include requesting a fesco exception as described in the change.

Comment 11 Paul W. Frields 2019-09-05 12:34:27 UTC
Orphaning is probably best in this case. I have it on my to-do list for tomorrow.

Comment 12 Lumír Balhar 2019-09-13 08:48:10 UTC
Could you please orphan this package rather sooner than later?

Comment 13 Lumír Balhar 2019-09-23 05:42:29 UTC
Should we do it for you?

Comment 15 Miro Hrončok 2019-11-06 16:34:19 UTC
Automation has figured out the package is retired in rawhide.

If you like it to be unretired, please open a ticket at https://pagure.io/releng/new_issue?template=package_unretirement