Add release argument to make_dist.py
authorChristian Herdtweck <christian.herdtweck@intra2net.com>
Tue, 12 Feb 2019 08:54:57 +0000 (09:54 +0100)
committerChristian Herdtweck <christian.herdtweck@intra2net.com>
Tue, 12 Feb 2019 08:54:57 +0000 (09:54 +0100)
This should simplify introducing a proper labeling of development versions
of pyi2ncommon (the -avocado-test-X naming scheme did not prove successful)

make_dist.py

index 683b1f6..cf4fb48 100755 (executable)
@@ -21,7 +21,7 @@ TODO: allow modification of release string from cmd line args (e.g. "testing")
 import os
 from os.path import join, isfile
 import sys
-from subprocess import call
+from subprocess import call, check_output
 from tempfile import mkstemp
 from configparser import ConfigParser
 from glob import iglob
@@ -81,7 +81,7 @@ def run_setup(command, cmd_line_args=None, install_options=None,
             need_delete = False
 
 
-def create_rpm(py_version):
+def create_rpm(py_version, release):
     """Create rpm that will install pyi2ncommon for given python version."""
     print('Creating RPM for python version {}'.format(py_version))
 
@@ -108,7 +108,7 @@ def create_rpm(py_version):
     # create rpm
     start_time = time.time()
     run_setup('bdist_rpm', install_options=install_options,
-              need_zip35=need_zip35)
+              cmd_line_args=['--release', release], need_zip35=need_zip35)
 
     # find rpm and rename it
     newest_names = []
@@ -137,11 +137,11 @@ def create_rpm(py_version):
     return mod_name
 
 
-def create_spec():
+def create_spec(release):
     """Create .spec file and modify it."""
     print('adapting spec file')
     # create spec
-    run_setup('bdist_rpm', cmd_line_args=['--spec-only'])
+    run_setup('bdist_rpm', cmd_line_args=['--spec-only', '--release', release])
 
     # adapt
     temp_handle = None
@@ -184,17 +184,23 @@ def main():
 
     see module doc for more info
     """
+    release = None
+    py_versions = ['3.3', '3.6']
     if len(sys.argv) > 1:
-        versions = sys.argv[1:]
+        release = sys.argv[1].replace('-', '_')
     else:
-        versions = ['3.3', '3.6']
+        release = check_output(['git', 'log', '--pretty=format:%h', '-n', '1'],
+                               universal_newlines=True)
+    if len(sys.argv) > 2:
+        py_versions = sys.argv[2:]
     files_created = []
-    for version in versions:
-        files_created.append(create_rpm(version))
-    files_created.append(create_spec())
+    for py_version in py_versions:
+        files_created.append(create_rpm(py_version, release))
+    files_created.append(create_spec(release))
 
     for filename in files_created:
         print('Created {}'.format(filename))
+    print('(+ probably source rpm and tar.gz)')
     return 0