Notes on making a new release of libarchive =========================================== The following serves as a guide for libarchive developers on the general process to be followed when making a new release of libarchive. * Update build/version with the version number of the release to be made. * If the library's ABI has changed, the library's soname major version *MUST* be updated. Update configure.ac and CMakeLists.txt appropriately. - For configure.ac, the variable ARCHIVE_INTERFACE needs to be updated. - For CMakeLists.txt, the variable INTERFACE_VERSION needs to be updated. * Update the entries in the NEWS file accordingly. * Run `build/makerelease.sh` from the top source directory. Running this script will do the following. - Removes all Makefile.am development build specific CFLAGS from Makefile.am. - Update configure scripts and header files with the appropriate version number from build/version. - Rebuild the documentation directory. - Runs a full cmake build and test. - Runs a full autotools build and test. - Builds the .tar.gz and .zip distribution files. * Commit all changed files into git. - This should be build/version, NEWS, and the files edited by running build/makerelease.sh. * Tag the release appropriately. The tag should also have an appropriate message. - The git command is as follows: $ git tag -m "Libarchive " v Replace with the version to be released. * Copy all the generated wiki files and commit them into the libarchive.wiki repository. Overwrite any preexisting files with the same name (these files are always autogenerated from the libarchive release after every release). * Update the libarchive.org website accordingly. * Make an announcement to the libarchive-announce mailing list.