<p>osmith <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/python/osmo-python-tests/+/16512">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  osmith: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Revert "Drop python2 support"<br><br>This reverts commit fb1dc7c405f6114687338382149bfc775597935a.<br><br>I was under the impression, that all previous scripts were already<br>working with python 3. But as it turns out, this isn't true. Reverting,<br>so I can properly post follow-up patches, that fix the issues before we<br>apply this "drop python2" patch again.<br><br>Related: OS#2819<br>Change-Id: Ic1559d1a9f7839fa86a841d62a04b22e1caed466<br>---<br>M contrib/jenkins.sh<br>M debian/control<br>M debian/rules<br>M osmopy/__init__.py<br>M osmopy/obscvty.py<br>M osmopy/osmo_interact/__init__.py<br>M osmopy/osmo_interact/common.py<br>M osmopy/osmoutil.py<br>M scripts/osmodumpdoc.py<br>M scripts/osmotestconfig.py<br>M scripts/osmotestvty.py<br>M setup.py<br>A tests/test_py2.py<br>13 files changed, 71 insertions(+), 22 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh</span><br><span>index 9b219f9..08908a4 100755</span><br><span>--- a/contrib/jenkins.sh</span><br><span>+++ b/contrib/jenkins.sh</span><br><span>@@ -4,6 +4,16 @@</span><br><span> </span><br><span> COM_FLAGS='-m compileall'</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+# FIXME: remove once python 2 support is deprecated</span><br><span style="color: hsl(120, 100%, 40%);">+PY2=python2</span><br><span style="color: hsl(120, 100%, 40%);">+PY2_LIST="osmopy scripts/osmodumpdoc.py scripts/osmotestvty.py scripts/osmotestconfig.py"</span><br><span style="color: hsl(120, 100%, 40%);">+$PY2 ./setup.py install</span><br><span style="color: hsl(120, 100%, 40%);">+$PY2 tests/test_py2.py</span><br><span style="color: hsl(120, 100%, 40%);">+for f in $PY2_LIST</span><br><span style="color: hsl(120, 100%, 40%);">+do</span><br><span style="color: hsl(120, 100%, 40%);">+    $PY2 $COM_FLAGS $f</span><br><span style="color: hsl(120, 100%, 40%);">+done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> rm -rf ./build</span><br><span> PY3=python3</span><br><span> 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"</span><br><span>diff --git a/debian/control b/debian/control</span><br><span>index 1ad871d..52b614c 100644</span><br><span>--- a/debian/control</span><br><span>+++ b/debian/control</span><br><span>@@ -2,12 +2,26 @@</span><br><span> Section: python</span><br><span> Priority: optional</span><br><span> Maintainer: Harald Welte <laforge@gnumonks.org></span><br><span style="color: hsl(0, 100%, 40%);">-Build-Depends: debhelper (>= 9), dh-python, python3, python3-setuptools</span><br><span style="color: hsl(120, 100%, 40%);">+Build-Depends: debhelper (>= 9), python, dh-python, python-setuptools, python3, python3-setuptools</span><br><span> Standards-Version: 3.9.8</span><br><span> Homepage: http://git.osmocom.org/python/osmo-python-tests/</span><br><span> Vcs-Git: git://git.osmocom.org/python/osmo-python-tests</span><br><span> Vcs-Browser: http://git.osmocom.org/python/osmo-python-tests/</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+Package: python2-osmopy-libs</span><br><span style="color: hsl(120, 100%, 40%);">+Architecture: all</span><br><span style="color: hsl(120, 100%, 40%);">+Depends: ${python:Depends}, ${misc:Depends}</span><br><span style="color: hsl(120, 100%, 40%);">+Description: Python code (not only) for testing of Osmocom programs</span><br><span style="color: hsl(120, 100%, 40%);">+ .</span><br><span style="color: hsl(120, 100%, 40%);">+ This package contains the Python 2 version of osmopy libraries.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Package: python2-osmopy-utils</span><br><span style="color: hsl(120, 100%, 40%);">+Architecture: all</span><br><span style="color: hsl(120, 100%, 40%);">+Depends: ${python:Depends}, ${misc:Depends}, python2-osmopy-libs</span><br><span style="color: hsl(120, 100%, 40%);">+Description: Python code (not only) for testing of Osmocom programs</span><br><span style="color: hsl(120, 100%, 40%);">+ .</span><br><span style="color: hsl(120, 100%, 40%);">+ This package contains the Python 2 version of osmopy utils.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> Package: python3-osmopy-libs</span><br><span> Architecture: all</span><br><span> Depends: ${python3:Depends}, ${misc:Depends}</span><br><span>diff --git a/debian/rules b/debian/rules</span><br><span>index d0817c3..04b59f6 100755</span><br><span>--- a/debian/rules</span><br><span>+++ b/debian/rules</span><br><span>@@ -1,9 +1,13 @@</span><br><span> #!/usr/bin/make -f</span><br><span> </span><br><span> %:</span><br><span style="color: hsl(0, 100%, 40%);">-   dh $@ --with python3</span><br><span style="color: hsl(120, 100%, 40%);">+  dh $@ --with python2,python3</span><br><span> </span><br><span> override_dh_auto_install:</span><br><span style="color: hsl(120, 100%, 40%);">+ python2 setup.py install --install-layout=deb --root=$(CURDIR)/debian/python2-osmopy-libs</span><br><span style="color: hsl(120, 100%, 40%);">+     rm -rf $(CURDIR)/debian/python2-osmopy-libs/usr/bin</span><br><span style="color: hsl(120, 100%, 40%);">+   python2 setup.py install --install-layout=deb --root=$(CURDIR)/debian/python2-osmopy-utils</span><br><span style="color: hsl(120, 100%, 40%);">+    rm -rf $(CURDIR)/debian/python2-osmopy-utils/usr/lib</span><br><span>         python3 setup.py install --install-layout=deb --root=$(CURDIR)/debian/python3-osmopy-libs</span><br><span>    rm -rf $(CURDIR)/debian/python3-osmopy-libs/usr/bin</span><br><span>  python3 setup.py install --install-layout=deb --root=$(CURDIR)/debian/python3-osmopy-utils</span><br><span>diff --git a/osmopy/__init__.py b/osmopy/__init__.py</span><br><span>index 18362ec..ce78caf 100644</span><br><span>--- a/osmopy/__init__.py</span><br><span>+++ b/osmopy/__init__.py</span><br><span>@@ -1,4 +1,4 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#!/usr/bin/env python3</span><br><span style="color: hsl(120, 100%, 40%);">+#!/usr/bin/env python</span><br><span> __version__ = '0.1.0'</span><br><span> </span><br><span> __all__ = ['obscvty', 'osmoutil', 'osmo_ipa', 'osmo_interact', 'trap_helper', 'twisted_ipa']</span><br><span>diff --git a/osmopy/obscvty.py b/osmopy/obscvty.py</span><br><span>index ab280c0..d39d3da 100755</span><br><span>--- a/osmopy/obscvty.py</span><br><span>+++ b/osmopy/obscvty.py</span><br><span>@@ -16,6 +16,7 @@</span><br><span> #</span><br><span> # VTY helper code for OpenBSC</span><br><span> #</span><br><span style="color: hsl(120, 100%, 40%);">+from __future__ import print_function</span><br><span> import re</span><br><span> import socket</span><br><span> import sys, subprocess</span><br><span>diff --git a/osmopy/osmo_interact/__init__.py b/osmopy/osmo_interact/__init__.py</span><br><span>index 036238a..4fc4fac 100644</span><br><span>--- a/osmopy/osmo_interact/__init__.py</span><br><span>+++ b/osmopy/osmo_interact/__init__.py</span><br><span>@@ -1,2 +1,2 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#!/usr/bin/env python3</span><br><span style="color: hsl(120, 100%, 40%);">+#!/usr/bin/env python</span><br><span> __all__ = ['common', 'vty', 'ctrl']</span><br><span>diff --git a/osmopy/osmo_interact/common.py b/osmopy/osmo_interact/common.py</span><br><span>index 87eca6a..cc7e190 100644</span><br><span>--- a/osmopy/osmo_interact/common.py</span><br><span>+++ b/osmopy/osmo_interact/common.py</span><br><span>@@ -24,6 +24,11 @@</span><br><span> vty.py and ctrl.py plug VTY and CTRL interface specific bits.</span><br><span> '''</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+# Our setup.py currently wants everything to be parsable by both py2 and py3.</span><br><span style="color: hsl(120, 100%, 40%);">+# IMHO that is not a good idea, but until that changes, let's just keep this</span><br><span style="color: hsl(120, 100%, 40%);">+# py2 legacy shim in here so we can syntax-check this py3 module with py2.</span><br><span style="color: hsl(120, 100%, 40%);">+from __future__ import print_function</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> import argparse</span><br><span> import sys</span><br><span> import os</span><br><span>diff --git a/osmopy/osmoutil.py b/osmopy/osmoutil.py</span><br><span>index ec9c8c3..54a3456 100755</span><br><span>--- a/osmopy/osmoutil.py</span><br><span>+++ b/osmopy/osmoutil.py</span><br><span>@@ -1,4 +1,4 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#!/usr/bin/env python3</span><br><span style="color: hsl(120, 100%, 40%);">+#!/usr/bin/env python</span><br><span> </span><br><span> # (C) 2013 by Katerina Barone-Adesi <kat.obsc@gmail.com></span><br><span> # This program is free software: you can redistribute it and/or modify</span><br><span>@@ -14,6 +14,7 @@</span><br><span> # You should have received a copy of the GNU General Public License</span><br><span> # along with this program.  If not, see <http://www.gnu.org/licenses/>.</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+from __future__ import print_function</span><br><span> import subprocess</span><br><span> import os</span><br><span> import sys</span><br><span>diff --git a/scripts/osmodumpdoc.py b/scripts/osmodumpdoc.py</span><br><span>index 64b088f..d71edc8 100755</span><br><span>--- a/scripts/osmodumpdoc.py</span><br><span>+++ b/scripts/osmodumpdoc.py</span><br><span>@@ -1,9 +1,10 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#!/usr/bin/env python3</span><br><span style="color: hsl(120, 100%, 40%);">+#!/usr/bin/env python</span><br><span> </span><br><span> # Make sure this code is in sync with the BTS directory.</span><br><span> # Fixes may need to be applied to both.</span><br><span> </span><br><span> """Start the process and dump the documentation to the doc dir."""</span><br><span style="color: hsl(120, 100%, 40%);">+from __future__ import print_function</span><br><span> import subprocess</span><br><span> import time</span><br><span> import os</span><br><span>diff --git a/scripts/osmotestconfig.py b/scripts/osmotestconfig.py</span><br><span>index 70a32a4..f227504 100755</span><br><span>--- a/scripts/osmotestconfig.py</span><br><span>+++ b/scripts/osmotestconfig.py</span><br><span>@@ -1,4 +1,4 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#!/usr/bin/env python3</span><br><span style="color: hsl(120, 100%, 40%);">+#!/usr/bin/env python</span><br><span> </span><br><span> # (C) 2013 by Katerina Barone-Adesi <kat.obsc@gmail.com></span><br><span> # This program is free software: you can redistribute it and/or modify</span><br><span>@@ -13,6 +13,7 @@</span><br><span> </span><br><span> # You should have received a copy of the GNU General Public License</span><br><span> # along with this program.  If not, see <http://www.gnu.org/licenses/>.</span><br><span style="color: hsl(120, 100%, 40%);">+from __future__ import print_function</span><br><span> import os</span><br><span> import os.path</span><br><span> import time</span><br><span>diff --git a/scripts/osmotestvty.py b/scripts/osmotestvty.py</span><br><span>index 600860f..55017a5 100755</span><br><span>--- a/scripts/osmotestvty.py</span><br><span>+++ b/scripts/osmotestvty.py</span><br><span>@@ -1,4 +1,4 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#!/usr/bin/env python3</span><br><span style="color: hsl(120, 100%, 40%);">+#!/usr/bin/env python</span><br><span> </span><br><span> # (C) 2013 by Katerina Barone-Adesi <kat.obsc@gmail.com></span><br><span> # This program is free software: you can redistribute it and/or modify</span><br><span>@@ -13,6 +13,7 @@</span><br><span> </span><br><span> # You should have received a copy of the GNU General Public License</span><br><span> # along with this program.  If not, see <http://www.gnu.org/licenses/>.</span><br><span style="color: hsl(120, 100%, 40%);">+from __future__ import print_function</span><br><span> import os</span><br><span> import time</span><br><span> import unittest</span><br><span>diff --git a/setup.py b/setup.py</span><br><span>index ab604ce..69e18b0 100755</span><br><span>--- a/setup.py</span><br><span>+++ b/setup.py</span><br><span>@@ -19,20 +19,24 @@</span><br><span> from osmopy import __version__</span><br><span> import sys</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-scripts = [</span><br><span style="color: hsl(0, 100%, 40%);">-    "scripts/osmodumpdoc.py",</span><br><span style="color: hsl(0, 100%, 40%);">-    "scripts/osmotestvty.py",</span><br><span style="color: hsl(0, 100%, 40%);">-    "scripts/osmotestconfig.py",</span><br><span style="color: hsl(0, 100%, 40%);">-    "scripts/osmo_ctrl.py",</span><br><span style="color: hsl(0, 100%, 40%);">-    "scripts/osmo_rate_ctr2csv.py",</span><br><span style="color: hsl(0, 100%, 40%);">-    "scripts/soap.py",</span><br><span style="color: hsl(0, 100%, 40%);">-    "scripts/ctrl2cgi.py",</span><br><span style="color: hsl(0, 100%, 40%);">-    "scripts/osmo_trap2cgi.py",</span><br><span style="color: hsl(0, 100%, 40%);">-    "scripts/osmo_interact_vty.py",</span><br><span style="color: hsl(0, 100%, 40%);">-    "scripts/osmo_interact_ctrl.py",</span><br><span style="color: hsl(0, 100%, 40%);">-    "scripts/osmo_verify_transcript_vty.py",</span><br><span style="color: hsl(0, 100%, 40%);">-    "scripts/osmo_verify_transcript_ctrl.py",</span><br><span style="color: hsl(0, 100%, 40%);">-    ]</span><br><span style="color: hsl(120, 100%, 40%);">+if sys.version_info.major == 2:</span><br><span style="color: hsl(120, 100%, 40%);">+    scripts = [</span><br><span style="color: hsl(120, 100%, 40%);">+        "scripts/osmodumpdoc.py",</span><br><span style="color: hsl(120, 100%, 40%);">+        "scripts/osmotestconfig.py",</span><br><span style="color: hsl(120, 100%, 40%);">+        "scripts/osmotestvty.py",</span><br><span style="color: hsl(120, 100%, 40%);">+        ]</span><br><span style="color: hsl(120, 100%, 40%);">+elif sys.version_info.major == 3:</span><br><span style="color: hsl(120, 100%, 40%);">+    scripts = [</span><br><span style="color: hsl(120, 100%, 40%);">+        "scripts/osmo_ctrl.py",</span><br><span style="color: hsl(120, 100%, 40%);">+        "scripts/osmo_rate_ctr2csv.py",</span><br><span style="color: hsl(120, 100%, 40%);">+        "scripts/soap.py",</span><br><span style="color: hsl(120, 100%, 40%);">+        "scripts/ctrl2cgi.py",</span><br><span style="color: hsl(120, 100%, 40%);">+        "scripts/osmo_trap2cgi.py",</span><br><span style="color: hsl(120, 100%, 40%);">+        "scripts/osmo_interact_vty.py",</span><br><span style="color: hsl(120, 100%, 40%);">+        "scripts/osmo_interact_ctrl.py",</span><br><span style="color: hsl(120, 100%, 40%);">+        "scripts/osmo_verify_transcript_vty.py",</span><br><span style="color: hsl(120, 100%, 40%);">+        "scripts/osmo_verify_transcript_ctrl.py",</span><br><span style="color: hsl(120, 100%, 40%);">+        ]</span><br><span> </span><br><span> setup(</span><br><span>     name = 'osmopython',</span><br><span>diff --git a/tests/test_py2.py b/tests/test_py2.py</span><br><span>new file mode 100644</span><br><span>index 0000000..cac5261</span><br><span>--- /dev/null</span><br><span>+++ b/tests/test_py2.py</span><br><span>@@ -0,0 +1,7 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/usr/bin/env python2</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# just import a smoke test for osmopy</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+import osmopy</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+print '[Python2] Smoke test PASSED.'</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/python/osmo-python-tests/+/16512">change 16512</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/python/osmo-python-tests/+/16512"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: python/osmo-python-tests </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ic1559d1a9f7839fa86a841d62a04b22e1caed466 </div>
<div style="display:none"> Gerrit-Change-Number: 16512 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>