From afbfc031f7a9bc794439fde2bacf0d6916b84c1f Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Thu, 25 Oct 2012 19:12:22 +0200 Subject: [PATCH 1/3] begin to split off version information from source Signed-off-by: Nico Schottelius --- .version | 1 + doc/dev/logs/2012-10-25.version-split | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 .version create mode 100644 doc/dev/logs/2012-10-25.version-split diff --git a/.version b/.version new file mode 100644 index 00000000..3d45b5c6 --- /dev/null +++ b/.version @@ -0,0 +1 @@ +2.0.14 diff --git a/doc/dev/logs/2012-10-25.version-split b/doc/dev/logs/2012-10-25.version-split new file mode 100644 index 00000000..975e1173 --- /dev/null +++ b/doc/dev/logs/2012-10-25.version-split @@ -0,0 +1,3 @@ +- store version in .version +- when distributed / packaged, include .version into sourcecode +- when in git checkout, use dynamic versioning From 637e4b28cbd091766ee51687be435d12bb6c2a32 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Thu, 25 Oct 2012 22:19:27 +0200 Subject: [PATCH 2/3] 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') From d3c7abbaba7935efd8c4e6a9176ecef8ee36deb0 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Thu, 25 Oct 2012 22:32:05 +0200 Subject: [PATCH 3/3] ignore static version Signed-off-by: Nico Schottelius --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 69a8ea98..b86e4a99 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,6 @@ doc/man/man*/docbook-xsl.css # Python / cache __pycache__/ + +# Is static and will never be included +lib/cdist/version_static.py