This update changes the main python3 in EPEL7 from python34 to python36. This is not removing python34, only changing the following in the python macros.
This update is not just for python-rpm-macros, python34 and python36. But every EPEL7 package that used those macros while being built. Thus this update has all of those packages that have been rebuilt.
Due to bohdi limitations, the update has been broken up. Please also test the following bohdi updates:
Please login to add feedback.
This update has been submitted for testing by tdawson.
tdawson edited this update.
tdawson edited this update.
This update has been pushed to testing.
churchyard edited this update.
New build(s):
Removed build(s):
Karma has been reset.
This update has been submitted for testing by churchyard.
I've added a build of python36 that has explicit conflicts with previous versions of python34.
This update has been pushed to testing.
The python34 package now has no /usr/bin/python3 symlink even though rpm thinks that it does, so doing yum --enablerepo=epel-testing update does not update from python34 to python36
this looks to be the way
Steve: that was the original announcement of 36, but now this update marks the end of the "small timeframe", attempting to make 36 the default. This update is broken because it does not force python36 to be installed, and at the same time it removes the /usr/bin/python3 symlink from the python34-3.4.9-3.el7.x86_64 so the system ends up with no /usr/bin/python3 at all.
What does
yum --enablerepo=epel-testing update
actually do then?It just installs the new python34-3.4.9-3, removing the /usr/bin/python3 symlink.
And what would you want it to do?
I want a system where /usr/bin/python3 points to a valid python! Other packages depend on it. I don't care if it is python34 or python36, but presumably after this update is in, the maintainers want it to point to python36 so that would mean that it ought to install python36.
Thanks. I'll move this to the mailing list (a better place to discuss this).
Let me just say that if other RPM packages actually depend on /usr/bin/python3, you'll get /usr/bin/python3. However if non RPM software you use depends on it, you are now in trouble. So what you expect is a reasonable thing to ask.
For the record: https://lists.fedoraproject.org/archives/list/epel-devel@lists.fedoraproject.org/message/YHB4K7Z3FJCNLTMU7RPYSVZ2XLTAUHR3/
An example package that does depend on /usr/bin/python3 in EPEL7 is singularity-2.6.1
And if you have singularity installed and do the update, python36 is not installed?
That is correct.
$ rpm -qa |grep ^python3 python34-3.4.9-2.el7.x86_64 python34-libs-3.4.9-2.el7.x86_64 $ rpm -qa |grep ^singularity singularity-2.6.1-1.1.osg34.el7.x86_64 singularity-runtime-2.6.1-1.1.osg34.el7.x86_64 $ ls -l /usr/bin/python3 lrwxrwxrwx. 1 root root 9 Mar 25 17:29 /usr/bin/python3 -> python3.4 $ sudo yum --enablerepo=epel-testing -y update Loaded plugins: fastestmirror, langpacks, priorities Loading mirror speeds from cached hostfile * epel: mirror.layeronline.com * epel-testing: mirror.layeronline.com * fermilab: ftp2.scientificlinux.org * osg: mirror.grid.uchicago.edu * sl: ftp2.scientificlinux.org * sl-fastbugs: ftp2.scientificlinux.org * sl-security: ftp2.scientificlinux.org 194 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package python34.x86_64 0:3.4.9-2.el7 will be updated ---> Package python34.x86_64 0:3.4.9-3.el7 will be an update ---> Package python34-libs.x86_64 0:3.4.9-2.el7 will be updated ---> Package python34-libs.x86_64 0:3.4.9-3.el7 will be an update --> Finished Dependency Resolution
Dependencies Resolved
================================================================================ Package Arch Version Repository Size ================================================================================ Updating: python34 x86_64 3.4.9-3.el7 epel-testing 51 k python34-libs x86_64 3.4.9-3.el7 epel-testing 8.3 M
Transaction Summary
Upgrade 2 Packages
Total download size: 8.3 M Downloading packages: (1/2): python34-3.4.9-3.el7.x86_64.rpm | 51 kB 00:00
(2/2): python34-libs-3.4.9-3.el7.x86_64.rpm | 8.3 MB 00:00
Total 19 MB/s | 8.3 MB 00:00
Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : python34-3.4.9-3.el7.x86_64 1/4 Updating : python34-libs-3.4.9-3.el7.x86_64 2/4 Cleanup : python34-3.4.9-2.el7.x86_64 3/4 Cleanup : python34-libs-3.4.9-2.el7.x86_64 4/4 Verifying : python34-libs-3.4.9-3.el7.x86_64 1/4 Verifying : python34-3.4.9-3.el7.x86_64 2/4 Verifying : python34-libs-3.4.9-2.el7.x86_64 3/4 Verifying : python34-3.4.9-2.el7.x86_64 4/4
Updated: python34.x86_64 0:3.4.9-3.el7 python34-libs.x86_64 0:3.4.9-3.el7
Complete! $ ls -l /usr/bin/python3 ls: cannot access /usr/bin/python3: No such file or directory
Here's a markdown-correct version of the last post:
Could you please check (after upgrade):
Ok, I'm sorry, this did show me a mistake in my testing. I had a different (osg34) distribution of singularity installed, which is an rpm rebuild that doesn't use python3. However now I switched to another VM that uses only epel, and it still did not upgrade to python36. It also would not upgrade the python34 version, so that's an improvement I guess. Here it is from the top there:
Thanks. That helps.
churchyard edited this update.
New build(s):
Removed build(s):
Karma has been reset.
This update has been submitted for testing by churchyard.
This update has been pushed to testing.
This iteration does update python34 to python36, whether or not singularity-2 is installed:
================================================================================ Package Arch Version Repository Size ================================================================================ Installing: python36 x86_64 3.6.6-5.el7 epel-testing 66 k replacing python34.x86_64 3.4.9-2.el7 python36-libs x86_64 3.6.6-5.el7 epel-testing 8.5 M replacing python34-libs.x86_64 3.4.9-2.el7
Transaction Summary
If somebody still wants python34, they have to afterward explicitly install it to get version 3.4.9-3.el7. I suppose if there were some other package installed explicitly requiring python34 or /usr/bin/python3.4 then that would also cause it to be automatically upgraded instead of only removed, but I didn't test that.
I'm sorry I once again forgot about markdown. Here's the output formatted:
Has passed all testing.
tdawson edited this update.
This update has been submitted for batched by tdawson.
This update has been submitted for stable by tdawson.
This update has been pushed to stable.