On Tue, Mar 20, 2012 at 15:08, Daniel Pocock <dan...@pocock.com.au> wrote:
> On 20/03/12 19:59, Jesse Becker wrote:
>> On Tue, Mar 20, 2012 at 14:52, Daniel Pocock <dan...@pocock.com.au> wrote:
>>
>>> On 20/03/12 19:27, Bernard Li wrote:
>>>
>>>> I don't really want to make a big deal out of this but I thought it
>>>> was long agreed that we would tag a release (eg. 3.3.2) and that would
>>>> potentially be our "Release Candidate".  If everything is fine, we
>>>> will just release as is otherwise we will discard 3.3.2, bump the
>>>> version to 3.3.3 and repeat the cycle.
>>>>
>>>>
>>>>
>>> I remember that discussion too, and I think was pushing that same
>>> argument - that it is easier to burn release numbers than to worry about
>>> suffixes
>>>
>> I agree.  So long as the numbers only increase, the minor release
>> number is basically irrelevant.
>>
>>
>>> That discussion was held in the days of SVN, when making a tag was quite
>>> painful
>>>
>>> Now we have git,
>>> - people can make local tags (almost like bookmarks?) whenever they like
>>> - you can make two tags on a single commit, because tags are like
>>> symlinks (e.g. 3.3.3rc1 and 3.3.3 both point to the same commit)
>>>
>>> This comes back to my earlier comments: the tags I have made today (e.g.
>>> 3.3.3dp1) are not intended for packaging, it is just a helpful reminder
>>> for me to know how I built the tarball for people to test.  I think it
>>> is a useful phase in the release process.
>>>
>>> Once we get to the point where people want to test proper versioned
>>> RPMs, then we use a real tag (e.g. 3.3.3) and if the RPMs are proved to
>>> be dodgy after that tag is made, then we burn the version number and try
>>> 3.3.4
>>>
>> Now, with RPM releases, it may not be that bad.  RPMs inherently
>> support a "release" (in the RPM lingo), which is the least significant
>> digit in the complete version number.  If we have a ganglia release of
>>
>
> What is the intention of that release number though?

Yeah, the nomenclature gets confusing here. :-)

> Is that intended to be maintained by upstream?
>
> Or is it reserved for the packager?

The RPM "version" tag is maintained by "upstream."  Only in rare cases
should an outside packager "assign" a version number.  And when they
do, IMO, it should be strictly date based--such as "20120320"--instead
of an arbitrary "version 1.0".

The RPM "release", on the other hand, is strictly the purvue of the
packager, and indicates changes to the package that is distributed.
This can included updated metadata for the package, a fix to the build
or install process used in creating the package, fixing permissions,
or even adding code patches to the pristine upstream source code.  All
of those are legitimate.


> If the Ganglia community releases a tarball called, 3.3.3-2.tar.gz, for
> example, then someone building RPM packages might release 3.3.3-2-1

If the Ganglia project really did release "3.3.3-2.tar.gz", we should
have our heads examined. :)

But yes, the resulting RPM could potentiall appear as you described,
and it would be a mess.


> The next day, the packager decides to modify a file location within his
> spec file.  He is still using the same upstream tarball.  He bumps his
> release number to 2, so it is 3.3.3-2-2.rpm

Yep.

> In this case, the release number is used to distinguish different
> versions of a spec file maintained outside Ganglia.

That's exactly right.

> The same type of thing happens with Debian - the Debian maintainers keep
> their own artefacts in a repository, and they add a suffix to create the
> version numbers of their packages.

We maintain an RPM repository at $day_job of program that come from
various researchers--many of whom wouldn't know proper software
engineering processes if they were hit over the head with a printed
copy of the of the CMM.  Suffice it to say that we have a lot of
"interesting" version and number schemes to deal with. :-/

> One other comment: when I did the MSI packages (with WiX), I discovered
> the nasty world of Windows packaging, where you can only have a 4 byte
> version number, basically like an IP address, written as A.B.C.D where
> each value is between 0-255.  Does anyone still build MSI packages?

Does anyone care? :)

The most complicated, non-contrived version/releases I've see are in
the kernel RPM packages.  Here are some examples from a production
Centos 5 host.  First, the full package is shown, including the name,
version, release and arch of the package:

  $ rpm -q kernel
  kernel-2.6.18-194.32.1.el5.centos.plus.x86_64
  kernel-2.6.18-238.9.1.el5.centos.plus.x86_64

Now, just showing the version and release:

  $ rpm -q --qf "%{version}  %{release}\n" kernel
  2.6.18  194.32.1.el5.centos.plus
  2.6.18  238.9.1.el5.centos.plus

This works correctly because of the leading numbers in the release
tag--even though there is a bunch of extra non-numeric content as
well.



-- 
Jesse Becker

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers

Reply via email to