From 4dc187739d1ffd9dfa9fd5618e32646024f89ca9 Mon Sep 17 00:00:00 2001 From: Andres Mejia Date: Sun, 13 Jan 2013 23:25:40 -0500 Subject: [PATCH] Add notes on how to make a new release of libarchive for developers. --- build/README.txt | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 build/README.txt diff --git a/build/README.txt b/build/README.txt new file mode 100644 index 000000000..c1a0a64a2 --- /dev/null +++ b/build/README.txt @@ -0,0 +1,35 @@ +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.github.com website accordingly. +* Make an announcement to the libarchive-announce mailing list. -- 2.47.2