[rtems-tools commit] VERSION as an INI format file.

Chris Johns chrisj at rtems.org
Fri Dec 11 06:17:16 UTC 2015


Module:    rtems-tools
Branch:    4.11
Commit:    2244c9bb36c15f89a13efc1858bdd621d955c10b
Changeset: http://git.rtems.org/rtems-tools/commit/?id=2244c9bb36c15f89a13efc1858bdd621d955c10b

Author:    Chris Johns <chrisj at rtems.org>
Date:      Fri Dec 11 17:01:51 2015 +1100

VERSION as an INI format file.

One section is supported [version] with a 'release' entry.

---

 rtemstoolkit/version.py | 19 +++++++++++--------
 wscript                 | 21 ++++++++++++++++-----
 2 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/rtemstoolkit/version.py b/rtemstoolkit/version.py
index 16e9ad9..26ac655 100644
--- a/rtemstoolkit/version.py
+++ b/rtemstoolkit/version.py
@@ -42,7 +42,9 @@ import path
 #
 # Default to an internal string.
 #
-_version_str = '4.11.not_release'
+_version = '4.11'
+_revision = 'not_released'
+_version_str = '%s.%s' % (_version, _revision)
 _released = False
 _git = False
 
@@ -56,12 +58,13 @@ def _load_released_version():
     for ver in [at, path.join(at, '..')]:
         if path.exists(path.join(ver, 'VERSION')):
             try:
-                with open(path.join(ver, 'VERSION')) as v:
-                    _version_str = v.readline().strip()
-                v.close()
-                _released = True
-            except:
-                raise error.general('Cannot access the VERSION file')
+                import configparser
+            except ImportError:
+                import ConfigParser as configparser
+            v = configparser.SafeConfigParser()
+            v.read(path.join(ver, 'VERSION'))
+            _version_str = v.get('version', 'release')
+            _released = True
     return _released
 
 def _load_git_version():
@@ -74,7 +77,7 @@ def _load_git_version():
             modified = ' modified'
         else:
             modified = ''
-        _version_str = '%s (%s%s)' % (_version_str, head[0:12], modified)
+        _version_str = '%s (%s%s)' % (_version, head[0:12], modified)
         _git = True
     return _git
 
diff --git a/wscript b/wscript
index 9ed3e1b..e271f81 100644
--- a/wscript
+++ b/wscript
@@ -39,11 +39,22 @@ def get_version(ctx):
     release = '4.11.not_released'
     if os.path.exists('VERSION'):
         try:
-            with open('VERSION') as v:
-                release = v.readline().strip()
-            v.close()
-        except:
-            ctx.fatal('cannot access the VERSION file')
+            import configparser
+        except ImportError:
+            import ConfigParser as configparser
+        v = configparser.SafeConfigParser()
+        v.read('VERSION')
+        release = v.get('version', 'release')
+    else:
+        from rtemstoolkit import git
+        repo = git.repo('.')
+        if repo.valid():
+            head = repo.head()
+            if repo.dirty():
+                modified = '_modified'
+            else:
+                modified = ''
+            release = '%s.%s%s' % (version, head[0:12], modified)
     last_dot = release.rfind('.')
     if last_dot == -1:
         ctx.fatal('invalid VERSION file')



More information about the vc mailing list