[virt-tools-list] [PATCH-v5.5 5/5] virt-manager version-id changes
Cole Robinson
crobinso at redhat.com
Thu Apr 11 16:28:39 UTC 2013
On 04/11/2013 12:16 PM, Gene Czarcinski wrote:
> On 04/10/2013 06:29 PM, Cole Robinson wrote:
>> Gene, I'm sorry, but I truly have no interest in maintaining this as part of
>> virt-manager. The problems you describe affect just about every open source
>> project I've worked on, so even though it_is_ sub optimal it's common enough
>> that it clearly doesn't cause too much grief, so it doesn't warrant such a
>> complex solution.
> OK, lets step back a moment. Before, considering how something is
> implemented, I want to consider what is implemented and I have the following
> separate issues.
>
> 1. When python setup.py sdist is run and IF we are running under a giot-clone
> repository, then there should be a check made for outstanding/uncommited
> changes and if such changes exist, creating the tarball should be aborted.
>
> My reasoning is that the tarball should have a "good, known base."
>
> There is the possibility that python setup.py sdist was not run under a
> git-clone repository, the execution should proceed.
>
If we add the MANIFEST file, I don't see why this is required really. What if
I want to create a test RPM with uncommitted changes, why should that be
disallowed? That's not a pathological example either, I've certainly done that
on several occasions when making big build system changes. Yes, I could commit
my changes first, but really, why add code to enforce it?
> 2. Never mind what it is or how it is done, is it desirable to have some sort
> of snapshot id? Yes, many projects have this problem, but that does not mean
> it should be ignored.
>
> My submitted solution has many problems including that it is way
> over-engineered. I forgot the KISS principle. I was looking for something
> simple and the solution got a life of its own.
>
> While it might be "nice" to capture the information returned by
> git-describe--tags, the real issue (IMHO) is to have some simple version
> differentiator for tarball and rpm names ... autobuild.sh does provide a
> differentiator for the RPMs it builds.
>
> RPM maintainers also do their own differentiation when they build an updated
> version of some program which is not based on an official release but instead
> a point-in-time snapshot of a git repository.
>
> So, back to the basic question: is a snapshot file-name differentiator
> something desirable?
I understand why having an RPM and tarball with a git commit/tag derived
version is useful for certain usecases. But I don't think it's sufficiently
useful that we should do it by default or complicate the build system to do so.
I think this can be solved by adding an option to sdist or rpm subcommands
that allows temporarily overwriting __version__. Then all the __version__
building logic can be moved to an external script, which just passes the value
to setup.py
- Cole
More information about the virt-tools-list
mailing list