[virt-tools-list] [PATCH v6 4/5] add option for snapshot-id suffix to __version__

Gene Czarcinski gene at czarc.net
Mon Apr 15 09:01:20 UTC 2013


On 04/14/2013 07:36 PM, Gene Czarcinski wrote:
> On 04/14/2013 02:35 PM, Cole Robinson wrote:
>> On 04/13/2013 05:42 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 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")
>>> +
>> Why do it like this and not just add user_options to the my_sdist 
>> definition?
>> Look at the configure example that you edited in the previous patch.
> What you say here makes sense.  Unfortunately, it does not work for me 
> ... maybe I have the reverse midas touch ;(
>
> I need to specify the user_option =[] for rpm but it is subclassed off 
> Command.  And this should work because I am really doing the snapshot 
> append based on the setting of cliconfig.__snapshot__

OK, I came up with a whole different kind of kludge.  Lets see if this 
appeals more that the previous kluge.

1. rename "my_sdist" to "my_sdist_auto" and add:
       "sdist_auto": my_dist_auto
to th cmdclass list.

Remove the code which inserted the entry into sdist's user_options 
list.  Don't do anything with checking for options and just add the 
snapshot suffix depending on the setting of cliconfig.__snapshot__.

Change "rpm" to do:
      self.run_command('sdist_auto')

Now, create a new "my_sdist" class definition which looks like the 
definition for class "my_rpm" except for the name and the running of 
rpmbuild.

This has been tested and works.  Which kluidge do you want me to go with?

   1 - modifiies sdist's user_options list

  2 - creates a front-end which handles the --snapshot or -s options and 
a back-end which does the real sdist work.

Right now, I would have to flip a coin to choose although #2 has a 
slight edge since it is my latest approach.

Gene




More information about the virt-tools-list mailing list