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
             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))
 
     # 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 = []
     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
 
     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