Change in ...osmo-python-tests[master]: Revert "Drop python2 support"

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

osmith gerrit-no-reply at lists.osmocom.org
Fri Dec 6 14:58:38 UTC 2019


osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/16512 )


Change subject: Revert "Drop python2 support"
......................................................................

Revert "Drop python2 support"

This reverts commit fb1dc7c405f6114687338382149bfc775597935a.

I was under the impression, that all previous scripts were already
working with python 3. But as it turns out, this isn't true. Reverting,
so I can properly post follow-up patches, that fix the issues before we
apply this "drop python2" patch again.

Note that the explicit installation of python2 in the docker image we
use for jenkins master/gerrit builds was removed in osmo-ci.git
Iacace670bdb949e67227e0faa1765e36bba42018. However, it is still implictly
installed, so reverting just this one patch for a few days until this is
sorted out, should be enough.

Related: OS#2819
Change-Id: Ic1559d1a9f7839fa86a841d62a04b22e1caed466
---
M contrib/jenkins.sh
M debian/control
M debian/rules
M osmopy/__init__.py
M osmopy/obscvty.py
M osmopy/osmo_interact/__init__.py
M osmopy/osmo_interact/common.py
M osmopy/osmoutil.py
M scripts/osmodumpdoc.py
M scripts/osmotestconfig.py
M scripts/osmotestvty.py
M setup.py
A tests/test_py2.py
13 files changed, 71 insertions(+), 22 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/python/osmo-python-tests refs/changes/12/16512/1

diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh
index 9b219f9..08908a4 100755
--- a/contrib/jenkins.sh
+++ b/contrib/jenkins.sh
@@ -4,6 +4,16 @@
 
 COM_FLAGS='-m compileall'
 
+# FIXME: remove once python 2 support is deprecated
+PY2=python2
+PY2_LIST="osmopy scripts/osmodumpdoc.py scripts/osmotestvty.py scripts/osmotestconfig.py"
+$PY2 ./setup.py install
+$PY2 tests/test_py2.py
+for f in $PY2_LIST
+do
+    $PY2 $COM_FLAGS $f
+done
+
 rm -rf ./build
 PY3=python3
 PY3_LIST="osmopy scripts/osmo_ctrl.py scripts/osmo_rate_ctr2csv.py scripts/osmodumpdoc.py scripts/osmotestvty.py scripts/osmotestconfig.py scripts/osmo_interact_ctrl.py scripts/osmo_interact_vty.py scripts/osmo_verify_transcript_ctrl.py scripts/osmo_verify_transcript_vty.py scripts/soap.py scripts/twisted_ipa.py"
diff --git a/debian/control b/debian/control
index 1ad871d..52b614c 100644
--- a/debian/control
+++ b/debian/control
@@ -2,12 +2,26 @@
 Section: python
 Priority: optional
 Maintainer: Harald Welte <laforge at gnumonks.org>
-Build-Depends: debhelper (>= 9), dh-python, python3, python3-setuptools
+Build-Depends: debhelper (>= 9), python, dh-python, python-setuptools, python3, python3-setuptools
 Standards-Version: 3.9.8
 Homepage: http://git.osmocom.org/python/osmo-python-tests/
 Vcs-Git: git://git.osmocom.org/python/osmo-python-tests
 Vcs-Browser: http://git.osmocom.org/python/osmo-python-tests/
 
+Package: python2-osmopy-libs
+Architecture: all
+Depends: ${python:Depends}, ${misc:Depends}
+Description: Python code (not only) for testing of Osmocom programs
+ .
+ This package contains the Python 2 version of osmopy libraries.
+
+Package: python2-osmopy-utils
+Architecture: all
+Depends: ${python:Depends}, ${misc:Depends}, python2-osmopy-libs
+Description: Python code (not only) for testing of Osmocom programs
+ .
+ This package contains the Python 2 version of osmopy utils.
+
 Package: python3-osmopy-libs
 Architecture: all
 Depends: ${python3:Depends}, ${misc:Depends}
diff --git a/debian/rules b/debian/rules
index d0817c3..04b59f6 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,9 +1,13 @@
 #!/usr/bin/make -f
 
 %:
-	dh $@ --with python3
+	dh $@ --with python2,python3
 
 override_dh_auto_install:
+	python2 setup.py install --install-layout=deb --root=$(CURDIR)/debian/python2-osmopy-libs
+	rm -rf $(CURDIR)/debian/python2-osmopy-libs/usr/bin
+	python2 setup.py install --install-layout=deb --root=$(CURDIR)/debian/python2-osmopy-utils
+	rm -rf $(CURDIR)/debian/python2-osmopy-utils/usr/lib
 	python3 setup.py install --install-layout=deb --root=$(CURDIR)/debian/python3-osmopy-libs
 	rm -rf $(CURDIR)/debian/python3-osmopy-libs/usr/bin
 	python3 setup.py install --install-layout=deb --root=$(CURDIR)/debian/python3-osmopy-utils
diff --git a/osmopy/__init__.py b/osmopy/__init__.py
index 18362ec..ce78caf 100644
--- a/osmopy/__init__.py
+++ b/osmopy/__init__.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#!/usr/bin/env python
 __version__ = '0.1.0'
 
 __all__ = ['obscvty', 'osmoutil', 'osmo_ipa', 'osmo_interact', 'trap_helper', 'twisted_ipa']
diff --git a/osmopy/obscvty.py b/osmopy/obscvty.py
index ab280c0..d39d3da 100755
--- a/osmopy/obscvty.py
+++ b/osmopy/obscvty.py
@@ -16,6 +16,7 @@
 #
 # VTY helper code for OpenBSC
 #
+from __future__ import print_function
 import re
 import socket
 import sys, subprocess
diff --git a/osmopy/osmo_interact/__init__.py b/osmopy/osmo_interact/__init__.py
index 036238a..4fc4fac 100644
--- a/osmopy/osmo_interact/__init__.py
+++ b/osmopy/osmo_interact/__init__.py
@@ -1,2 +1,2 @@
-#!/usr/bin/env python3
+#!/usr/bin/env python
 __all__ = ['common', 'vty', 'ctrl']
diff --git a/osmopy/osmo_interact/common.py b/osmopy/osmo_interact/common.py
index 87eca6a..cc7e190 100644
--- a/osmopy/osmo_interact/common.py
+++ b/osmopy/osmo_interact/common.py
@@ -24,6 +24,11 @@
 vty.py and ctrl.py plug VTY and CTRL interface specific bits.
 '''
 
+# Our setup.py currently wants everything to be parsable by both py2 and py3.
+# IMHO that is not a good idea, but until that changes, let's just keep this
+# py2 legacy shim in here so we can syntax-check this py3 module with py2.
+from __future__ import print_function
+
 import argparse
 import sys
 import os
diff --git a/osmopy/osmoutil.py b/osmopy/osmoutil.py
index ec9c8c3..54a3456 100755
--- a/osmopy/osmoutil.py
+++ b/osmopy/osmoutil.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#!/usr/bin/env python
 
 # (C) 2013 by Katerina Barone-Adesi <kat.obsc at gmail.com>
 # This program is free software: you can redistribute it and/or modify
@@ -14,6 +14,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+from __future__ import print_function
 import subprocess
 import os
 import sys
diff --git a/scripts/osmodumpdoc.py b/scripts/osmodumpdoc.py
index 64b088f..d71edc8 100755
--- a/scripts/osmodumpdoc.py
+++ b/scripts/osmodumpdoc.py
@@ -1,9 +1,10 @@
-#!/usr/bin/env python3
+#!/usr/bin/env python
 
 # Make sure this code is in sync with the BTS directory.
 # Fixes may need to be applied to both.
 
 """Start the process and dump the documentation to the doc dir."""
+from __future__ import print_function
 import subprocess
 import time
 import os
diff --git a/scripts/osmotestconfig.py b/scripts/osmotestconfig.py
index 70a32a4..f227504 100755
--- a/scripts/osmotestconfig.py
+++ b/scripts/osmotestconfig.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#!/usr/bin/env python
 
 # (C) 2013 by Katerina Barone-Adesi <kat.obsc at gmail.com>
 # This program is free software: you can redistribute it and/or modify
@@ -13,6 +13,7 @@
 
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+from __future__ import print_function
 import os
 import os.path
 import time
diff --git a/scripts/osmotestvty.py b/scripts/osmotestvty.py
index 600860f..55017a5 100755
--- a/scripts/osmotestvty.py
+++ b/scripts/osmotestvty.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#!/usr/bin/env python
 
 # (C) 2013 by Katerina Barone-Adesi <kat.obsc at gmail.com>
 # This program is free software: you can redistribute it and/or modify
@@ -13,6 +13,7 @@
 
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+from __future__ import print_function
 import os
 import time
 import unittest
diff --git a/setup.py b/setup.py
index ab604ce..69e18b0 100755
--- a/setup.py
+++ b/setup.py
@@ -19,20 +19,24 @@
 from osmopy import __version__
 import sys
 
-scripts = [
-    "scripts/osmodumpdoc.py",
-    "scripts/osmotestvty.py",
-    "scripts/osmotestconfig.py",
-    "scripts/osmo_ctrl.py",
-    "scripts/osmo_rate_ctr2csv.py",
-    "scripts/soap.py",
-    "scripts/ctrl2cgi.py",
-    "scripts/osmo_trap2cgi.py",
-    "scripts/osmo_interact_vty.py",
-    "scripts/osmo_interact_ctrl.py",
-    "scripts/osmo_verify_transcript_vty.py",
-    "scripts/osmo_verify_transcript_ctrl.py",
-    ]
+if sys.version_info.major == 2:
+    scripts = [
+        "scripts/osmodumpdoc.py",
+        "scripts/osmotestconfig.py",
+        "scripts/osmotestvty.py",
+        ]
+elif sys.version_info.major == 3:
+    scripts = [
+        "scripts/osmo_ctrl.py",
+        "scripts/osmo_rate_ctr2csv.py",
+        "scripts/soap.py",
+        "scripts/ctrl2cgi.py",
+        "scripts/osmo_trap2cgi.py",
+        "scripts/osmo_interact_vty.py",
+        "scripts/osmo_interact_ctrl.py",
+        "scripts/osmo_verify_transcript_vty.py",
+        "scripts/osmo_verify_transcript_ctrl.py",
+        ]
 
 setup(
     name = 'osmopython',
diff --git a/tests/test_py2.py b/tests/test_py2.py
new file mode 100644
index 0000000..cac5261
--- /dev/null
+++ b/tests/test_py2.py
@@ -0,0 +1,7 @@
+#!/usr/bin/env python2
+
+# just import a smoke test for osmopy
+
+import osmopy
+
+print '[Python2] Smoke test PASSED.'

-- 
To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/16512
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: python/osmo-python-tests
Gerrit-Branch: master
Gerrit-Change-Id: Ic1559d1a9f7839fa86a841d62a04b22e1caed466
Gerrit-Change-Number: 16512
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20191206/540feea5/attachment.htm>


More information about the gerrit-log mailing list