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 (
/tmpin 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 checkpasses. - 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