File README.updating of Package zookeeper-kit
This package provides build dependencies for building Zookeeper using using
Tetra (ruby2.2-rubygem-tetra). Using Tetra is neccessary due Zookeeper's Ant
based build process downloading dependencies at build time. Tetra will keep
track of these downloaded dependencies when running a so-called "dry-run" build
on the maintainer's machine and generate a tarball (zookeeper-kit.tar.xz)
containing all of them. This tarball is then used to allow the same build to
run in an offline manner for the zookeeper package in OBS (where there is no
Internet connectivity on purpose in order to allow for reproducible builds).
To generate zookeeper-kit.tar.xz for a new version of Zookeeper, proceed as
follows (you will need to have Tetra installed for this):
1) Download an updated Zookeeper tarball. We'll assume the new version is 3.4.9
throughout the rest of this file, which is the version the package was at at
the time of this writing. Please substitute 3.4.9 by the actual version number
wherever it occurs.
2) Initialize a tetra build directory for your new tarball and cd to its source
directory:
# OBS checkouts may have colons in their directory names which messes with some
# Java build tools, so use a neutral location:
cp zookeeper-3.4.9.tar.gz /tmp; cd /tmp
tetra init zookeeper zookeeper-3.4.9.tar.gz
cd zookeeper/src/zookeeper-3.4.9
3) Perform a dry-run build with Tetra:
tetra dry-run
ant clean
ant -Divy.default.ivy.user.dir=/tmp/zookeeper/kit/ivy
# The actual ivy version may change with a newer Zookeeper release
cp src/java/lib/ivy-2.4.0.jar ../../kit/jars/
exit
4) Generate the new kit tarball:
tetra generate-all
You will now find an updated kit tarball in
/tmp/zookeeper/packages/zookeeper-kit/zookeeper-kit.tar.xz
Substitute this tarball for the existing one in the kit package and bump its
version.
Note: these instructions applied for Zookeeper-3.4.9 and may not be sufficient
for more recent Zookeeper versions. If they turn out to yield a broken kit
tarball and you end up fixing it, please update this file. Thank you!