Require zipfile35 only for rpms for py<3.5
authorChristian Herdtweck <christian.herdtweck@intra2net.com>
Mon, 28 Jan 2019 09:56:55 +0000 (10:56 +0100)
committerChristian Herdtweck <christian.herdtweck@intra2net.com>
Thu, 7 Feb 2019 15:53:34 +0000 (16:53 +0100)
make_dist.py

index 06b1e9b..6122245 100755 (executable)
@@ -27,8 +27,7 @@ from glob import iglob
 INSTALL_DIR_PATTERN = '/usr/lib/python{}/site-packages'
 
 RPM_OPTIONS = dict(packager='Intra2net', group='Intra2net',
-                   vendor='Intra2net AG',
-                   requires='python3-zipfile35') \
+                   vendor='Intra2net AG')
 
 DIST_DIR = 'dist'
 SPEC_FILE = join(DIST_DIR, 'pyi2ncommon.spec')
@@ -45,7 +44,8 @@ PYTHONPATH=./src:$PYTHONPATH && python3 -m unittest discover test
 
 """
 
-def run_setup(command, cmd_line_args=None, install_options=None):
+def run_setup(command, cmd_line_args=None, install_options=None,
+              need_zip35=False):
     """
     Run python3 setup.py with command and options.
 
@@ -54,8 +54,11 @@ def run_setup(command, cmd_line_args=None, install_options=None):
     are then read ... Grrr!
     """
     config = ConfigParser()
-    if RPM_OPTIONS:
-        config['bdist_rpm'] = RPM_OPTIONS
+    rpm_options = dict(RPM_OPTIONS.items())
+    if need_zip35:
+        rpm_options['requires'] = 'python3-zipfile35'
+    if rpm_options:
+        config['bdist_rpm'] = rpm_options
     if install_options:
         config['install'] = install_options
     need_delete = False
@@ -94,8 +97,14 @@ def create_rpm(py_version):
     install_options = {'prefix': '/'}
     install_options['install-lib'] = INSTALL_DIR_PATTERN.format(py_version)
 
+    # if py_version is smaller than 3.5, need zipfile35 as extra dependency
+    need_zip35 = py_version.startswith('2') or py_version.startswith('3.0') or\
+        py_version.startswith('3.1') or py_version.startswith('3.2') or \
+        py_version.startswith('3.3') or py_version.startswith('3.4')
+
     # create rpm
-    run_setup('bdist_rpm', install_options=install_options)
+    run_setup('bdist_rpm', install_options=install_options,
+              need_zip35=need_zip35)
 
     # find rpm and rename it
     newest_name = None