blob: ce8e1a32a577813fc1216f6fb8ae246d264f6d98 [file] [log] [blame]
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 and CMakeLists.txt appropriately.
- For, 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/` from the top source directory. Running this script
will do the following.
- Removes all development build specific CFLAGS from
- 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
* Tag the release appropriately. The tag should also have an appropriate
- The git command is as follows:
$ git tag -m "Libarchive <version>" v<version>
Replace <version> with the version to be released.
* Copy all the generated wiki files and commit them into the
repository. Overwrite any preexisting files with the same name (these files
are always autogenerated from the libarchive release after every release).
* Update the website accordingly.
* Make an announcement to the libarchive-announce mailing list.