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