Punchlist for creating a new ClassAds release
- Ensure
src/classad/CHANGELOG
has all relevant changes. Add a section for the new version if necessary. - Update the version number and release date in the follow files:
src/classad/CHANGELOG
src/classad/do_packaging
: DIST_VERSIONsrc/classad/README
: first linesrc/classad/classad.cpp
: ClassAdLibraryVersion() Update both functions with this name!src/classad/Doxyfile
: PROJECT_NUMBER
- Update the shared library version number in
src/classad/Makefile.am.m4
. Look for these two lines:libclassad_la_LDFLAGS = -version-info 1:0:0 libclassad_ns_la_LDFLAGS = -version-info 1:0:0
This ABI compliance checker program may be useful: http://ispras.linuxfoundation.org/index.php/ABI_compliance_checker
Note: The version given here isn't quite the version you'll see on the
.so files. Libtool converts it like so: -version-info
A:B:C results in
libclassad.so.
<A-C>.<C>.<B>.
When releasing a version with incompatible ABI changes, you can end up
with a big jump in the major version of the .so if you just increment A
and set B and C to zero. Instead, you can set the
new version like so: -version-info
<1+A-C>:0:0. This will result in the
major version of the .so incrementing by one.
- run
do_packaging
insrc/classad
- Ensure the release builds successfully
cd classads-1.0.8 ./configure make make check cd ..
- Edit TAGS and add a new tag name for this version.
- Ensure all of your changes are committed.
- Tag the release:
git tag classads_1_0_8 git push origin classads_1_0_8
- Copy the release tarball into
/p/condor/public/ftp/classad/c++/
. - Copy
src/classad/CHANGELOG
to/p/condor/public/html/classad/c++changelogs/changes-<version>.txt
. - Update
/p/condor/public/html/classad/classad.html
to mention the new release. - Update the Doxygen webpages:
/unsup/doxygen-1.7.1/bin/doxygen mv /p/condor/public/html/classad/c++doc /p/condor/public/html/classad/c++doc.old cp -r doc/html /p/condor/public/html/classad/c++doc rm -rf /p/condor/public/html/classad/c++doc.old