diff options
author | Mike Smith <mike.smith@codethink.co.uk> | 2014-12-11 14:23:59 +0000 |
---|---|---|
committer | Mike Smith <mike.smith@codethink.co.uk> | 2014-12-18 13:29:42 +0000 |
commit | efbe0573ce48cfe860345a683e40c27debcb894b (patch) | |
tree | f279c18f23db73a3498cb80a21fc7d2d0566e0fe /strata | |
parent | f7dd00169f2482a4db7087008317589848afed32 (diff) | |
download | definitions-efbe0573ce48cfe860345a683e40c27debcb894b.tar.gz |
Add chunks for Java, ANT and ZooKeeper
Java is sourced from the binary Java release from Oracle. This
chunk was originally written by Francisco Marchena.
ANT is a Java build system and is needed by ZooKeeper.
ZooKeeper itself is documented at http://zookeeper.apache.org/
This patch also brings in a zookeeper test program in a seperate strata
that can be safely discarded if not required. this test program
was written by me, <mike.smith@codethink.co.uk> and is not designed to
be used in any practical way, but to showcase the functionality
of zookeeper within baserock
The ZooKeeper demonstration server and client are currently hosted
on baserock/test.
The Java binary chunk only works for x86_64. As such, these
systems are limited to that architecture.
Diffstat (limited to 'strata')
-rw-r--r-- | strata/zookeeper-client.morph | 17 | ||||
-rw-r--r-- | strata/zookeeper-server.morph | 11 | ||||
-rw-r--r-- | strata/zookeeper.morph | 31 | ||||
-rw-r--r-- | strata/zookeeper/java-ant.morph | 8 | ||||
-rw-r--r-- | strata/zookeeper/java-binary.morph | 11 | ||||
-rw-r--r-- | strata/zookeeper/zookeeper-client.morph | 17 | ||||
-rw-r--r-- | strata/zookeeper/zookeeper-server.morph | 30 | ||||
-rw-r--r-- | strata/zookeeper/zookeeper.morph | 14 |
8 files changed, 139 insertions, 0 deletions
diff --git a/strata/zookeeper-client.morph b/strata/zookeeper-client.morph new file mode 100644 index 00000000..d4502ea1 --- /dev/null +++ b/strata/zookeeper-client.morph @@ -0,0 +1,17 @@ +name: zookeeper-client +kind: stratum +description: | + This stratum installs a small demonstration program for the + client side of ZooKeeper. The program can take up to two + arguments: + (1) The IP address of the ZooKeeper server to connect to + (2) The type of client that this will be (default client + types are typeOneNode & typeTwoNode) +build-depends: +- morph: strata/zookeeper.morph +chunks: +- name: zookeeper-client + morph: strata/zookeeper/zookeeper-client.morph + repo: baserock:tests/zookeeper-test + ref: master + build-depends: [] diff --git a/strata/zookeeper-server.morph b/strata/zookeeper-server.morph new file mode 100644 index 00000000..6ad4269e --- /dev/null +++ b/strata/zookeeper-server.morph @@ -0,0 +1,11 @@ +name: zookeeper-server +kind: stratum +description: This Stratum installs a zookeeper server and small program to populate it with default data. +build-depends: +- morph: strata/zookeeper.morph +chunks: +- name: zookeeper-server + morph: strata/zookeeper/zookeeper-server.morph + repo: baserock:tests/zookeeper-test + ref: master + build-depends: [] diff --git a/strata/zookeeper.morph b/strata/zookeeper.morph new file mode 100644 index 00000000..3bcd5cca --- /dev/null +++ b/strata/zookeeper.morph @@ -0,0 +1,31 @@ +name: zookeeper +kind: stratum +description: | + This stratum installs zookeeper and its dependencies. +build-depends: +- morph: strata/core.morph +chunks: +- name: cppunit + repo: upstream:cppunit + ref: 77bb121d73c4593d6e3addacacb1bfbd21f53dcf + build-depends: [] +- name: java-binary + morph: strata/zookeeper/java-binary.morph + repo: github:franred/gerrit-installation-binaries + ref: ef262c635890f19eaff8ef6bbd831ee9b0d8693e + unpetrify-ref: master + build-depends: [] +- name: java-ant + morph: strata/zookeeper/java-ant.morph + repo: upstream:java/ant + ref: master + build-depends: + - cppunit + - java-binary +- name: zookeeper + morph: strata/zookeeper/zookeeper.morph + repo: upstream:zookeeper + ref: baserock/mikesmith/zookeeper + unpetrify-ref: trunk + build-depends: + - java-ant diff --git a/strata/zookeeper/java-ant.morph b/strata/zookeeper/java-ant.morph new file mode 100644 index 00000000..37d402b0 --- /dev/null +++ b/strata/zookeeper/java-ant.morph @@ -0,0 +1,8 @@ +name: ant +kind: chunk +build-commands: +- | + export JAVA_HOME=/usr/lib/jdk1.8.0_20 + sh build.sh -Ddist.dir="$DESTDIR/usr/lib/ant" dist +- mkdir -p "${DESTDIR}${PREFIX}/bin" +- ln -sf "${PREFIX}/lib/ant/bin/ant" "${DESTDIR}${PREFIX}/bin/ant" diff --git a/strata/zookeeper/java-binary.morph b/strata/zookeeper/java-binary.morph new file mode 100644 index 00000000..a6c11f95 --- /dev/null +++ b/strata/zookeeper/java-binary.morph @@ -0,0 +1,11 @@ +name: java-binary +kind: chunk +configure-commands: [] +build-commands: +- cat jdk-8u20-linux-x64.tar.gz_* > jdk-8u20-linux-x64.tar.gz +install-commands: +- mkdir -p "$DESTDIR$PREFIX"/bin +- mkdir -p "$DESTDIR$PREFIX"/lib +- tar zxf jdk-8u20-linux-x64.tar.gz -C "$DESTDIR$PREFIX"/lib +- unzip jce_policy-8.zip -d "$DESTDIR$PREFIX"/lib/jdk1.8.0_20/jre/lib/security +- ln -sfn "$PREFIX"/lib/jdk1.8.0_20/jre/bin/java "$DESTDIR$PREFIX"/bin/ diff --git a/strata/zookeeper/zookeeper-client.morph b/strata/zookeeper/zookeeper-client.morph new file mode 100644 index 00000000..591c1840 --- /dev/null +++ b/strata/zookeeper/zookeeper-client.morph @@ -0,0 +1,17 @@ +name: zookeeper-client +kind: chunk +build-commands: + - mkdir -p "$DESTDIR$PREFIX"/zookeeper-client + - cp -r * "$DESTDIR$PREFIX"/zookeeper-client + - make -C "$DESTDIR$PREFIX"/zookeeper-client/ZKTest/Release/ +post-install-commands: + - | + install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR"/etc/systemd/system/zookeeper-client.service + [unit] + Description=Zookeeper client init + [Service] + ExecStart=/usr/zookeeper-client/ZKTest/Release/ZKTest nodeTypeOne 10.24.1.198 + RemainAfterExit=yes + [Install] + WantedBy=multi-user.target + EOF diff --git a/strata/zookeeper/zookeeper-server.morph b/strata/zookeeper/zookeeper-server.morph new file mode 100644 index 00000000..082c063c --- /dev/null +++ b/strata/zookeeper/zookeeper-server.morph @@ -0,0 +1,30 @@ +name: zookeeper-server +kind: chunk +build-commands: + - mkdir -p "$DESTDIR$PREFIX"/zookeeper_server + - cp -r * "$DESTDIR$PREFIX"/zookeeper_server + - make -C "$DESTDIR$PREFIX"/zookeeper_server/zkServerFileSetup/Release/ +post-install-commands: + - | + install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR"/etc/systemd/system/zookeeper-server.service + [unit] + Description=Zookeeper server + [Service] + ExecStart=/usr/zookeeper/bin/zkServer.sh start + RemainAfterExit=yes + [Install] + WantedBy=multi-user.target + EOF + - | + install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR"/etc/systemd/system/zookeeper-init.service + [unit] + Description=Zookeeper server init + [Service] + ExecStart=/usr/zookeeper_server/zkServerFileSetup/Release/zkServerFileSetup + RemainAfterExit=no + [Install] + WantedBy=multi-user.target + EOF + - mkdir "$DESTDIR"/etc/systemd/system/multi-user.target.wants + - ln -s "$DESTDIR"/etc/systemd/system/zookeeper-server.service "$DESTDIR"/etc/systemd/system/multi-user.target.wants/zookeeper-server.service + - ln -s "$DESTDIR"/etc/systemd/system/zookeeper-init.service "$DESTDIR"/etc/systemd/system/multi-user.target.wants/zookeeper-init.service diff --git a/strata/zookeeper/zookeeper.morph b/strata/zookeeper/zookeeper.morph new file mode 100644 index 00000000..dbe6ccbb --- /dev/null +++ b/strata/zookeeper/zookeeper.morph @@ -0,0 +1,14 @@ +name: zookeeper +kind: chunk +configure-commands: + - mkdir -p "$DESTDIR$PREFIX"/lib/zookeeper +build-commands: + - ant -p compile_jute + - mkdir -p "$DESTDIR$PREFIX"/zookeeper + - cp -r * "$DESTDIR$PREFIX"/zookeeper + - cd "$DESTDIR$PREFIX"/zookeeper/src/c && autoreconf -i + - cd "$DESTDIR$PREFIX"/zookeeper/src/c && ./configure --prefix="$PREFIX" --libdir="$PREFIX"/lib/ + - make -C "$DESTDIR$PREFIX"/zookeeper/src/c + - cd "$DESTDIR$PREFIX"/zookeeper/src/c && make install + - mv "$DESTDIR$PREFIX"/zookeeper/conf/zoo_sample.cfg "$DESTDIR$PREFIX"/zookeeper/conf/zoo.cfg + - make -C "$DESTDIR$PREFIX"/zookeeper/src/c zktest-mt |