From af0d5a9b5375a5cd87ac10b429e2b9934718ce5b Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 29 Aug 2018 11:09:27 -0400 Subject: core: python3 see https://review.gluster.org/#/c/19788/, https://review.gluster.org/#/c/19871/, https://review.gluster.org/#/c/19952/, https://review.gluster.org/#/c/20104/, https://review.gluster.org/#/c/20162/, https://review.gluster.org/#/c/20185/, https://review.gluster.org/#/c/20207/, https://review.gluster.org/#/c/20227/, https://review.gluster.org/#/c/20307/, https://review.gluster.org/#/c/20320/, https://review.gluster.org/#/c/20332/, https://review.gluster.org/#/c/20364/, https://review.gluster.org/#/c/20441/, and https://review.gluster.org/#/c/20484 shebangs changed from /usr/bin/python2 to /usr/bin/python3. (Reminder, various distribution packaging guidelines require use of explicit python version and don't allow '#!/usr/bin/env python', regardless of how handy that idiom may be.) glusterfs.spec(.in) package python{2,3}-gluster and python2 or python3 dependencies as appropriate. configure(.ac): + test for and use python2 or python3 as appropriate. If build machine has python2 and python3, use python3. Override by setting PYTHON=/usr/bin/python2 when running configure. + PYTHONDEV_CPPFLAGS from python[23]-config --includes is a better match to the original python sysconfig.get_python_inc(). All those other extraneous flags breaks the build. + Only change the shebangs once. Changing them over and over again, e.g., during a `make glusterrpms` in extras/LinuxRPM just sends make (is it really make that's looping?) into an infinite loop. If you figure out why, let me know. + Oldest python2 is python2.6 on CentOS 6 and Debian 8 (Jessie). Everything else has 2.7 or 3.x + logic from https://review.gluster.org/c/glusterfs/+/21050, which needs to be removed/merged after that patch is merged. Builds on CentOS 6, CentOS 7, Fedora 28, Fedora rawhide, and the mysterious RHEL > 7. Change-Id: Idae21d3b6f58b32372e1daa0d234e491e563198f updates: #411 Signed-off-by: Kaleb S. KEITHLEY --- extras/cliutils/README.md | 4 ++-- extras/create_new_xlator/generate_xlator.py | 2 +- extras/distributed-testing/distributed-test-runner.py | 2 +- extras/failed-tests.py | 2 +- extras/geo-rep/schedule_georep.py.in | 2 +- extras/hook-scripts/S40ufo-stop.py | 2 +- extras/profiler/glusterfs-profiler | 2 +- extras/quota/xattr_analysis.py | 2 +- extras/rebalance.py | 2 +- extras/snap_scheduler/conf.py.in | 2 +- extras/snap_scheduler/gcron.py | 2 +- extras/snap_scheduler/snap_scheduler.py | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) (limited to 'extras') diff --git a/extras/cliutils/README.md b/extras/cliutils/README.md index 2e0ffe772c7..e11166774e3 100644 --- a/extras/cliutils/README.md +++ b/extras/cliutils/README.md @@ -81,7 +81,7 @@ to address the following issues Create a file in `$LIBEXEC/glusterfs/peer_message.py` with following content. - #!/usr/bin/python2 + #!/usr/bin/python3 from gluster.cliutils import Cmd, runcli, execute_in_peers, node_output_ok class NodeHello(Cmd): @@ -149,7 +149,7 @@ Now users can use `gluster-message` instead of calling Following example uses prettytable library, which can be installed using `pip install prettytable` or `dnf install python-prettytable` - #!/usr/bin/python2 + #!/usr/bin/python3 from prettytable import PrettyTable from gluster.cliutils import Cmd, runcli, execute_in_peers, node_output_ok diff --git a/extras/create_new_xlator/generate_xlator.py b/extras/create_new_xlator/generate_xlator.py index 2746e90893d..2c554c991c9 100755 --- a/extras/create_new_xlator/generate_xlator.py +++ b/extras/create_new_xlator/generate_xlator.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 from __future__ import print_function import os diff --git a/extras/distributed-testing/distributed-test-runner.py b/extras/distributed-testing/distributed-test-runner.py index 4d6313625db..7bfb6c9652a 100755 --- a/extras/distributed-testing/distributed-test-runner.py +++ b/extras/distributed-testing/distributed-test-runner.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 from __future__ import absolute_import from __future__ import division diff --git a/extras/failed-tests.py b/extras/failed-tests.py index 0f5ad38aa09..f7f110246b5 100755 --- a/extras/failed-tests.py +++ b/extras/failed-tests.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 from __future__ import print_function import blessings diff --git a/extras/geo-rep/schedule_georep.py.in b/extras/geo-rep/schedule_georep.py.in index 38d8f500ad6..79af80b841a 100644 --- a/extras/geo-rep/schedule_georep.py.in +++ b/extras/geo-rep/schedule_georep.py.in @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 """ Schedule Geo-replication ------------------------ diff --git a/extras/hook-scripts/S40ufo-stop.py b/extras/hook-scripts/S40ufo-stop.py index 48ee1c788b6..2c79eb1d54a 100755 --- a/extras/hook-scripts/S40ufo-stop.py +++ b/extras/hook-scripts/S40ufo-stop.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 import os from optparse import OptionParser diff --git a/extras/profiler/glusterfs-profiler b/extras/profiler/glusterfs-profiler index 5f5e4ed8dbd..aaafd088648 100755 --- a/extras/profiler/glusterfs-profiler +++ b/extras/profiler/glusterfs-profiler @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 # Copyright (c) 2006-2012 Red Hat, Inc. # This file is part of GlusterFS. diff --git a/extras/quota/xattr_analysis.py b/extras/quota/xattr_analysis.py index 780ff340677..7bd7d96374c 100755 --- a/extras/quota/xattr_analysis.py +++ b/extras/quota/xattr_analysis.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 # Below script has two purposes # 1. Display xattr of entire FS tree in a human readable form # 2. Display all the directory where contri and size mismatch. diff --git a/extras/rebalance.py b/extras/rebalance.py index 6dd364b9028..59d7af96d88 100755 --- a/extras/rebalance.py +++ b/extras/rebalance.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 from __future__ import print_function import atexit diff --git a/extras/snap_scheduler/conf.py.in b/extras/snap_scheduler/conf.py.in index e04b6cb008b..35838005fc2 100644 --- a/extras/snap_scheduler/conf.py.in +++ b/extras/snap_scheduler/conf.py.in @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 # # Copyright (c) 2016 Red Hat, Inc. # This file is part of GlusterFS. diff --git a/extras/snap_scheduler/gcron.py b/extras/snap_scheduler/gcron.py index de79562ceab..1c8569dcd85 100755 --- a/extras/snap_scheduler/gcron.py +++ b/extras/snap_scheduler/gcron.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 # # Copyright (c) 2015 Red Hat, Inc. # This file is part of GlusterFS. diff --git a/extras/snap_scheduler/snap_scheduler.py b/extras/snap_scheduler/snap_scheduler.py index f0868d8b57d..09859844efc 100755 --- a/extras/snap_scheduler/snap_scheduler.py +++ b/extras/snap_scheduler/snap_scheduler.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 # # Copyright (c) 2015 Red Hat, Inc. # This file is part of GlusterFS. -- cgit