Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Development mailing list

Subject: Re: [hwloc-devel] git / nightly builds
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2013-10-02 12:05:22


Sorry for the delay in replying.

On Sep 29, 2013, at 10:32 AM, Brice Goglin <Brice.Goglin_at_[hidden]> wrote:

> Now why do we still need a call to git-describe in get_version.sh? Isn't
> this script supposed to just read what distscript.csh did? (which would
> mean that "if test -z "$HWLOC_SNAPSHOT_VERSION" is useless). Or do you
> need that as a fallback for when we compile instead of doing make dist?
> In one case, we force the snapshot by modifying VERSION (make dist), in
> the other case we git describe at runtime (make). It would be good to
> merge these two cases somehow.

Basically, there's a (possibly artificial?) disparity between:

1. running "make dist" from a developer clone
2. pre-processing VERSION to put in the describe version and then running "make dist" (i.e., the make_*_tarball scripts)

Specifically, VERSION in the repo has:

snapshot=1
snapshot_version=

Ie., snapshot_version is blank. Which is why get_version.sh will fill in the current "git describe" value if snapshot_version is blank.

But you're right -- this is putting "git describe" in two places. What if VERSION in the repo has:

snapshot=1
snapshot_version=gitclone

And therefore get_version.sh always just uses the snapshot_version value (because it will never be blank).

The downside of this is that "make dist" from a dev clone won't accurately represent the tree, but that's probably ok.

*** If you're kosher with this, I'll remove that extra logic from get_version.sh. Maybe I'll make it error if "snapshot_version" is empty, or something.

>> 2. contrib/nightly/make_snapshot_tarball:
>> - Invoked via cron on the build machine
>> [snip]
>
> Ok I didn't know that there was so website-specific things in that
> script. I assumed it was mainly a make distcheck (if so, I would have
> tried to reuse it in the regression testing tool).

K. I think "make dist[check]" is the heart of everything (and the thing that is "re-used", so to speak everywhere); the rest is processing that we do for whatever reason that the tarball is being built.

Any other thoughts on how we can simplify things?

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/