File README.updating of Package storm-kit
This package provides build dependencies for building Storm using using Tetra
(ruby2.2-rubygem-tetra). Using Tetra is neccessary due Storm's Maven based
build process downloading dependencies at build time. Tetra will keep track of
these downloaded dependencies during a so-called "dry-run" build on the
maintainer's machine and generate a tarball (storm-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 storm package in OBS (where there is no Internet connectivity on
purpose in order to allow for reproducible builds). To generate storm-kit.tar.xz
for a new version of Storm, proceed as follows (you will need to have Tetra
installed for this):
1) Download an updated Storm tarball. We'll assume the new version is 1.2.3
throughout the rest of this file, which is the version the package was at at
the time of this writing. Please substitute 1.2.3
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 apache-storm-1.2.3-src.tar.gz /tmp; cd /tmp
tetra init storm apache-storm-1.2.3-src.tar.gz
3) Perform a dry-run build with Tetra:
cd /tmp/storm/src/apache-storm-1.2.3
tetra dry-run
mvn -DskipTests=true clean install
mvn -DskipTests=true package
mvn dependency:get -DgroupId=org.apache.maven.plugins -DartifactId=maven-gpg-plugin -Dversion=1.6
mvn dependency:go-offline
4) Generate the new kit tarball:
tetra generate-all
You will now find an updated kit tarball in
/tmp/storm/packages/storm-kit/storm-kit.tar.xz
Substitute this tarball for the existing one in the kit package and bump its
version.
Note: these instructions applied for Storm 1.2.3 and may not be sufficient for
more recent Storm versions. If they turn out to yield a broken kit tarball and
you end up fixing it, please update this file. Thank you!