tiramisu/setup.py
Daniel Dehennin 5730a97728 Dynamic version and Makefile target to generate a distribution
The version is extracted from the last tag name minus the 'release/'
prefix.

* AUTHORS: Add mysel as contributor.

* setup.py: Add a function to get version from extracted version.in file
  or from the last tag name.

* Makefile: Add a target to generate the version.in file from the last
  tag name.

* .gitignore: Ignore the version.in file.
2012-07-24 15:16:40 +02:00

37 lines
1.1 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from distutils.core import setup
import os
def fetch_version():
"""Get version from version.in or latest git tag"""
version_file='version.in'
version = "0.0"
git_last_tag_cmd = ['git', 'describe', '--tags', '--abbrev=0']
try:
if os.path.isfile(version_file):
version=file(version_file).readline().strip()
elif os.path.isdir('.git'):
popen = subprocess.Popen(git_last_tag_cmd, stdout=subprocess.PIPE)
out, ret = popen.communicate()
for line in out.split('\n'):
if line:
version = line.lstrip('release/')
break
except OSError:
pass # Failing is fine, we just can't print the version then
return version
setup(
author='Gwenaël Rémond',
author_email='gremond@cadoles.com',
name='tiramisu',
version=fetch_version(),
description='configuration management tool',
url='http://labs.libre-entreprise.org/projects/tiramisu',
packages=['tiramisu']
)