On Tue, 2011-09-20 at 13:19 -0500, Steve Loranz wrote:
The reason I use the git describe output is that it will use the last
tag and tell me how far away I am from it while still allowing me to get back to a
specific commit. That allows for meaningful version information like 0.6.1 to come from
the tag instead of having to manually edit the spec AND tag the source and hope that I
remember to do that each time we want to cut a release.
Thanks for the explanation.
I'm not entirely clear on the utility of the timestamp portion of
the package name.
I believe it's needed to ensure that a package built from git today, is
*always* newer than a package built from git yesterday. Since the
git-hash isn't sequential, it's possible that RPM will interpret an
older git-hash as a newer/higher %{release}. To that end, I guess
really only the date stamp is needed. However, I do appreciate having
the short git-hash included since that clearly ties back to a point in
git-history.
Thanks,
James
On Sep 20, 2011, at 12:36 PM, James Laska wrote:
> Greetings #aeolus,
>
> I've been poking around with a script to ease the process of building
> and installing packages from git for various aeolus components. This
> script will be called by existing test automation scripts to prepare the
> environment prior to running tests.
>
> One thing I'm discovering is that not all git-built packages use a
> %{release} field. For example, the RPM %{release} field doesn't change
> even when the code changes. This makes it 1) hard to track down what
> source code is included in which git-built package, and 2) difficult to
> determine whether the git-build package installed last week, is older
> than the git-built package built today.
>
> For example [1] ...
>
> $ git clone
git://github.com/clalancette/oz.git
> $ cd oz && make rpm
> ...
> Wrote: /tmp/jlaska-rpm/SRPMS/oz-0.7.0-1.fc15.src.rpm
> Wrote: /tmp/jlaska-rpm/RPMS/noarch/oz-0.7.0-1.fc15.noarch.rpm
> ^^^^^^^
>
> As compared to aeolus-conductor, which includes a timestamp and githash
> in the %{release} ...
>
> $ git clone
git://git.fedorahosted.org/git/aeolus/conductor.git
> $ cd conductor && make rpms
> Wrote:
/root/rpmbuild/SRPMS/aeolus-conductor-0.4.0-0.20110920170119git369190d.fc16.src.rpm
> Wrote:
/root/rpmbuild/RPMS/noarch/aeolus-conductor-0.4.0-0.20110920170119git369190d.fc16.noarch.rpm
> Wrote:
/root/rpmbuild/RPMS/noarch/aeolus-conductor-daemons-0.4.0-0.20110920170119git369190d.fc16.noarch.rpm
> Wrote:
/root/rpmbuild/RPMS/noarch/aeolus-conductor-doc-0.4.0-0.20110920170119git369190d.fc16.noarch.rpm
> Wrote:
/root/rpmbuild/RPMS/noarch/aeolus-conductor-devel-0.4.0-0.20110920170119git369190d.fc16.noarch.rpm
>
> I guess the question for the list is, would folks be open to adjusting
> their [MR]akefile and .spec's to accommodate including either a
> timestamp or git-hash (or both) in the RPM %{release} for packages built
> from git? The packages for official Fedora releases wouldn't need this
> additional information (although it doesn't hurt). The following
> modules would be impacted by this proposal ...
>
> * audrey
> * iwhd
> * imagefactory - stores $(git describe) in %{version} -- that
> works too
> * libdeltacloud
>
> Thanks,
> James
>
> [1] Not meant to pick on Chris, I just like working in oz.git
> _______________________________________________
> aeolus-devel mailing list
> aeolus-devel(a)lists.fedorahosted.org
>
https://fedorahosted.org/mailman/listinfo/aeolus-devel