Migrate version to use snakeoil's format_version() to append git commit info.
authorBrian Dolbec <dolsen@gentoo.org>
Thu, 30 May 2013 19:34:06 +0000 (12:34 -0700)
committerW. Trevor King <wking@tremily.us>
Sun, 15 Dec 2013 04:25:08 +0000 (20:25 -0800)
This will make tagging releases easy as well as providing better debug info while running live versions of the software.

catalyst/main.py
catalyst/version.py [new file with mode: 0644]

index 3e9cb7e90b81a6059b2e9b657b0036b9ba347902..9ca33ecef36872aa5cead54d4359233b22e62e03 100755 (executable)
@@ -23,10 +23,9 @@ from catalyst.defaults import hash_definitions, confdefaults, option_messages
 from hash_utils import HashMap
 from defaults import  contents_definitions
 from contents import ContentsMap
-
+from catalyst.version import get_version
 
 __maintainer__="Catalyst <catalyst@gentoo.org>"
-__version__="rewrite-git"
 
 conf_values={}
 
@@ -60,7 +59,7 @@ catalyst -f stage1-specfile.spec
 
 
 def version():
-       print "Catalyst, version "+__version__
+       print get_version()
        print "Copyright 2003-2008 Gentoo Foundation"
        print "Copyright 2008-2012 various authors"
        print "Distributed under the GNU General Public License version 2.1\n"
@@ -172,8 +171,8 @@ def build_target(addlargs):
 
 def main():
 
-       version()
        if os.getuid() != 0:
+               version()
                # catalyst cannot be run as a normal user due to chroots, mounts, etc
                print "!!! catalyst: This script requires root privileges to operate"
                sys.exit(2)
@@ -207,11 +206,12 @@ def main():
        run = False
        for o, a in opts:
                if o in ("-h", "--help"):
+                       version()
                        usage()
                        sys.exit(1)
 
                if o in ("-V", "--version"):
-                       print "Catalyst version "+__version__
+                       print get_version()
                        sys.exit(1)
 
                if o in ("-d", "--debug"):
@@ -267,6 +267,8 @@ def main():
                usage()
                sys.exit(2)
 
+       # made it this far so start by outputting our version info
+       version()
        # import configuration file and import our main module using those settings
        parse_config(myconfig)
 
diff --git a/catalyst/version.py b/catalyst/version.py
new file mode 100644 (file)
index 0000000..03c77e4
--- /dev/null
@@ -0,0 +1,23 @@
+#!/usr/bin/python -OO
+
+# Maintained in full by:
+# Catalyst Team <catalyst@gentoo.org>
+# Release Engineering Team <releng@gentoo.org>
+# Copyright: 2011 Brian Harring <ferringb@gmail.com>
+# License: BSD/GPL2
+# Copied & edited by: Brian Dolbec <dolsen@gentoo.org>
+
+'''Version information and/or git version information
+'''
+
+from snakeoil.version import format_version
+
+__version__="rewrite-git"
+_ver = None
+
+def get_version():
+       """Return: a string describing our version."""
+       global _ver
+       if _ver is None:
+               _ver = format_version('catalyst',__file__, __version__)
+       return _ver