FEDORA-EPEL-2019-f2d195dada

enhancement update in Fedora EPEL 7 for abrt-addon-python3, asciinema, & 47 more

Status: stable 3 months ago

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.

  • Previous:
  • python3_pkgversion = python34
  • python3_other_pkgversion = python36
  • With Update:
  • python3_pkgversion = python36
  • python3_other_pkgversion = python34

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:

How to install

sudo dnf upgrade --advisory=FEDORA-EPEL-2019-f2d195dada

Comments 38

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):

  • python36-3.6.6-4.el7

Removed build(s):

  • python36-3.6.6-3.el7

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

karma: -1

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.

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:

$ 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
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

Could you please check (after upgrade):

$ rpm -q --requires singularity-runtime | grep python3
$ rpm -qf /usr/bin/python3
$ rpm -q --whatprovides /usr/bin/python3

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:

$ rpm -qa|grep ^singularity
singularity-2.6.1-1.1.el7.x86_64
singularity-runtime-2.6.1-1.1.el7.x86_64
$ rpm -qa|grep ^python3
python34-libs-3.4.9-2.el7.x86_64
python34-3.4.9-2.el7.x86_64
$ sudo yum --enablerepo=epel-testing -y update
Loaded plugins: langpacks, priorities
16301 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                                               11 MB/s | 8.3 MB  00:00     
Running transaction check
ERROR with transaction check vs depsolve:
/usr/bin/python3 is needed by (installed) singularity-runtime-2.6.1-1.1.el7.x86_64
 You could try running: rpm -Va --nofiles --nodigest
Your transaction was saved, rerun it with:
 yum load-transaction /tmp/yum_save_tx.2019-03-25.21-28.Zkur11.yumtx

Thanks. That helps.

churchyard edited this update.

New build(s):

  • python36-3.6.6-5.el7

Removed build(s):

  • python36-3.6.6-4.el7

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.

karma: +1 #1687196: +1

I'm sorry I once again forgot about markdown. Here's the output formatted:

================================================================================
 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
================================================================================

Has passed all testing.

#1687196: +1

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.

Content Type
RPM
Status
stable
Test Gating
Submitted by
Update Type
enhancement
Update Severity
unspecified
Karma
+2
stable threshold: 2
unstable threshold: -3
Autopush
Disabled
Dates
submitted 4 months ago
in testing 4 months ago
in stable 3 months ago
modified 3 months ago

Related Bugs 1

0+2 #1687196 python36 with /usr/bin/python3 fail to update python34 with /usr/bin/python3

Automated Test Results