[virt-tools-list] [PATCH-v6.1 4/5] add option for snapshot-id suffix to __version__
Cole Robinson
crobinso at redhat.com
Wed Apr 17 19:36:44 UTC 2013
On 04/16/2013 08:44 PM, Gene Czarcinski wrote:
> 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 if
> a snapshot id is requested (--snapshot or -s) 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 | 41 +++++++++++++++++++++++++++++++++--------
> virtcli/cliconfig.py | 2 ++
> 2 files changed, 35 insertions(+), 8 deletions(-)
>
> diff --git a/setup.py b/setup.py
> index 167caf6..54d8299 100644
> --- a/setup.py
> +++ b/setup.py
> @@ -8,6 +8,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
> @@ -181,19 +182,40 @@ class my_install(install):
>
> install.finalize_options(self)
>
> -class my_sdist(sdist_auto, sdist):
> - user_option = []
> +# Note: cliconfig.__snapshot__ by default is 0, it can be set to 1 by
> +# either sdist or rpm and then the snapshot suffix is appended.
> +
> +class my_sdist(sdist_auto):
> + user_options=sdist.user_options + [
> + ("snapshot", "s", "add snapshot id to version")]
> +
> + boolean_options=sdist.boolean_options + ["snapshot"]
> +
> 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:
> f2.write(line.replace('@VERSION@', ver))
> f1.close()
> f2.close()
> - sdist.run(self)
> + sdist_auto.run(self)
>
Thanks Gene, I applied this series.
There's still a little weirdness here though, subclassing sdist_auto but
calling sdist.finalize_options, etc. I pushed an addon commit that fixed that
up, and fixed up some 'python setup.py pylint' output as well. rpm building
with and without --snapshot seem to work fine, but please confirm.
https://git.fedorahosted.org/cgit/virt-manager.git/commit/?id=52d9436c3b35a7d46f5110a2d035362c0c3cd9cc
Thanks,
Cole
More information about the virt-tools-list
mailing list