[Python-checkins] r73527 - distutils/trunk/setup.py

tarek.ziade python-checkins at python.org
Tue Jun 23 17:32:06 CEST 2009


Author: tarek.ziade
Date: Tue Jun 23 17:32:06 2009
New Revision: 73527

Log:
storing the svn revision the build is done with

Modified:
   distutils/trunk/setup.py

Modified: distutils/trunk/setup.py
==============================================================================
--- distutils/trunk/setup.py	(original)
+++ distutils/trunk/setup.py	Tue Jun 23 17:32:06 2009
@@ -4,6 +4,7 @@
 import sys
 import re
 import os
+import ConfigParser
 
 from distutils.core import setup
 
@@ -18,6 +19,7 @@
 finally:
     README_FILE.close()
 
+
 # taken from setuptools
 def get_svn_revision():
     """Will get the svn revision out of .svn"""
@@ -53,11 +55,32 @@
 
     return str(revision)
 
+SETUP_CFG = os.path.join(os.path.dirname(__file__), 'setup.cfg')
+
+def store_svn_revision():
+    setup_cfg = ConfigParser.ConfigParser()
+    setup_cfg.read([SETUP_CFG])
+    if not setup_cfg.has_section('egg_info'):
+        setup_cfg.add_section('egg_info')
+    setup_cfg.set('egg_info', 'tag-svn-revision', get_svn_revision())
+    setup_cfg.write(open(SETUP_CFG, 'w'))
+
+def get_stored_svn_revision():
+    setup_cfg = ConfigParser.ConfigParser()
+    setup_cfg.read([SETUP_CFG])
+    return setup_cfg.get('egg_info', 'tag-svn-revision')
+
+# when launching with sdist, we want to compute the version using
+# the svn info, then store it in setup.cfg otherwise we use the one stored
+# in setup.cfg
+if 'sdist' in sys.argv:
+    store_svn_revision()
+
 if TRUNK_VERSION:
     # for dev releases, the version is computed
     # with the svn tag
     version = '%sdev-r%s' % (sys.version.split()[0],
-                             get_svn_revision())
+                             get_stored_svn_revision())
 else:
     version = sys.version.split()[0]
 


More information about the Python-checkins mailing list