get revision from git; make it work everywhere

This commit is contained in:
Thomas Vander Stichele
2013-07-29 12:36:45 +02:00
parent 430ee02a71
commit 85300a9529
5 changed files with 24 additions and 3 deletions

View File

@@ -38,6 +38,10 @@ AC_SUBST(PYTHONLIBDIR)
AS_AC_EXPAND(PLUGINSDIR, "\${libdir}/morituri/plugins")
AC_MSG_NOTICE(Setting plugins directory to $PLUGINSDIR)
dnl get git revision for installed.py.in
AC_SUBST(REVISION, `python -c 'from morituri.configure import configure; print configure.revision'`)
AC_MSG_NOTICE(Setting revision to $REVISION)
dnl check for epydoc
AC_CHECK_PROG(EPYDOC, epydoc, yes, no)
AM_CONDITIONAL(HAVE_EPYDOC, test "x$EPYDOC" = "xyes")

View File

@@ -23,6 +23,7 @@
import os
import os.path
import commands
import math
import subprocess
@@ -331,3 +332,17 @@ class VersionGetter(object):
raise
return version
def getRevision():
"""
Get a revision tag for the current git source tree.
Appends -modified in case there are local modifications.
"""
describe = commands.getoutput('git describe')
if commands.getoutput('git diff-index --name-only HEAD --'):
describe += '-modified'
return describe

View File

@@ -22,8 +22,6 @@ import os
# where am I on the disk ?
__thisdir = os.path.dirname(os.path.abspath(__file__))
revision = "$Revision$"
if os.path.exists(os.path.join(__thisdir, 'uninstalled.py')):
from morituri.configure import uninstalled
config_dict = uninstalled.get()

View File

@@ -7,4 +7,5 @@ def get():
'isinstalled': True,
'pluginsdir': '@PLUGINSDIR@',
'version': '@VERSION@',
'revision', '@REVISION@',
}

View File

@@ -1,7 +1,9 @@
# -*- Mode: Python -*-
# vi:si:et:sw=4:sts=4:ts=4
import os
import os.path
from morituri.common import common
__thisdir = os.path.dirname(os.path.abspath(__file__))
@@ -13,4 +15,5 @@ def get():
'pluginsdir': os.path.abspath(os.path.join(
__thisdir, '..', '..', 'plugins')),
'version': '@VERSION@',
'revision': common.getRevision(),
}