Bug 1701137

Summary: python-ase: Remove (sub)packages from Fedora 31+: python2-ase
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-aseAssignee: marcindulak <Marcin.Dulak>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: besser82, cstratak, igor.raits, Marcin.Dulak, mhroncok, ngompa13, pviktori, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-ase-3.16.2-8.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-04-27 20:09:40 UTC Type: ---
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: 1625773    
Attachments:
Description Flags
python-ase.spec
none
ase-gui.desktop none

Description Miro Hrončok 2019-04-18 07:38:20 UTC
In line with the Mass Python 2 Package Removal [0], the following (sub)packages of python-ase were marked for removal:

 * python2-ase

According to our query, those (sub)packages only provide a Python 2 importable module. If this is not true, please tell us why, so we can fix our query.

Please remove them from your package in Rawhide (Fedora 31).

Please don't do this for Fedora 30, consider the Final Freeze.

As said in the change document, if there is no objection in a week, we will remove the package(s) as soon as we get to it. This change might not match your packaging style, so we'd prefer if you did the change. If you need more time, please let us know here.

If you do the change yourself, it would help us a lot by reducing the amount of packages we need to mass change.

We hope this doesn't come to you as a surprise. If you want to know our motivation for this, please read the change document [0].

[0] https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal

Comment 1 Miro Hrončok 2019-04-18 07:39:43 UTC
python2-ase contains an application. Let that application be provided by python3-ase or ase-gui subpackage and run it on Python 3.

If that is not possible, please let us know.

Comment 2 Miro Hrončok 2019-04-27 13:45:14 UTC
The specfile has:

# Anyone editing this spec file please make sure the same spec file
# works on other fedora and epel releases, which are supported by this software.
# No quick Rawhide-only fixes will be allowed.

I'll keep this open for another week to give you time to do that, otherwise, I'll just remove the python2 parts.

Comment 3 marcindulak 2019-04-27 18:30:46 UTC
In this case making the change that only affects Rawhide is OK.
I'll simply not provide any updates for fedora < 30, and python-ase receives no longer updates in epel7 anyway.
The point is that multiple divergent active branches must not be created since I won't maintain them.

I've prepared the switch to python3 and enabled the ase-gui3 component.
It looks like I cannot push any longer to ssh://marcindulak.org/python-ase.git

The modified files are: python-ase.spec and ase-gui.desktop available at

https://koji.fedoraproject.org/koji/taskinfo?taskID=34499236

How can I have the push access to the repository restored?

Comment 4 marcindulak 2019-04-27 18:32:20 UTC
Created attachment 1559519 [details]
python-ase.spec

Comment 5 marcindulak 2019-04-27 18:32:55 UTC
Created attachment 1559520 [details]
ase-gui.desktop

Comment 6 Miro Hrončok 2019-04-27 18:35:43 UTC
> How can I have the push access to the repository restored?

I suggest opening a ticket at https://pagure.io/fedora-infrastructure/issues describing the exact errors you get a command you use.

I also think that the correct git URL is ssh://marcindulak.org/rpms/python-ase.git now.

Comment 7 Miro Hrončok 2019-04-27 18:36:53 UTC
What is the exact point in this?

# Rename Python 3 scripts
pushd $RPM_BUILD_ROOT/%{_bindir}
for file in `find . -name "ase*"`; do
  mv -fv ${file} `basename $file`3
done
popd

# Link Python 3 scripts
pushd $RPM_BUILD_ROOT/%{_bindir}
for file in `find . -name "ase*3"`; do
  ln -sv ${file} `echo $file | rev | cut -c 2- | rev`
done
popd

Comment 8 marcindulak 2019-04-27 18:49:52 UTC
This creates softlinks /usr/bin/ase-gui3 -> /usr/bin/ase-gui, etc. for all executable python scripts.

Maybe we could have them called directly /usr/bin/ase-gui - I'm not sure what is the current naming recommendation.

Comment 9 Miro Hrončok 2019-04-27 18:52:14 UTC
The only reason to have them numbered is to be able to ship both the Python 2 and the Python 3 version. You no longer need that. I suggest to drop the number.

Just make sure the python3-ase package Conflicts: (or Obsoletes:) python2-ase < 3.16.2-6 to provide a clean upgrade path.

Comment 10 marcindulak 2019-04-27 19:30:42 UTC
The new git url ssh://marcindulak.org/rpms/python-ase.git works

I've removed the /usr/bin/ase*3 links and addeded Obsoletes: python2-ase < 3.16.2-7

Comment 11 Miro Hrončok 2019-04-27 19:41:06 UTC
Note that the Obsoletes needs to be in the python3-ase package section, otherwise it will be applied only on the main package, but there is no main package.

I've made the change together with a few other new packaging changes in this PR:



https://src.fedoraproject.org/rpms/python-ase/pull-request/2

Comment 12 marcindulak 2019-04-27 19:51:31 UTC
Merged

Comment 13 Miro Hrončok 2019-04-27 20:09:40 UTC
Thank You!