[virt-tools-list] [PATCH v6 4/5] add option for snapshot-id suffix to __version__
Gene Czarcinski
gene at czarc.net
Sat Apr 13 21:42:40 UTC 2013
1. The added suffix is in the form YYYYMMDD and that is all.
2. Code is added to classes my_sdist and my_rpm to check and
see is a snapshot id is requested (--snapshot) and, if
requested, to append the id to the value of cliconfig.__version__
3. The added suffix only applies to the name of the sdist-tarball
and the rpm spec file it includes ... the "internal" version
remains unchanged.
.
Signed-off-by: Gene Czarcinski <gene at czarc.net>
---
setup.py | 33 +++++++++++++++++++++++++++++----
virtcli/cliconfig.py | 2 ++
2 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/setup.py b/setup.py
index aa712c2..ace1c3e 100644
--- a/setup.py
+++ b/setup.py
@@ -5,6 +5,7 @@ import fnmatch
import os
import sys
import unittest
+from datetime import date
from distutils.core import Command, setup
from distutils.command.sdist import sdist
@@ -20,6 +21,10 @@ from DistUtilsExtra.command.build_icons import build_icons
from virtcli import cliconfig
+sdist.user_options.insert(0, ("snapshot", None,
+ "add snapshot id to version"))
+sdist.boolean_options.insert(0, "snapshot")
+
def _generate_potfiles_in():
def find(dirname, ext):
@@ -178,12 +183,29 @@ class my_install(install):
install.finalize_options(self)
+# Note: cliconfig.__snapshot__ by default is 0, it can be set to 1 by
+# either sdist or rpm and then means snapshot suffix is appended.
+
class my_sdist(sdist_auto, sdist):
user_option = []
description = "Update virt-manager.spec; build sdist-tarball."
+ def initialize_options(self):
+ self.snapshot = None
+ sdist.initialize_options(self)
+
+ def finalize_options(self):
+ if self.snapshot is not None:
+ self.snapshot = 1
+ cliconfig.__snapshot__ = 1
+ sdist.finalize_options(self)
+
def run(self):
ver = cliconfig.__version__
+ if cliconfig.__snapshot__ == 1:
+ ver = ver + '.' + date.today().isoformat().replace('-', '')
+ cliconfig.__version__ = ver
+ setattr(self.distribution.metadata, 'version', ver)
f1 = open('virt-manager.spec.in', 'r')
f2 = open('virt-manager.spec', 'w')
for line in f1:
@@ -198,14 +220,17 @@ class my_sdist(sdist_auto, sdist):
###################
class my_rpm(Command):
- user_options = []
- description = "Build a non-binary rpm."
+ user_options = [("snapshot", None,
+ "add snapshot id to version")]
+ description = "Build src and noarch rpms."
def initialize_options(self):
- pass
+ self.snapshot = None
def finalize_options(self):
- pass
+ if self.snapshot is not None:
+ self.snapshot = 1
+ cliconfig.__snapshot__ = 1
def run(self):
"""
diff --git a/virtcli/cliconfig.py b/virtcli/cliconfig.py
index 06bc342..de21643 100644
--- a/virtcli/cliconfig.py
+++ b/virtcli/cliconfig.py
@@ -42,6 +42,8 @@ def _get_param(name, default):
__version__ = "0.9.100"
+__snapshot__ = 0
+
_usr_version = _get_param("pkgversion", "")
if _usr_version is not None and _usr_version != "":
__version__ = _usr_version
--
1.8.1.4
More information about the virt-tools-list
mailing list