summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clusters/installer-build-system-x86_64.morph46
-rw-r--r--clusters/zookeeper.morph21
-rwxr-xr-xinstaller.configure48
-rw-r--r--strata/baserock-import.morph2
-rw-r--r--strata/bsp-armv7-highbank.morph4
-rw-r--r--strata/bsp-armv7-versatile.morph4
-rw-r--r--strata/bsp-armv7b-highbank.morph4
-rw-r--r--strata/bsp-armv7b-vexpress-tc2.morph4
-rw-r--r--strata/bsp-jetson.morph7
-rw-r--r--strata/bsp-ppc64-generic.morph4
-rw-r--r--strata/bsp-wandboard.morph4
-rw-r--r--strata/bsp-x86_32-generic.morph4
-rw-r--r--strata/bsp-x86_64-generic.morph4
-rw-r--r--strata/ceph-service.morph34
-rw-r--r--strata/ceph-service/boost.morph4
-rw-r--r--strata/ceph-service/ceph.morph29
-rw-r--r--strata/ceph-service/leveldb.morph5
-rw-r--r--strata/core.morph4
-rw-r--r--strata/foundation.morph2
-rw-r--r--strata/foundation/systemd.morph2
-rw-r--r--strata/input-common.morph14
-rw-r--r--strata/installer-utils.morph12
-rw-r--r--strata/installer-utils/installer-scripts.morph4
-rw-r--r--strata/morph-utils.morph2
-rw-r--r--strata/zookeeper-client.morph17
-rw-r--r--strata/zookeeper-server.morph11
-rw-r--r--strata/zookeeper.morph31
-rw-r--r--strata/zookeeper/java-ant.morph8
-rw-r--r--strata/zookeeper/java-binary.morph11
-rw-r--r--strata/zookeeper/zookeeper-client.morph17
-rw-r--r--strata/zookeeper/zookeeper-server.morph30
-rw-r--r--strata/zookeeper/zookeeper.morph14
-rw-r--r--systems/installer-system-x86_64.morph22
-rw-r--r--systems/zookeeper-client-x86_64.morph23
-rw-r--r--systems/zookeeper-server-x86_64.morph23
35 files changed, 410 insertions, 65 deletions
diff --git a/clusters/installer-build-system-x86_64.morph b/clusters/installer-build-system-x86_64.morph
new file mode 100644
index 00000000..b31caced
--- /dev/null
+++ b/clusters/installer-build-system-x86_64.morph
@@ -0,0 +1,46 @@
+name: installer-build-system-x86_64
+kind: cluster
+description: |
+ This is a cluster morphology that can be used to deploy
+ installer systems. This is done by adding the files needed
+ using a manifest file (installer/manifest) with the INSTALL_FILES
+ extension, and using the installer.configure extension to generate
+ the configuration needed in the system.
+
+ This manifest, which is installing the installer script in
+ /usr/lib/installer/installer.py, in combination of adding
+ "init=/usr/lib/installer/installer.py" as KERNEL_ARGS in the system
+ makes the system run the installer.py script as init script.
+
+ The installer.py script will read the information needed to
+ install the system (where is the root filesystem to install and
+ where to install it) from /etc/install.conf.
+
+ This cluster also deploys a subsystem (a build-system in this case)
+ which is going to be the system that the installer system/script is
+ going to install.
+
+systems:
+- morph: systems/installer-system-x86_64.morph
+ deploy:
+ installer:
+ type: rawdisk
+ location: installer-build-system-x86_64.img
+ KERNEL_ARGS: init=/usr/lib/baserock-installer/installer
+ DISK_SIZE: 6G
+ HOSTNAME: installer-x86_64
+ INSTALLER_TARGET_STORAGE_DEVICE: /dev/sda
+ INSTALLER_ROOTFS_TO_INSTALL: /rootfs
+ subsystems:
+ - morph: systems/build-system-x86_64.morph
+ deploy:
+ to-install:
+ type: sysroot
+ location: /rootfs
+ INITRAMFS_PATH: boot/initramfs.gz
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ initramfs:
+ type: initramfs
+ location: boot/initramfs.gz
diff --git a/clusters/zookeeper.morph b/clusters/zookeeper.morph
new file mode 100644
index 00000000..1153d4b0
--- /dev/null
+++ b/clusters/zookeeper.morph
@@ -0,0 +1,21 @@
+name: zookeeper
+kind: cluster
+systems:
+ - morph: systems/zookeeper-client-x86_64.morph
+ deploy:
+ my-client-system:
+ type: kvm
+ location: kvm+ssh://username@HOSTNAME/machinename/path/to/zookeeper-client.img
+ DISK_SIZE: 4G
+ RAM_SIZE: 1G
+ VCPUS: 1
+ HOSTNAME: zkclient
+ - morph: systems/zookeeper-server-x86_64.morph
+ deploy:
+ my-server-system:
+ type: kvm
+ location: kvm+ssh://username@HOSTNAME/machinename/path/to/zookeeper-server.img
+ DISK_SIZE: 4G
+ RAM_SIZE: 1G
+ VCPUS: 1
+ HOSTNAME: zkserver
diff --git a/installer.configure b/installer.configure
new file mode 100755
index 00000000..a77dc851
--- /dev/null
+++ b/installer.configure
@@ -0,0 +1,48 @@
+#!/usr/bin/python
+#
+# Copyright (C) 2014 Codethink Limited
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# This is a "morph deploy" configuration extension to configure an installer
+# system. It will create the configuration needed in the installer system
+# to perform an installation. It uses the following variables from the
+# environment:
+#
+# * INSTALLER_TARGET_STORAGE_DEVICE
+# * INSTALLER_ROOTFS_TO_INSTALL
+# * INSTALLER_POST_INSTALL_COMMAND (optional, defaults to `reboot -f`)
+
+import os
+import sys
+import yaml
+
+install_config_file = os.path.join(sys.argv[1], 'etc', 'install.conf')
+
+try:
+ installer_configuration = {
+ 'INSTALLER_TARGET_STORAGE_DEVICE': os.environ['INSTALLER_TARGET_STORAGE_DEVICE'],
+ 'INSTALLER_ROOTFS_TO_INSTALL': os.environ['INSTALLER_ROOTFS_TO_INSTALL'],
+ }
+except KeyError as e:
+ print "Not configuring as an installer system"
+ sys.exit(0)
+
+postinstkey = 'INSTALLER_POST_INSTALL_COMMAND'
+installer_configuration[postinstkey] = os.environ.get(postinstkey, 'reboot -f')
+
+with open(install_config_file, 'w') as f:
+ f.write( yaml.dump(installer_configuration, default_flow_style=False) )
+
+print "Configuration of the installer system in %s" % install_config_file
diff --git a/strata/baserock-import.morph b/strata/baserock-import.morph
index ec3e12da..0cf86f28 100644
--- a/strata/baserock-import.morph
+++ b/strata/baserock-import.morph
@@ -26,6 +26,6 @@ chunks:
build-depends: []
- name: baserock-import
repo: baserock:baserock/import
- ref: eb1a6a511c85163fe3e7ede56a348206075d9af9
+ ref: 764531201f99bf1d9c6dd451a212b741bfb6715e
unpetrify-ref: master
build-depends: []
diff --git a/strata/bsp-armv7-highbank.morph b/strata/bsp-armv7-highbank.morph
index d17d9c66..d5ff1264 100644
--- a/strata/bsp-armv7-highbank.morph
+++ b/strata/bsp-armv7-highbank.morph
@@ -7,6 +7,6 @@ chunks:
- name: linux-armv7-highbank
morph: strata/bsp-armv7-highbank/linux-armv7-highbank.morph
repo: upstream:linux
- ref: d67a0e110187abd560a1de63fa172894a52839d5
- unpetrify-ref: baserock/morph
+ ref: b2776bf7149bddd1f4161f14f79520f17fc1d71d
+ unpetrify-ref: v3.18
build-depends: []
diff --git a/strata/bsp-armv7-versatile.morph b/strata/bsp-armv7-versatile.morph
index 801f5287..63d79667 100644
--- a/strata/bsp-armv7-versatile.morph
+++ b/strata/bsp-armv7-versatile.morph
@@ -8,6 +8,6 @@ chunks:
- name: linux-armv7-versatile
morph: strata/bsp-armv7-versatile/linux-armv7-versatile.morph
repo: upstream:linux
- ref: d67a0e110187abd560a1de63fa172894a52839d5
- unpetrify-ref: baserock/morph
+ ref: b2776bf7149bddd1f4161f14f79520f17fc1d71d
+ unpetrify-ref: v3.18
build-depends: []
diff --git a/strata/bsp-armv7b-highbank.morph b/strata/bsp-armv7b-highbank.morph
index fe8c30e1..16dd9a17 100644
--- a/strata/bsp-armv7b-highbank.morph
+++ b/strata/bsp-armv7b-highbank.morph
@@ -7,6 +7,6 @@ chunks:
- name: linux-armv7b-highbank
morph: strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph
repo: upstream:linux
- ref: d67a0e110187abd560a1de63fa172894a52839d5
- unpetrify-ref: baserock/morph
+ ref: b2776bf7149bddd1f4161f14f79520f17fc1d71d
+ unpetrify-ref: v3.18
build-depends: []
diff --git a/strata/bsp-armv7b-vexpress-tc2.morph b/strata/bsp-armv7b-vexpress-tc2.morph
index 81d6fe48..440271de 100644
--- a/strata/bsp-armv7b-vexpress-tc2.morph
+++ b/strata/bsp-armv7b-vexpress-tc2.morph
@@ -7,6 +7,6 @@ chunks:
- name: linux-armv7b-vexpress-tc2
morph: strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph
repo: upstream:linux
- ref: d67a0e110187abd560a1de63fa172894a52839d5
- unpetrify-ref: baserock/morph
+ ref: b2776bf7149bddd1f4161f14f79520f17fc1d71d
+ unpetrify-ref: v3.18
build-depends: []
diff --git a/strata/bsp-jetson.morph b/strata/bsp-jetson.morph
index 114e3a27..111402a7 100644
--- a/strata/bsp-jetson.morph
+++ b/strata/bsp-jetson.morph
@@ -28,10 +28,9 @@ chunks:
- name: linux-jetson-tk1
morph: strata/bsp-jetson/linux-jetson-tk1.morph
repo: upstream:linux
- ref: 8c885b20c4c9115d29dca4e5afd66228c51c5f69
- unpetrify-ref: baserock/jetson/linux-tegra-3.18-rc3
- build-depends:
- - u-boot@jetson
+ ref: 682c943b0159b1a4105f31020605bf8a0f155ffd
+ unpetrify-ref: baserock/v3.18-with-cpufreq
+ build-depends: []
- name: bsp-support
morph: strata/bsp-jetson/bsp-support.morph
repo: baserock:baserock/bsp-support
diff --git a/strata/bsp-ppc64-generic.morph b/strata/bsp-ppc64-generic.morph
index cbb0b201..f109ecf2 100644
--- a/strata/bsp-ppc64-generic.morph
+++ b/strata/bsp-ppc64-generic.morph
@@ -7,6 +7,6 @@ chunks:
- name: linux-ppc64
morph: strata/bsp-ppc64-generic/linux-ppc64.morph
repo: upstream:linux
- ref: d67a0e110187abd560a1de63fa172894a52839d5
- unpetrify-ref: baserock/morph
+ ref: b2776bf7149bddd1f4161f14f79520f17fc1d71d
+ unpetrify-ref: v3.18
build-depends: []
diff --git a/strata/bsp-wandboard.morph b/strata/bsp-wandboard.morph
index 98f153b8..6f829802 100644
--- a/strata/bsp-wandboard.morph
+++ b/strata/bsp-wandboard.morph
@@ -13,7 +13,7 @@ chunks:
- name: linux-armv7-wandboard
morph: strata/bsp-wandboard/linux-armv7-wandboard.morph
repo: upstream:linux
- ref: 9573986cf27ff44814f3efb1f1e95638406db456
- unpetrify-ref: baserock/morph
+ ref: b2776bf7149bddd1f4161f14f79520f17fc1d71d
+ unpetrify-ref: v3.18
build-depends:
- u-boot@wandboard
diff --git a/strata/bsp-x86_32-generic.morph b/strata/bsp-x86_32-generic.morph
index fa9dbf75..480bd702 100644
--- a/strata/bsp-x86_32-generic.morph
+++ b/strata/bsp-x86_32-generic.morph
@@ -8,8 +8,8 @@ chunks:
- name: linux-x86-32-generic
morph: strata/bsp-x86_32-generic/linux-x86-32-generic.morph
repo: upstream:linux
- ref: d67a0e110187abd560a1de63fa172894a52839d5
- unpetrify-ref: baserock/morph
+ ref: b2776bf7149bddd1f4161f14f79520f17fc1d71d
+ unpetrify-ref: v3.18
build-depends: []
- name: nasm
morph: strata/bsp-x86_32-generic/nasm.morph
diff --git a/strata/bsp-x86_64-generic.morph b/strata/bsp-x86_64-generic.morph
index 8a7b9c9b..a24a34c5 100644
--- a/strata/bsp-x86_64-generic.morph
+++ b/strata/bsp-x86_64-generic.morph
@@ -8,8 +8,8 @@ chunks:
- name: linux-x86-64-generic
morph: strata/bsp-x86_64-generic/linux-x86-64-generic.morph
repo: upstream:linux
- ref: d67a0e110187abd560a1de63fa172894a52839d5
- unpetrify-ref: baserock/morph
+ ref: b2776bf7149bddd1f4161f14f79520f17fc1d71d
+ unpetrify-ref: v3.18
build-depends: []
- name: nasm
morph: strata/bsp-x86_64-generic/nasm.morph
diff --git a/strata/ceph-service.morph b/strata/ceph-service.morph
index 25d6712d..1108ab4b 100644
--- a/strata/ceph-service.morph
+++ b/strata/ceph-service.morph
@@ -7,36 +7,36 @@ chunks:
- name: libaio
morph: strata/ceph-service/libaio.morph
repo: upstream:libaio
- ref: 262e589ea4ac3d1ff809648c8f2caa3836e69b25
- unpetrify-ref: baserock/morph
+ ref: 08f50baec0e7731116d3f665c6155d7829edf5d7
+ unpetrify-ref: libaio-0.3.110-1
build-depends: []
- name: keyutils
morph: strata/ceph-service/keyutils.morph
repo: upstream:keyutils
- ref: 116417bce1e1df06a918de5e9e63f6ba88e2f4f5
- unpetrify-ref: baserock/morph
+ ref: 9209a0c8fd63afc59f644e078b40cec531409c30
+ unpetrify-ref: v1.5.9
build-depends: []
- name: libunwind
repo: upstream:libunwind
- ref: 4b8404d153c58b95cb4420fc7603fdae62489a31
- unpetrify-ref: v0.99
+ ref: d7322f0f64dab715c4feb5f08edef5660d8719c0
+ unpetrify-ref: v1.1
build-depends: []
- name: gperftools
repo: upstream:gperftools
- ref: 2a2d6596f8c3d62b7ec444761f4edf0c85d10d92
- unpetrify-ref: baserock/morph
+ ref: 846b775dfadb77901202ae7ddbac30ad1de7df01
+ unpetrify-ref: gperftools-2.2
build-depends:
- libunwind
- name: snappy
- repo: upstream:snappy
- ref: 760c6ffc67836027c5f1d307e5c6cb012dfbdf72
- unpetrify-ref: baserock/morph
+ repo: upstream:snappy-git
+ ref: 1ff9be9b8fafc8528ca9e055646f5932aa5db9c4
+ unpetrify-ref: master
build-depends: []
- name: leveldb
morph: strata/ceph-service/leveldb.morph
repo: upstream:leveldb
- ref: 0f0ed46e70967365c851243663689e156fe1b7b5
- unpetrify-ref: baserock/morph
+ ref: e353fbc7ea81f12a5694991b708f8f45343594b1
+ unpetrify-ref: v1.17
build-depends:
- snappy
- gperftools
@@ -48,14 +48,14 @@ chunks:
- name: boost
morph: strata/ceph-service/boost.morph
repo: upstream:boost-tarball
- ref: 026fc3d84a27e84a61d0f4c26f011a68271a0d6e
- unpetrify-ref: baserock/markdoffman/morph
+ ref: 1c3648bf5b7d17fcd4fe9bc95802b16fd9eee304
+ unpetrify-ref: boost_1_56_0
build-depends: []
- name: ceph
morph: strata/ceph-service/ceph.morph
repo: upstream:ceph
- ref: 8fdf1df512b73bad0eb695cdf9cbf2d09f0327d4
- unpetrify-ref: baserock/morph
+ ref: d3f2ec34d26264ec4deb0b54678ee7bbb2ebc76f
+ unpetrify-ref: master
build-depends:
- libaio
- gperftools
diff --git a/strata/ceph-service/boost.morph b/strata/ceph-service/boost.morph
index 7c3e6cff..cc954076 100644
--- a/strata/ceph-service/boost.morph
+++ b/strata/ceph-service/boost.morph
@@ -3,6 +3,6 @@ kind: chunk
configure-commands:
- ./bootstrap.sh
build-commands:
-- ./b2 || true
+- ./b2
install-commands:
-- ./b2 install --prefix=$DESTDIR$PREFIX || true
+- ./b2 install --prefix="$DESTDIR$PREFIX"
diff --git a/strata/ceph-service/ceph.morph b/strata/ceph-service/ceph.morph
index 5ad0d812..9bb038d1 100644
--- a/strata/ceph-service/ceph.morph
+++ b/strata/ceph-service/ceph.morph
@@ -3,16 +3,23 @@ kind: chunk
build-system: autotools
configure-commands:
- NOCONFIGURE=1 ./autogen.sh
-- ./configure --with-nss --prefix="$PREFIX" --sysconfdir=/etc --without-fuse --without-libatomic-ops
+- ./configure --with-nss --prefix="$PREFIX" --sysconfdir=/etc --without-fuse --without-libatomic-ops --without-libxfs
+build-commands:
+- make
install-commands:
- make install
-- install -D -m 755 src/init-ceph $DESTDIR/etc/init.d/ceph
-- install -d $DESTDIR/etc/ceph
-- install -D -d $DESTDIR/var/lib/ceph
-- install -d $DESTDIR/var/lib/ceph/mon
-- install -d $DESTDIR/var/lib/ceph/osd
-- install -d $DESTDIR/var/lib/ceph/mds
-- install -d $DESTDIR/var/lib/ceph/tmp
-- install -d $DESTDIR/var/lib/ceph/bootstrap-mds
-- install -d $DESTDIR/var/lib/ceph/bootstrap-osd
-- install -D -d $DESTDIR/var/log/ceph
+- install -D -m 755 src/init-ceph.in "$DESTDIR"/etc/init.d/ceph-SysV
+- install -D -m 755 systemd/ceph "$DESTDIR"/etc/systemd/system/ceph
+- install -D -m 755 systemd/ceph-mon@.service "$DESTDIR"/etc/systemd/system/ceph-mon@.service
+- install -D -m 755 systemd/ceph-osd@.service "$DESTDIR"/etc/systemd/system/ceph-osd@.service
+- install -D -m 755 systemd/ceph-mds@.service "$DESTDIR"/etc/systemd/system/ceph-mds@.service
+- install -D -m 755 systemd/ceph.target "$DESTDIR"/etc/systemd/system/ceph.target
+- install -d "$DESTDIR"/etc/ceph
+- install -D -d "$DESTDIR"/var/lib/ceph
+- install -d "$DESTDIR"/var/lib/ceph/mon
+- install -d "$DESTDIR"/var/lib/ceph/osd
+- install -d "$DESTDIR"/var/lib/ceph/mds
+- install -d "$DESTDIR"/var/lib/ceph/tmp
+- install -d "$DESTDIR"/var/lib/ceph/bootstrap-mds
+- install -d "$DESTDIR"/var/lib/ceph/bootstrap-osd
+- install -D -d "$DESTDIR"/var/log/ceph
diff --git a/strata/ceph-service/leveldb.morph b/strata/ceph-service/leveldb.morph
index 1385897c..bff2b87a 100644
--- a/strata/ceph-service/leveldb.morph
+++ b/strata/ceph-service/leveldb.morph
@@ -3,4 +3,7 @@ kind: chunk
build-commands:
- make
install-commands:
-- ./install.sh
+- mkdir -p "$DESTDIR$PREFIX"/lib
+- mkdir -p "$DESTDIR$PREFIX"/include
+- cp --preserve=links libleveldb.* "$DESTDIR$PREFIX"/lib
+- cp -r include/leveldb "$DESTDIR$PREFIX"/include
diff --git a/strata/core.morph b/strata/core.morph
index a1fc9a10..f9db0399 100644
--- a/strata/core.morph
+++ b/strata/core.morph
@@ -117,8 +117,8 @@ chunks:
- name: cpython
morph: strata/core/cpython.morph
repo: upstream:cpython
- ref: 0b92c75574adef1e1ccf1b635a3724a86b567cd2
- unpetrify-ref: v2.7.8
+ ref: d0188e98ecf02e007d85fc34944f8be8f91b7e94
+ unpetrify-ref: v2.7.9
build-depends:
- openssl-new
- bzip2
diff --git a/strata/foundation.morph b/strata/foundation.morph
index e19fa70b..10111805 100644
--- a/strata/foundation.morph
+++ b/strata/foundation.morph
@@ -89,8 +89,6 @@ chunks:
- kmod
- libcap2
- libgcrypt
- - pciutils
- - usbutils
- name: lzo
morph: strata/foundation/lzo.morph
repo: upstream:lzo
diff --git a/strata/foundation/systemd.morph b/strata/foundation/systemd.morph
index 1ee23cb8..c298748a 100644
--- a/strata/foundation/systemd.morph
+++ b/strata/foundation/systemd.morph
@@ -21,7 +21,7 @@ post-install-commands:
- |
cat > "$DESTDIR/etc/systemd/network/10-dhcp.network" << "EOF"
[Match]
- Name=en*
+ Name=e*
[Network]
DHCP=yes
diff --git a/strata/input-common.morph b/strata/input-common.morph
index 233bff22..533eff22 100644
--- a/strata/input-common.morph
+++ b/strata/input-common.morph
@@ -7,23 +7,23 @@ chunks:
- name: mtdev
repo: upstream:mtdev-git
ref: 4381b78fea54de0e775bf54952b2f95e5a06c57d
- unpetrify-ref: baserock/genivi/baseline
+ unpetrify-ref: v1.1.5
build-depends: []
- name: xkeyboard-config
morph: strata/input-common/xkeyboard-config.morph
repo: upstream:xkeyboard-config
- ref: bc3ac1b0d152e929b3532a541596cf9fe286bb9e
- unpetrify-ref: xkeyboard-config-2.12
+ ref: 73aa90ce32967747c84a1b5fe32cee329bc3bbcf
+ unpetrify-ref: xkeyboard-config-2.13
build-depends: []
- name: libevdev
repo: upstream:libevdev
- ref: b23649e1ba9fd5c72fa9318e417b4f17f5f6f528
- unpetrify-ref: baserock/genivi/baseline
+ ref: 7ac00d7e920c56bb8617403699030a5300bfae1c
+ unpetrify-ref: libevdev-1.3.2
build-depends: []
- name: libinput
repo: upstream:libinput
- ref: 224f1d823b2d44aa5193d5b997d73e4322c50f41
- unpetrify-ref: 0.6.0
+ ref: 06e2f522a4ab5ea0a1de68cce1b5f9fff568ed4f
+ unpetrify-ref: 0.7.0
build-depends:
- mtdev
- libevdev
diff --git a/strata/installer-utils.morph b/strata/installer-utils.morph
new file mode 100644
index 00000000..b97a7c09
--- /dev/null
+++ b/strata/installer-utils.morph
@@ -0,0 +1,12 @@
+name: installer-utils
+kind: stratum
+description: stratum for Baserock installer script.
+build-depends:
+- morph: strata/build-essential.morph
+chunks:
+- name: installer-scripts
+ morph: strata/installer-utils/installer-scripts.morph
+ repo: baserock:baserock/installer-scripts
+ ref: master
+ unpetrify-ref: master
+ build-depends: []
diff --git a/strata/installer-utils/installer-scripts.morph b/strata/installer-utils/installer-scripts.morph
new file mode 100644
index 00000000..e42313a8
--- /dev/null
+++ b/strata/installer-utils/installer-scripts.morph
@@ -0,0 +1,4 @@
+name: installer-scripts
+kind: chunk
+install-commands:
+- install -D -m 755 baserock-installer "$DESTDIR/usr/lib/baserock-installer/installer"
diff --git a/strata/morph-utils.morph b/strata/morph-utils.morph
index 17eecbbe..e6807459 100644
--- a/strata/morph-utils.morph
+++ b/strata/morph-utils.morph
@@ -71,7 +71,7 @@ chunks:
build-depends: []
- name: morph
repo: baserock:baserock/morph
- ref: cb880f3554d9cf8daa3839dcd7a7ed2c336df85b
+ ref: f33748d6e6795751e7ea628d5f4e8478353a88ee
unpetrify-ref: master
build-depends:
- cliapp
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
diff --git a/systems/installer-system-x86_64.morph b/systems/installer-system-x86_64.morph
new file mode 100644
index 00000000..0b5e4709
--- /dev/null
+++ b/systems/installer-system-x86_64.morph
@@ -0,0 +1,22 @@
+name: installer-system-x86_64
+kind: system
+description: The system that should be used as an Installer to install other Baserock systems.
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
+- name: installer-utils
+ morph: strata/installer-utils.morph
+configuration-extensions:
+- set-hostname
+- install-files
+- fstab
+- installer
diff --git a/systems/zookeeper-client-x86_64.morph b/systems/zookeeper-client-x86_64.morph
new file mode 100644
index 00000000..c8ac7784
--- /dev/null
+++ b/systems/zookeeper-client-x86_64.morph
@@ -0,0 +1,23 @@
+name: zookeeper-client-x86_64
+kind: system
+description: |
+ A system that is able to build other systems based on the 64-bit x86
+ architecture. includes the installation of zookeeper and a test client.
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: zookeeper-client
+ morph: strata/zookeeper-client.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/zookeeper-server-x86_64.morph b/systems/zookeeper-server-x86_64.morph
new file mode 100644
index 00000000..ad022a91
--- /dev/null
+++ b/systems/zookeeper-server-x86_64.morph
@@ -0,0 +1,23 @@
+name: zookeeper-server-X86_64
+kind: system
+description: |
+ A system that is able to build other systems based on the 64-bit x86
+ architecture. includes the zookeeper server and setup for basic tests
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: zookeeper-server
+ morph: strata/zookeeper-server.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files