From 637e4b28cbd091766ee51687be435d12bb6c2a32 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Thu, 25 Oct 2012 22:19:27 +0200 Subject: [PATCH] include base for dynamic and static versioning Signed-off-by: Nico Schottelius --- build | 16 ++++++++++++++-- doc/dev/logs/2012-10-25.version-split | 7 ++++--- lib/cdist/__init__.py | 11 +++-------- lib/cdist/version.py | 1 + lib/cdist/version_dynamic.py | 27 +++++++++++++++++++++++++++ 5 files changed, 49 insertions(+), 13 deletions(-) create mode 120000 lib/cdist/version.py create mode 100644 lib/cdist/version_dynamic.py diff --git a/build b/build index bec7f5a9..a9647ff1 100755 --- a/build +++ b/build @@ -134,7 +134,7 @@ case "$1" in ;; clean) - rm -f ${MAN7DSTDIR}/cdist-reference.text + rm -f ${MAN7DSTDIR}/cdist-reference.text lib/cdist/version.py find "${MANDIR}" -mindepth 2 -type l \ -o -name "*.1" \ -o -name "*.7" \ @@ -154,7 +154,19 @@ case "$1" in fi ;; - *) + version-dynamic) + cd lib/cdist/ + ln -sf version_dynamic.py version.py + ;; + + version-dist) + version=$(cat .version) + cd lib/cdist/ + echo "VERSION=\"$version\"" > version_static.py + ln -sf version_static.py version.py + ;; + + *) echo '' echo 'Welcome to cdist!' echo '' diff --git a/doc/dev/logs/2012-10-25.version-split b/doc/dev/logs/2012-10-25.version-split index 975e1173..f381c48f 100644 --- a/doc/dev/logs/2012-10-25.version-split +++ b/doc/dev/logs/2012-10-25.version-split @@ -1,3 +1,4 @@ -- store version in .version -- when distributed / packaged, include .version into sourcecode -- when in git checkout, use dynamic versioning +x store version in .version +x when distributed / packaged, include .version into sourcecode + split into two files +x when in git checkout, use dynamic versioning diff --git a/lib/cdist/__init__.py b/lib/cdist/__init__.py index 85bc5f77..02d708b1 100644 --- a/lib/cdist/__init__.py +++ b/lib/cdist/__init__.py @@ -22,14 +22,9 @@ import os import subprocess -try: - with open(os.devnull, 'w') as devnull: - here = os.path.dirname(os.path.realpath(__file__)) - VERSION = subprocess.check_output( - 'cd "%s" && git describe' % here, - stderr=devnull, shell=True).decode('utf-8') -except: - VERSION = "2.0.14" +import cdist.version + +VERSION = cdist.version.VERSION BANNER = """ .. . .x+=:. s diff --git a/lib/cdist/version.py b/lib/cdist/version.py new file mode 120000 index 00000000..153cf043 --- /dev/null +++ b/lib/cdist/version.py @@ -0,0 +1 @@ +version_dynamic.py \ No newline at end of file diff --git a/lib/cdist/version_dynamic.py b/lib/cdist/version_dynamic.py new file mode 100644 index 00000000..5f69f374 --- /dev/null +++ b/lib/cdist/version_dynamic.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# +# 2010-2012 Nico Schottelius (nico-cdist at schottelius.org) +# +# This file is part of cdist. +# +# cdist is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# cdist is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with cdist. If not, see . +# +# + +import os +import subprocess + +here = os.path.dirname(os.path.realpath(__file__)) +VERSION = subprocess.check_output('cd "%s" && git describe' % here, + shell=True).decode('utf-8')