36 lines
1.8 KiB
Plaintext
36 lines
1.8 KiB
Plaintext
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 <version>" v<version>
|
|
Replace <version> 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.
|