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
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
Let me know if you have questions / problems / hate what I've done. :-)