1. I added a versioning system to hwloc (same one that we use in OMPI and PLPA). It's controlled by the top-level VERSION file -- have a look; there's lots of comments and explanations in there. You now set all of hwloc's version numbers from this file (***including the hwloc.so version***) -- no need to edit configure.ac or anything else.

2. There is now two ways to make tarballs:

2a. "make dist" -- will append the SVN r number (or hg tip checksum -- feel free to add logic for git, if you care) to the version. This is a "developer snapshot" tarball and is not an official release. They're great for sending to users for testing, etc.

2b. "./contrib/dist/make_dist_tarball" -- will make an official release tarball (no SVN/hg/whatever version number appended to the hwloc version number).

Here's a concrete example:

- "make dist" will make hwloc-0.9.1a1r948.tar.gz
- "./contrib/dist/make_dist_tarball" will make hwloc-0.9.1a1.tar.gz

The reason for this distinction was that we found it critical to distinguish between random OMPI tarballs floating around on the net. It makes it trivially easy to look at a tarball and know if it's a developer snapshot or official release.

3. "make dist" now goes out and gets the latest config.sub and config.guess from gnu.org and puts it in the tarball. As mentioned last night, "make dist" will fail if you don't have the right doxygen tools and w3m. (I have not put the "run doxygen" and "run w3m" stuff in "make dist" yet -- I will soon).

4. "make_dist_tarball" looks for a specific version set of the GNU Autotools (currently: LT 2.2.6, AC 2.64, AM 1.11). This is to ensure absolute repeatability of the tools used to create an official release tarball.

FWIW: for OMPI, we usually lock down a set of tools for a given version series (e.g., for the life of the 1.3 series). make_dist_tarball also runs "make distcheck" to run a bunch of sanity checks on the tarball itself before succeeding.

5. I added some Mercurial helper scripts (e.g., build up a .hgignore file from svn:ignore properties). I saw that someone committed something similar with .gitignore -- you might want to put your scripty-foo for that in contrib/git, or somesuch? The contrib/ tree is not included in the tarball; they're just helper scripts for us (developers).

Let me know if you have questions / problems / hate what I've done.  :-)

--
Jeff Squyres
jsquy...@cisco.com

Reply via email to