dev:release_process:opensrf:how_to_build
Rolling an OpenSRF release
NB: The following example prepares a release for OpenSRF version 3.3.2. Be sure to adjust version numbers as appropriate for whatever release number you are building.
- Ensure that the necessary packages are installed. On a Debian-derived system (including Ubuntu), you will need the following:
- git
- build-essential
- autoconf
- automake
- libtool
- pkg-config
- tar
- asciidoc
- source-highlight
- Create a local working branch for the release:
$ git checkout -b rel_3_3 origin/rel_3_3
- Add release notes for the latest release at the top of
doc/RELEASE_NOTES.txt
- Bump version numbers in the working branch:
- Update the AC_INIT() version number in the tagged release in
version.m4
- Update the version stamp in the tagged release (edit src/perl/lib/OpenSRF.pm)
- README
- Commit the changes:
$ git commit -as -m 'Bump up version numbers for 3.3.2'
- Update the ChangeLog in the tagged release:
$ # get the date of the last commit to the previous release $ git show osrf_rel_3_3_1 # last commit was 2024-06-25 $ # this is not perfect, but it's close enough... $ git log --numstat --since 2024-06-26 > ChangeLog $ git add ChangeLog $ git commit -sm 'Update ChangeLog for 3.3.2'
- Follow the steps to build and test the release and ensure that all tests pass.
- Push the working branch to origin:
git push origin rel_3_3
- Tag the branch and push the new tag to the public repository:
$ git tag -a osrf_rel_3_3_2 -m 'OpenSRF release 3.3.2' $ git push --tags
- Create a clean export of the files in a working directory (
/tmp
in the following example) and generate a tarball that contains the autotools-ized files:$ git archive --prefix=opensrf-3.3.2/ rel_3_3 | tar -C /tmp -xv $ cd /tmp/opensrf-3.3.2/ $ autoreconf -i $ cd .. $ tar zcvf opensrf-3.3.2.tar.gz opensrf-3.3.2/ $ md5sum opensrf-3.3.2.tar.gz > opensrf-3.3.2.tar.gz.md5 $ cp opensrf-3.3.2/ChangeLog OpenSRF-ChangeLog-3.3.2 $ cp opensrf-3.3.2/README README_3_3_2.adoc $ cp opensrf-3.3.2/doc/RELEASE_NOTES.txt RELEASE_NOTES_3_3_2.adoc $ asciidoc -a toc -a numbered README_3_3_2.adoc $ asciidoc -a toc -a numbered RELEASE_NOTES_3_3_2.adoc # Copy the bundle to the community server $ scp -P 3399 OpenSRF-ChangeLog-3.3.2 opensrf-3.3.2.tar.gz* *.html evergreen-ils.org:~/
- Bonus hygiene step: Take the tarball you just created and test installing OpenSRF from it; at the very least, ensure that
make check
passes. - Move the release files into the correct download directories:
- Previews / alphas / betas / release candidates go in
/var/www/open-ils.org/downloads/previews/
- Final releases go in
/var/www/open-ils.org/downloads/
- Install docs go in
/var/www/open-ils.org/documentation/install/OpenSRF/
- Release notes go in
/var/www/open-ils.org/documentation/release/OpenSRF/
dev/release_process/opensrf/how_to_build.txt · Last modified: 2024/06/27 11:59 by dyrcona