summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ceph.configure90
-rw-r--r--chef-system-x86_64-container.morph32
-rw-r--r--chef/manifest3
-rw-r--r--clusters/cephclient.morph20
-rw-r--r--clusters/hardware-deployment.morph36
-rw-r--r--clusters/installer-build-system-x86_64.morph46
-rw-r--r--clusters/zookeeper.morph21
-rwxr-xr-xinstaller.configure48
-rwxr-xr-xpxeboot.check29
-rw-r--r--strata/NetworkManager-common.morph10
-rw-r--r--strata/NetworkManager-common/NetworkManager.morph2
-rw-r--r--strata/audio-bluetooth.morph8
-rw-r--r--strata/audio-bluetooth/pulseaudio.morph4
-rw-r--r--strata/baserock-import.morph7
-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.morph6
-rw-r--r--strata/bsp-x86_64-generic.morph6
-rw-r--r--strata/bsp-x86_64-generic/syslinux.morph4
-rw-r--r--strata/bsp-x86_both-tools.morph4
-rw-r--r--strata/build-essential.morph70
-rw-r--r--strata/build-essential/busybox.morph1
-rw-r--r--strata/build-essential/gcc.morph46
-rw-r--r--strata/build-essential/linux-api-headers.morph16
-rw-r--r--strata/build-essential/m4-tarball.morph (renamed from strata/core/autoconf.morph)2
-rw-r--r--strata/build-essential/stage1-binutils.morph18
-rw-r--r--strata/build-essential/stage1-gcc.morph94
-rw-r--r--strata/build-essential/stage2-binutils.morph11
-rw-r--r--strata/build-essential/stage2-busybox.morph4
-rw-r--r--strata/build-essential/stage2-gawk.morph2
-rw-r--r--strata/build-essential/stage2-gcc.morph74
-rw-r--r--strata/build-essential/stage2-libstdc++.morph36
-rw-r--r--strata/build-essential/stage2-linux-api-headers.morph16
-rw-r--r--strata/build-essential/stage2-make.morph2
-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/chef.morph216
-rw-r--r--strata/chef/chef-master.morph20
-rw-r--r--strata/chef/chef-zero-2.2.morph13
-rw-r--r--strata/chef/coderay-1.1.0.morph13
-rw-r--r--strata/chef/diff-lcs-1.2.5.morph13
-rw-r--r--strata/chef/erubis-master.morph19
-rw-r--r--strata/chef/ffi-1.9.3.morph13
-rw-r--r--strata/chef/ffi-yajl-master.morph13
-rw-r--r--strata/chef/hashie-2.1.2.morph13
-rw-r--r--strata/chef/highline-master.morph13
-rw-r--r--strata/chef/hoe-master.morph14
-rw-r--r--strata/chef/ipaddress-master.morph13
-rw-r--r--strata/chef/json-1.8.1.morph13
-rw-r--r--strata/chef/libyajl2-1.0.1.morph13
-rw-r--r--strata/chef/method_source-0.8.2.morph13
-rw-r--r--strata/chef/mime-types-1.25.1.morph13
-rw-r--r--strata/chef/mixlib-authentication-1.3.0.morph13
-rw-r--r--strata/chef/mixlib-cli-1.5.0.morph13
-rw-r--r--strata/chef/mixlib-config-2.1.0.morph13
-rw-r--r--strata/chef/mixlib-log-master.morph13
-rw-r--r--strata/chef/mixlib-shellout-1.4.0.morph13
-rw-r--r--strata/chef/net-dhcp-1.2.1.morph13
-rw-r--r--strata/chef/net-ssh-2.9.1.morph15
-rw-r--r--strata/chef/net-ssh-gateway-1.2.0.morph15
-rw-r--r--strata/chef/net-ssh-multi-1.2.0.morph15
-rw-r--r--strata/chef/ohai-master.morph13
-rw-r--r--strata/chef/plist-master.morph14
-rw-r--r--strata/chef/pry-master.morph13
-rw-r--r--strata/chef/rack-1.5.2.morph13
-rw-r--r--strata/chef/slop-3.6.0.morph13
-rw-r--r--strata/chef/systemu-master.morph13
-rw-r--r--strata/chef/wmi-lite-1.0.0.morph13
-rw-r--r--strata/chef/yajl.morph6
-rw-r--r--strata/core.morph120
-rw-r--r--strata/core/autoconf-tarball.morph (renamed from strata/core/libtool.morph)3
-rw-r--r--strata/core/ca-certificates.morph4
-rw-r--r--strata/core/gettext-tarball.morph (renamed from strata/core/m4.morph)4
-rw-r--r--strata/core/gettext.morph9
-rw-r--r--strata/core/libpopt.morph10
-rw-r--r--strata/core/libtool-tarball.morph5
-rw-r--r--strata/core/pkg-config.morph2
-rw-r--r--strata/core/sgdisk.morph7
-rw-r--r--strata/core/xz.morph3
-rw-r--r--strata/coreutils-common/coreutils.morph2
-rw-r--r--strata/devtools.morph32
-rw-r--r--strata/devtools/screen.morph (renamed from strata/tools/screen.morph)0
-rw-r--r--strata/devtools/vim.morph (renamed from strata/tools/vim.morph)0
-rw-r--r--strata/enlightenment.morph1
-rw-r--r--strata/foundation.morph29
-rw-r--r--strata/foundation/pciutils.morph12
-rw-r--r--strata/foundation/systemd.morph2
-rw-r--r--strata/graphics-common.morph1
-rw-r--r--strata/installer-utils.morph12
-rw-r--r--strata/installer-utils/installer-scripts.morph4
-rw-r--r--strata/lorry.morph2
-rw-r--r--strata/lvm.morph16
-rw-r--r--strata/lvm/lvm2.morph31
-rw-r--r--strata/morph-utils.morph2
-rw-r--r--strata/ntpd.morph10
-rw-r--r--strata/qt5-sdk.morph4
-rw-r--r--strata/tools.morph42
-rw-r--r--strata/tools/gdb.morph5
-rw-r--r--strata/tools/ipmitool.morph5
-rw-r--r--strata/tools/vala-bootstrap.morph (renamed from strata/tools/vala.morph)2
-rw-r--r--strata/trove.morph2
-rw-r--r--strata/virtualization.morph9
-rw-r--r--strata/virtualization/lvm2.morph6
-rw-r--r--strata/weston-common/weston.morph2
-rw-r--r--strata/x-common.morph77
-rw-r--r--strata/x-generic.morph142
-rw-r--r--strata/x-generic/xserver.morph10
-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/build-system-armv7lhf-highbank.morph2
-rw-r--r--systems/build-system-armv7lhf-jetson.morph2
-rw-r--r--systems/build-system-ppc64.morph2
-rw-r--r--systems/build-system-x86_32-chroot.morph2
-rw-r--r--systems/build-system-x86_32.morph2
-rw-r--r--systems/build-system-x86_64-chroot.morph2
-rw-r--r--systems/build-system-x86_64.morph2
-rw-r--r--systems/ceph-service-x86_64-generic.morph23
-rw-r--r--systems/devel-system-armv7-chroot.morph2
-rw-r--r--systems/devel-system-armv7-highbank.morph2
-rw-r--r--systems/devel-system-armv7-versatile.morph2
-rw-r--r--systems/devel-system-armv7-wandboard.morph2
-rw-r--r--systems/devel-system-armv7b-chroot.morph2
-rw-r--r--systems/devel-system-armv7b-highbank.morph2
-rw-r--r--systems/devel-system-armv7lhf-chroot.morph2
-rw-r--r--systems/devel-system-armv7lhf-highbank.morph2
-rw-r--r--systems/devel-system-armv7lhf-jetson.morph2
-rw-r--r--systems/devel-system-armv7lhf-wandboard.morph2
-rw-r--r--systems/devel-system-ppc64-chroot.morph2
-rw-r--r--systems/devel-system-ppc64-generic.morph2
-rw-r--r--systems/devel-system-x86_32-chroot.morph2
-rw-r--r--systems/devel-system-x86_32-generic.morph2
-rw-r--r--systems/devel-system-x86_64-chroot.morph2
-rw-r--r--systems/devel-system-x86_64-generic.morph2
-rw-r--r--systems/devel-system-x86_64-vagrant.morph2
-rw-r--r--systems/gitlab-ci-runner.morph2
-rw-r--r--systems/installer-system-x86_64.morph22
-rw-r--r--systems/trove-system-x86_64.morph2
-rw-r--r--systems/weston-system-x86_64-generic.morph4
-rw-r--r--systems/zookeeper-client-x86_64.morph25
-rw-r--r--systems/zookeeper-server-x86_64.morph25
153 files changed, 1863 insertions, 573 deletions
diff --git a/ceph.configure b/ceph.configure
index 14fa6f6b..c3cd92d1 100644
--- a/ceph.configure
+++ b/ceph.configure
@@ -20,32 +20,60 @@ import os
import subprocess
import shutil
import re
+import stat
systemd_monitor_template = """
[Unit]
Description=Ceph Monitor firstboot setup
+After=network-online.target
[Service]
-ExecStart=/usr/bin/ceph-mon --cluster {cluster} --mkfs -c {conf} -i {hostname} {keyring}
-ExecStartPost=/bin/rm /etc/systemd/system/multi-user.target.wants/ceph-{cluster}-mon-fboot.service
+ExecStart=/bin/bash -c "/root/setup-ceph-head | tee /root/monitor-setuplog"
+ExecStartPost=/bin/rm /etc/systemd/system/multi-user.target.wants/ceph-monitor-fboot.service
[Install]
Wanted-By=multi-user.target
"""
-systemd_monitor_fname_template = "ceph-{cluster}-mon-fboot.service"
+
+systemd_monitor_fname_template = "ceph-monitor-fboot.service"
systemd_osd_template = """
[Unit]
Description=Ceph osd firstboot setup
+After=network-online.target
[Service]
-ExecStart=/usr/sbin/ceph-disk prepare --cluster {cluster} --fs-type btrfs {data}
-ExecStartPost=/bin/rm /etc/systemd/system/multi-user.target.wants/ceph-{cluster}-osd-{osd_id}-fboot.service
+ExecStart=/bin/bash -c "/root/setup-ceph-node | tee /root/storage-setuplog"
+ExecStartPost=/bin/rm /etc/systemd/system/multi-user.target.wants/ceph-storage-fboot.service
[Install]
Wanted-By=multi-user.target
"""
-systemd_osd_fname_template = "ceph-{cluster}-osd-{osd_id}-fboot.service"
+systemd_osd_fname_template = "ceph-storage-fboot.service"
+
+ceph_monitor_config_template = """#!/bin/bash
+ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
+ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow'
+ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
+monmaptool --create --add 0 10.0.100.2 --fsid 9ceb9257-7541-4de4-b34b-586079986700 /tmp/monmap
+mkdir /var/lib/ceph/mon/ceph-0
+ceph-mon --mkfs -i 0 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
+/etc/init.d/ceph start mon.0
+touch ~/monitor-configured
+"""
+
+ceph_storage_config_template = """#!/bin/bash
+scp 10.0.100.2:/var/lib/ceph/bootstrap-osd/ceph.keyring /var/lib/ceph/bootstrap-osd/
+echo -e "n\np\n1\n\n\nw\n" | fdisk /dev/sdb
+ceph-disk prepare --cluster ceph --cluster-uuid 9ceb9257-7541-4de4-b34b-586079986700 --fs-type ext4 /dev/sdb1
+sudo ceph-disk activate /dev/sdb1
+/etc/init.d/ceph start osd.0
+touch ~/storage-configured
+"""
+
+executable_file_permissions = stat.S_IRUSR | stat.S_IXUSR | stat.S_IWUSR | \
+ stat.S_IXGRP | stat.S_IRGRP | \
+ stat.S_IXOTH | stat.S_IROTH
class CephConfigurationExtension(cliapp.Application):
"""
@@ -75,7 +103,6 @@ class CephConfigurationExtension(cliapp.Application):
CEPH_MON_KEYRING - Location of monitor keyring. Required by the
monitor if using cephx authentication.
-
CEPH_OSD_X_DATA_DIR - Location of data directory for OSD.
Create an OSD daemon on image. 'X' is an integer
id, many osd daemons may be run on same server.
@@ -121,6 +148,8 @@ class CephConfigurationExtension(cliapp.Application):
# Configure any monitor daemons
if "CEPH_MON" in os.environ:
self.create_mon_data_dir(os.environ.get("CEPH_MON_KEYRING"))
+ else:
+ self.create_osd_startup_script("None", "None")
# Configure any object storage daemons
osd_re = r"CEPH_OSD_(\d+)_DATA_DIR$"
@@ -137,6 +166,14 @@ class CephConfigurationExtension(cliapp.Application):
if "CEPH_MDS" in os.environ:
self.create_mds_data_dir()
+ # Create a fake 'partprobe'
+ fake_partprobe_filename = self.dest_dir + "/sbin/partprobe"
+ fake_partprobe = open(fake_partprobe_filename, 'w')
+ fake_partprobe.write("#!/bin/bash\nexit 0;\n")
+ fake_partprobe.close()
+ os.chmod(fake_partprobe_filename, executable_file_permissions)
+ self.create_startup_scripts()
+
def copy_to_img(self, src_file, dest_file):
shutil.copy(src_file, self.dest_dir + dest_file)
@@ -171,17 +208,13 @@ class CephConfigurationExtension(cliapp.Application):
dest_keyring = os.path.join(self.tmp_dir,
"{}-{}.mon.keyring".format(self.cluster_name, self.hostname))
self.copy_to_img(src_keyring, dest_keyring)
-
keyring = "--keyring " + dest_keyring
- mon_systemd_fname = systemd_monitor_fname_template.format(cluster=self.cluster_name)
- mon_systemd = open(self.dest_dir + os.path.join(self.systemd_dir, mon_systemd_fname), "w")
- mon_systemd.write(systemd_monitor_template.format(cluster=self.cluster_name,
- conf=self.conf_file,
- hostname=self.hostname,
- keyring=keyring))
+ mon_systemd_fname = systemd_monitor_fname_template
+ systemd_script_name = self.dest_dir + os.path.join(self.systemd_dir, mon_systemd_fname)
+ mon_systemd = open(systemd_script_name, 'w')
+ mon_systemd.write(systemd_monitor_template)
mon_systemd.close()
-
#Create a symlink to the multi user target
self.symlink_to_multiuser(mon_systemd_fname)
@@ -192,11 +225,13 @@ class CephConfigurationExtension(cliapp.Application):
#Create the osd data dir
os.makedirs(self.dest_dir + data_dir)
- osd_systemd_fname = systemd_osd_fname_template.format(cluster=self.cluster_name, osd_id=osd_id)
- osd_systemd = open(self.dest_dir + os.path.join(self.systemd_dir, osd_systemd_fname), "w")
- osd_systemd.write(systemd_osd_template.format(cluster=self.cluster_name,
- data=data_dir,
- osd_id=osd_id))
+ def create_osd_startup_script(self, osd_id, data_dir):
+ osd_systemd_fname = systemd_osd_fname_template
+ osd_full_name = self.dest_dir + os.path.join(self.systemd_dir, osd_systemd_fname)
+
+ osd_systemd = open(osd_full_name, 'w')
+
+ osd_systemd.write(systemd_osd_template)
osd_systemd.close()
#Create a symlink to the multi user target
@@ -213,4 +248,19 @@ class CephConfigurationExtension(cliapp.Application):
open(self.dest_dir + sysvinit_file, 'a').close()
+ def create_startup_scripts(self):
+ head_setup_file = os.path.join(self.dest_dir, "root", "setup-ceph-head")
+
+ ceph_head_setup = open(head_setup_file, "w")
+ ceph_head_setup.write(ceph_monitor_config_template)
+ ceph_head_setup.close()
+ os.chmod(head_setup_file, executable_file_permissions)
+
+ osd_setup_file = os.path.join(self.dest_dir, "root", "setup-ceph-node")
+ ceph_node_setup = open(osd_setup_file, "w")
+ ceph_node_setup.write(ceph_storage_config_template)
+ ceph_node_setup.close()
+ os.chmod(osd_setup_file, executable_file_permissions)
+
+
CephConfigurationExtension().run()
diff --git a/chef-system-x86_64-container.morph b/chef-system-x86_64-container.morph
new file mode 100644
index 00000000..3e81c73e
--- /dev/null
+++ b/chef-system-x86_64-container.morph
@@ -0,0 +1,32 @@
+name: chef-system-x86_64-container
+kind: system
+arch: x86_64
+description: Minimal chef system suitable for running in a container
+configuration-extensions:
+- set-hostname
+- simple-network
+- nfsboot
+- install-files
+- busybox-init
+- remove-gcc
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+ artifacts:
+ - build-essential-minimal
+- name: core
+ morph: strata/core.morph
+ artifacts:
+ - core-openssl
+- name: foundation
+ morph: strata/foundation.morph
+ artifacts:
+ - foundation-runtime
+- name: ruby
+ morph: strata/ruby.morph
+ artifacts:
+ - ruby-runtime
+- name: chef
+ morph: strata/chef.morph
+ artifacts:
+ - chef-runtime
diff --git a/chef/manifest b/chef/manifest
new file mode 100644
index 00000000..de6cc542
--- /dev/null
+++ b/chef/manifest
@@ -0,0 +1,3 @@
+0040755 0 0 /root
+0040700 1000 1000 /root/.ssh
+0100600 1000 1000 /root/.ssh/authorized_keys
diff --git a/clusters/cephclient.morph b/clusters/cephclient.morph
new file mode 100644
index 00000000..b4db22e0
--- /dev/null
+++ b/clusters/cephclient.morph
@@ -0,0 +1,20 @@
+name: ceph-cluster
+kind: cluster
+systems:
+- morph: systems/ceph-service-x86_64-generic.morph
+ deploy:
+ ceph-node-virtualbox-image:
+ type: virtualbox-ssh
+ SYSTEM: systems/ceph-service-x86_64-generic.morph
+ location: vbox+ssh://user@machine/ChefNode4/home/user/chefnode4.vdi
+ # HOST_IPADDR and NETMASK should be set to the IP address and netmask of the virtualbox host on the host-only interface.
+ #HOST_IPADDR: 10.0.100.100
+ #NETMASK: 255.255.255.0
+
+ # This is an example of how to configure the three interfaces necessary to support ceph in the BCPC configuration.
+ #NETWORK_CONFIG: lo:loopback;enp0s3:static,address=10.0.100.14,netmask=255.255.255.0;enp0s8:static,address=172.16.100.14,netmask=255.255.255.0;enp0s9:static,address=192.168.100.14,netmask=255.255.255.0
+ DISK_SIZE: 8G
+ HOSTNAME: CephNode4
+
+ # You must install authorized_keys in chef/root/.ssh/ before this will work.
+ INSTALL_FILES: chef/manifest
diff --git a/clusters/hardware-deployment.morph b/clusters/hardware-deployment.morph
new file mode 100644
index 00000000..0b1335ae
--- /dev/null
+++ b/clusters/hardware-deployment.morph
@@ -0,0 +1,36 @@
+name: hardware-deployment
+kind: cluster
+description: |
+ Deploy a build-system into hardware using the combination
+ of the pxeboot.write extension and the installer system.
+ This examples uses the spawn-novlan mode of pxeboot.write.
+systems:
+- morph: systems/installer-system-x86_64.morph
+ deploy:
+ installer:
+ type: pxeboot
+ location: AB:CD:EF:12:34:56:78 #MAC address.
+ PXEBOOT_MODE: spawn-novlan
+ PXEBOOT_DEPLOYER_INTERFACE: ens6
+ DISK_SIZE: 6G
+ KERNEL_ARGS: console=ttyS1,9600 console=tty0 init=/usr/lib/baserock-installer/installer
+ HOSTNAME: installer-system
+ IPMI_USER: myipmiuser
+ IPMI_PASSWORD: myipmipassword
+ IPMI_HOST: 123.34.45.120 #IPMI ip address
+ 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
+ KERNEL_ARGS: console=ttyS1,9600 console=tty0
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ initramfs:
+ type: initramfs
+ location: boot/initramfs.gz
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/pxeboot.check b/pxeboot.check
index d7eb9b5c..611708a9 100755
--- a/pxeboot.check
+++ b/pxeboot.check
@@ -2,6 +2,7 @@
import itertools
import os
+import subprocess
import sys
flatten = itertools.chain.from_iterable
@@ -18,7 +19,7 @@ valid_option_sets = frozenset((
('existing-server', frozenset(('PXEBOOT_CONFIG_TFTP_ADDRESS',
'PXEBOOT_ROOTFS_RSYNC_ADDRESS'))),
))
-valid_modes = frozenset(mode for (mode, opt_set in valid_option_sets))
+valid_modes = frozenset(mode for mode, opt_set in valid_option_sets)
def compute_matches(env):
@@ -27,6 +28,7 @@ def compute_matches(env):
if all(k in env for k in opt_set):
complete_matches.add(opt_set)
return complete_matches
+
complete_matches = compute_matches(os.environ)
def word_separate_options(options):
@@ -39,7 +41,7 @@ def word_separate_options(options):
valid_options = frozenset(flatten(opt_set for (mode, opt_set)
in valid_option_sets))
-matched_options = frozenset(o for o in valid_options)
+matched_options = frozenset(o for o in valid_options
if o in os.environ)
if not complete_matches:
addable_sets = frozenset(frozenset(os) - matched_options for os in
@@ -53,17 +55,32 @@ elif len(complete_matches) > 1:
removable_sets = frozenset(matched_options - frozenset(os) for os in
powerset(matched_options)
if len(compute_matches(os)) == 1)
- print('Please unset %s' % ' or '.join(
+ print('WARNING: Following options might not be needed: %s' % ' or '.join(
word_separate_options(list(opt_set))
for opt_set in removable_sets if opt_set))
- sys.exit(1)
if 'PXEBOOT_MODE' in os.environ:
mode = os.environ['PXEBOOT_MODE']
else:
- mode, = (mode for (mode, opt_set) in valid_option_sets
- if all(o in os.environ for o in opt_set))
+ try:
+ mode, = (mode for (mode, opt_set) in valid_option_sets
+ if all(o in os.environ for o in opt_set))
+
+ except ValueError as e:
+ print ('More than one candidate for PXEBOOT_MODE, please '
+ 'set a value for it. Type `morph help pxeboot.write for '
+ 'more info')
+ sys.exit(1)
if mode not in valid_modes:
print('%s is not a valid PXEBOOT_MODE' % mode)
sys.exit(1)
+
+if mode != 'existing-server':
+ with open(os.devnull, 'w') as devnull:
+ if subprocess.call(['systemctl', 'is-active', 'nfs-server'],
+ stdout=devnull) != 0:
+ print ('ERROR: nfs-server.service is not running and is needed '
+ 'for this deployment. Please, run `systemctl start nfs-server` '
+ 'and try `morph deploy` again.')
+ sys.exit(1)
diff --git a/strata/NetworkManager-common.morph b/strata/NetworkManager-common.morph
index 44adc1fb..8115c309 100644
--- a/strata/NetworkManager-common.morph
+++ b/strata/NetworkManager-common.morph
@@ -10,10 +10,16 @@ chunks:
ref: f3a3a63d5b5abced8f75731d7b995606933c6e33
unpetrify-ref: v1.4
build-depends: []
+- name: readline6
+ repo: upstream:readline
+ ref: 7628b745a813aac53586b640da056a975f1c443e
+ unpetrify-ref: readline-6.3
+ build-depends: []
- name: NetworkManager
morph: strata/NetworkManager-common/NetworkManager.morph
repo: upstream:NetworkManager
- ref: 6eb82acd6dce882f4b91aafcf68dd9e143ce34e2
- unpetrify-ref: 0.9.10
+ ref: acdaf78a068b6c65ba799a7098b867953db4801c
+ unpetrify-ref: 1.0.0
build-depends:
- libndp
+ - readline6
diff --git a/strata/NetworkManager-common/NetworkManager.morph b/strata/NetworkManager-common/NetworkManager.morph
index 9840dfa4..553c979b 100644
--- a/strata/NetworkManager-common/NetworkManager.morph
+++ b/strata/NetworkManager-common/NetworkManager.morph
@@ -2,4 +2,4 @@ name: NetworkManager
kind: chunk
build-system: autotools
configure-commands:
-- ./autogen.sh --prefix="$PREFIX" --with-session-tracking=systemd --disable-ppp
+- ./autogen.sh --prefix="$PREFIX" --with-session-tracking=systemd --disable-ppp --enable-more-warnings=yes
diff --git a/strata/audio-bluetooth.morph b/strata/audio-bluetooth.morph
index 0c67ee5c..e4dc0e68 100644
--- a/strata/audio-bluetooth.morph
+++ b/strata/audio-bluetooth.morph
@@ -77,8 +77,8 @@ chunks:
- name: json-c
morph: strata/audio-bluetooth/json-c.morph
repo: upstream:json-c
- ref: 60a5f3dedc879db3e5dacdd3b7e3e543c2e1bae7
- unpetrify-ref: baserock/morph
+ ref: e8bd6865d7a671e9f75ece05dfe86a19ba610581
+ unpetrify-ref: baserock/json-c-0.12-20140410-plus-patch
build-depends: []
- name: libsndfile
morph: strata/audio-bluetooth/libsndfile.morph
@@ -89,8 +89,8 @@ chunks:
- name: pulseaudio
morph: strata/audio-bluetooth/pulseaudio.morph
repo: upstream:pulseaudio
- ref: e1b44688c0db505f70761fe76b4fed2ca6924a09
- unpetrify-ref: baserock/morph
+ ref: 34862dbd43079d19faff31fa9ba996acc874d586
+ unpetrify-ref: v5.99.3
build-depends:
- libsndfile
- libatomic_ops
diff --git a/strata/audio-bluetooth/pulseaudio.morph b/strata/audio-bluetooth/pulseaudio.morph
index 117f3396..fa183fcb 100644
--- a/strata/audio-bluetooth/pulseaudio.morph
+++ b/strata/audio-bluetooth/pulseaudio.morph
@@ -4,10 +4,8 @@ description: PulseAudio System
build-system: autotools
configure-commands:
- ./autogen.sh
-- ./configure --prefix="$PREFIX" --localstatedir=/var --sysconfdir=/etc --with-database=simple
+- ./configure --prefix="$PREFIX" --localstatedir=/var --sysconfdir=/etc --with-database=simple --with-systemduserunitdir=/lib/systemd/system
install-commands:
- make DESTDIR="$DESTDIR" install
-- mkdir -p "$DESTDIR/lib/systemd/system"
-- install -m755 pulseaudio.service "$DESTDIR/lib/systemd/system"
- mkdir -p "$DESTDIR/etc/systemd/system/multi-user.target.wants"
- ln -s /lib/systemd/system/pulseaudio.service "$DESTDIR/etc/systemd/system/multi-user.target.wants/pulseaudio.service"
diff --git a/strata/baserock-import.morph b/strata/baserock-import.morph
index 6e875e8c..7ca5e7ce 100644
--- a/strata/baserock-import.morph
+++ b/strata/baserock-import.morph
@@ -26,6 +26,9 @@ chunks:
build-depends: []
- name: baserock-import
repo: baserock:baserock/import
- ref: edd18a77973d8cd12b09bc6e3ac06fecd72a7e45
+ ref: 461979515ca30cd8e5acdec4cdb5ca3adeb6a9e7
unpetrify-ref: master
- build-depends: []
+ build-depends:
+ - ansicolor
+ - networkx
+ - python-decorator
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..ad318db9 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
@@ -20,7 +20,7 @@ chunks:
- name: syslinux
morph: strata/bsp-x86_32-generic/syslinux.morph
repo: upstream:syslinux
- ref: 2f6d21d2a560cb5581694fef42ee9a350d5f302f
+ ref: 2aab8555987b547b617cbb887e61083fece01541
unpetrify-ref: baserock/morph
build-depends:
- nasm
diff --git a/strata/bsp-x86_64-generic.morph b/strata/bsp-x86_64-generic.morph
index 8a7b9c9b..624b31a4 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
@@ -20,7 +20,7 @@ chunks:
- name: syslinux
morph: strata/bsp-x86_64-generic/syslinux.morph
repo: upstream:syslinux
- ref: 2f6d21d2a560cb5581694fef42ee9a350d5f302f
+ ref: 2aab8555987b547b617cbb887e61083fece01541
unpetrify-ref: baserock/morph
build-depends:
- nasm
diff --git a/strata/bsp-x86_64-generic/syslinux.morph b/strata/bsp-x86_64-generic/syslinux.morph
index c0f15807..43356e36 100644
--- a/strata/bsp-x86_64-generic/syslinux.morph
+++ b/strata/bsp-x86_64-generic/syslinux.morph
@@ -2,7 +2,7 @@ name: syslinux
kind: chunk
build-commands:
- make clean
-- make
-- make installer
+- make NO_WERROR=1
+- make NO_WERROR=1 installer
install-commands:
- make INSTALLROOT="$DESTDIR" install
diff --git a/strata/bsp-x86_both-tools.morph b/strata/bsp-x86_both-tools.morph
index c1ba501c..008ddf3f 100644
--- a/strata/bsp-x86_both-tools.morph
+++ b/strata/bsp-x86_both-tools.morph
@@ -14,7 +14,7 @@ chunks:
- name: syslinux
morph: strata/bsp-x86_both-tools/syslinux.morph
repo: upstream:syslinux
- ref: 2f6d21d2a560cb5581694fef42ee9a350d5f302f
- unpetrify-ref: baserock/morph
+ ref: baserock/morph
+ unpetrify-ref: 2f6d21d2a560cb5581694fef42ee9a350d5f302f
build-depends:
- nasm
diff --git a/strata/build-essential.morph b/strata/build-essential.morph
index d7b86648..ae2d24b6 100644
--- a/strata/build-essential.morph
+++ b/strata/build-essential.morph
@@ -41,20 +41,22 @@ chunks:
- name: stage1-binutils
morph: strata/build-essential/stage1-binutils.morph
repo: upstream:binutils-redhat
- ref: 987eb543a034cddc4eeb103f08f566f24a5f964a
+ ref: b1d3b01332ae49a60ff5d6bf53d3a5b1805769c8
unpetrify-ref: baserock/build-essential
build-depends: []
build-mode: bootstrap
prefix: /tools
+
- name: stage1-gcc
morph: strata/build-essential/stage1-gcc.morph
repo: upstream:gcc-tarball
- ref: 999c918a7ad32ad436395666def22ab90b3447fe
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
unpetrify-ref: baserock/build-essential
build-depends:
- stage1-binutils
build-mode: bootstrap
prefix: /tools
+
- name: stage2-linux-api-headers
morph: strata/build-essential/stage2-linux-api-headers.morph
repo: upstream:linux
@@ -65,6 +67,7 @@ chunks:
- stage1-gcc
build-mode: bootstrap
prefix: /tools
+
- name: stage2-glibc
morph: strata/build-essential/stage2-glibc.morph
repo: upstream:glibc
@@ -76,10 +79,23 @@ chunks:
- stage2-linux-api-headers
build-mode: bootstrap
prefix: /tools
+
+- name: stage2-libstdc++
+ morph: strata/build-essential/stage2-libstdc++.morph
+ repo: upstream:gcc-tarball
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/build-essential
+ build-depends:
+ - stage1-binutils
+ - stage1-gcc
+ - stage2-glibc
+ build-mode: bootstrap
+ prefix: /tools
+
- name: stage2-binutils
morph: strata/build-essential/stage2-binutils.morph
repo: upstream:binutils-redhat
- ref: 987eb543a034cddc4eeb103f08f566f24a5f964a
+ ref: b1d3b01332ae49a60ff5d6bf53d3a5b1805769c8
unpetrify-ref: baserock/build-essential
build-depends:
- stage1-binutils
@@ -87,10 +103,11 @@ chunks:
- stage2-glibc
build-mode: bootstrap
prefix: /tools
+
- name: stage2-gcc-fixed-headers
morph: strata/build-essential/stage2-gcc-fixed-headers.morph
repo: upstream:gcc-tarball
- ref: 999c918a7ad32ad436395666def22ab90b3447fe
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
unpetrify-ref: baserock/build-essential
build-depends:
- stage1-binutils
@@ -98,18 +115,21 @@ chunks:
- stage2-glibc
build-mode: bootstrap
prefix: /tools
+
- name: stage2-gcc
morph: strata/build-essential/stage2-gcc.morph
repo: upstream:gcc-tarball
- ref: 999c918a7ad32ad436395666def22ab90b3447fe
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
unpetrify-ref: baserock/build-essential
build-depends:
- stage1-binutils
- stage1-gcc
- stage2-glibc
- stage2-gcc-fixed-headers
+ - stage2-libstdc++
build-mode: bootstrap
prefix: /tools
+
- name: stage2-busybox
morph: strata/build-essential/stage2-busybox.morph
repo: upstream:busybox
@@ -121,15 +141,16 @@ chunks:
- stage2-glibc
build-mode: bootstrap
prefix: /tools
+
- name: stage2-fake-bash
morph: strata/build-essential/stage2-fake-bash.morph
repo: upstream:bash
ref: 3590145af6f1c9fa321dff231f69ae696e7e740b
unpetrify-ref: baserock/bash-4.3-patch-27
- build-depends:
- - stage2-busybox
+ build-depends: []
build-mode: bootstrap
prefix: /tools
+
- name: stage2-fhs-dirs
morph: strata/build-essential/stage2-fhs-dirs.morph
repo: baserock:baserock/fhs-dirs
@@ -138,6 +159,7 @@ chunks:
build-depends: []
build-mode: bootstrap
prefix: /tools
+
- name: stage2-gawk
morph: strata/build-essential/stage2-gawk.morph
repo: upstream:gawk
@@ -149,6 +171,7 @@ chunks:
- stage2-glibc
build-mode: bootstrap
prefix: /tools
+
- name: stage2-make
morph: strata/build-essential/stage2-make.morph
repo: upstream:make
@@ -160,6 +183,7 @@ chunks:
- stage2-glibc
build-mode: bootstrap
prefix: /tools
+
- name: stage2-reset-specs
morph: strata/build-essential/stage2-reset-specs.morph
repo: upstream:glibc
@@ -172,6 +196,7 @@ chunks:
- stage2-glibc
build-mode: bootstrap
prefix: /tools
+
- name: fhs-dirs
morph: strata/build-essential/fhs-dirs.morph
repo: baserock:baserock/fhs-dirs
@@ -187,6 +212,7 @@ chunks:
- stage2-linux-api-headers
- stage2-make
- stage2-reset-specs
+
- name: linux-api-headers
morph: strata/build-essential/linux-api-headers.morph
repo: upstream:linux
@@ -202,6 +228,7 @@ chunks:
- stage2-linux-api-headers
- stage2-make
- stage2-reset-specs
+
- name: glibc
morph: strata/build-essential/glibc.morph
repo: upstream:glibc
@@ -223,6 +250,7 @@ chunks:
glibc-gconv: build-essential-runtime
glibc-libs: build-essential-minimal
glibc-nss: build-essential-runtime
+
- name: zlib
morph: strata/build-essential/zlib.morph
repo: upstream:zlib
@@ -241,10 +269,11 @@ chunks:
- glibc
artifacts:
zlib-libs: build-essential-minimal
+
- name: binutils
morph: strata/build-essential/binutils.morph
repo: upstream:binutils-redhat
- ref: 987eb543a034cddc4eeb103f08f566f24a5f964a
+ ref: b1d3b01332ae49a60ff5d6bf53d3a5b1805769c8
unpetrify-ref: baserock/build-essential
build-depends:
- stage2-binutils
@@ -258,6 +287,7 @@ chunks:
- stage2-reset-specs
- glibc
- zlib
+
- name: busybox
morph: strata/build-essential/busybox.morph
repo: upstream:busybox
@@ -274,6 +304,7 @@ chunks:
- stage2-make
- stage2-reset-specs
- glibc
+
- name: gawk
morph: strata/build-essential/gawk.morph
repo: upstream:gawk
@@ -290,11 +321,27 @@ chunks:
- stage2-make
- stage2-reset-specs
- glibc
+
+- name: m4-tarball
+ morph: strata/build-essential/m4-tarball.morph
+ repo: upstream:m4-tarball
+ ref: 23c11479b3ad787adc7a651ee0c4347839e47723
+ unpetrify-ref: m4-1.4.17
+ build-depends:
+ - stage2-binutils
+ - stage2-busybox
+ - stage2-glibc
+ - stage2-fhs-dirs
+ - stage2-gcc
+ - stage2-make
+ - stage2-reset-specs
+ - glibc
+
- name: gcc
morph: strata/build-essential/gcc.morph
repo: upstream:gcc-tarball
- ref: 5c08cea34d5562dc828b85c7c02519246823aaf0
- unpetrify-ref: baserock/build-essential-4.7
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/build-essential
build-depends:
- stage2-binutils
- stage2-busybox
@@ -307,8 +354,10 @@ chunks:
- stage2-reset-specs
- glibc
- zlib
+ - m4-tarball
artifacts:
gcc-libs: build-essential-minimal
+
- name: make
morph: strata/build-essential/make.morph
repo: upstream:make
@@ -325,6 +374,7 @@ chunks:
- stage2-make
- stage2-reset-specs
- glibc
+
- name: ccache
morph: strata/build-essential/ccache.morph
repo: upstream:ccache
diff --git a/strata/build-essential/busybox.morph b/strata/build-essential/busybox.morph
index 35f57357..85327648 100644
--- a/strata/build-essential/busybox.morph
+++ b/strata/build-essential/busybox.morph
@@ -41,6 +41,7 @@ configure-commands:
- sed -e 's/CONFIG_FSCK_MINIX=y.*/# CONFIG_FSCK_MINIX is not set/' -i .config
- sed -e 's/CONFIG_LOSETUP=y.*/# CONFIG_LOSETUP is not set/' -i .config
- sed -e 's/CONFIG_LSUSB=y.*/# CONFIG_LSUSB is not set/' -i .config
+- sed -e 's/CONFIG_LSPCI=y.*/# CONFIG_LSPCI is not set/' -i .config
- sed -e 's/CONFIG_LZMA=y.*/# CONFIG_LZMA is not set/' -i .config
- sed -e 's/CONFIG_MKFS_EXT2=y.*/# CONFIG_MKFS_EXT2 is not set/' -i .config
- sed -e 's/CONFIG_MKFS_MINIX=y.*/# CONFIG_MKFS_MINIX is not set/' -i .config
diff --git a/strata/build-essential/gcc.morph b/strata/build-essential/gcc.morph
index 50e2918c..02be4dda 100644
--- a/strata/build-essential/gcc.morph
+++ b/strata/build-essential/gcc.morph
@@ -8,30 +8,34 @@ configure-commands:
# 1. An attempt to stop anything going in $PREFIX/lib64 (which doesn't
# fully work; we will need to hobble the multilib configuration in
# config/i386/t-linux64 if we really want to kill /lib64).
-# 2. Multilib does not make sense in Baserock.
-# 3. Optimisation libraries which for now we do without.
-# 4. Recommended by Linux From Scratch; required for C++ ABI
-# compatibility with other Linux distributions.
-# 5. MPFR is built in the GCC tree, we need to locate it.
-# 6. Avoid having more than one copy of ZLib in use on the system
+# 2. Avoid having more than one copy of ZLib in use on the system
+# 3. Multilib does not make sense in Baserock.
- |
- cd o && \
- ../configure \
- $(../morph-arch-config) \
- --prefix="$PREFIX" \
- `# [1]` --libdir=$PREFIX/lib \
- --disable-nls \
- --enable-languages=c,c++,fortran \
- --enable-shared --enable-threads=posix \
- `# [2]` --disable-multilib \
- `# [3]` --disable-libgomp --without-cloog --without-ppl \
- `# [4]` --enable-__cxa_atexit \
- `# [5]` --with-mpfr-include="$(pwd)/../mpfr/src" \
- --with-mpfr-lib="$(pwd)/mpfr/src/.libs" \
- `# [6]` --with-system-zlib
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
+
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --prefix="$PREFIX" \
+ `# [1]` --libdir=$PREFIX/lib \
+ --disable-bootstrap \
+ `# [2]` --with-system-zlib \
+ `# [3]` --disable-multilib \
+ --enable-languages=c,c++,fortran
build-commands:
-- cd o && make
+- |
+ case "$MORPH_ARCH" in
+ armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile
+ sed -i "s/--target=none/--target=armv7a/" o/Makefile ;;
+ esac
+ cd o && make
install-commands:
- cd o && make DESTDIR="$DESTDIR" install
diff --git a/strata/build-essential/linux-api-headers.morph b/strata/build-essential/linux-api-headers.morph
index e1ff2638..0f7ce171 100644
--- a/strata/build-essential/linux-api-headers.morph
+++ b/strata/build-essential/linux-api-headers.morph
@@ -1,6 +1,20 @@
name: linux-api-headers
kind: chunk
install-commands:
-- ARCH=$(./morph-arch) make INSTALL_HDR_PATH=dest headers_install
+- |
+ case "$MORPH_ARCH" in
+ armv7b|armv7l|armv7lhf)
+ ARCH="arm" ;;
+ x86_32)
+ ARCH="i386" ;;
+ x86_64)
+ ARCH="x86_64" ;;
+ ppc64)
+ ARCH="powerpc" ;;
+ *)
+ echo "Error: unsupported Morph architecture: $MORPH_ARCH" >&2
+ exit 1
+ esac
+ ARCH=$ARCH make INSTALL_HDR_PATH=dest headers_install
- install -d "$DESTDIR${PREFIX-/usr}/include"
- cp -r dest/include/* "$DESTDIR/${PREFIX-/usr}/include"
diff --git a/strata/core/autoconf.morph b/strata/build-essential/m4-tarball.morph
index 046bfc40..e460a9dc 100644
--- a/strata/core/autoconf.morph
+++ b/strata/build-essential/m4-tarball.morph
@@ -1,4 +1,4 @@
-name: autoconf
+name: m4-tarball
kind: chunk
build-system: autotools
configure-commands:
diff --git a/strata/build-essential/stage1-binutils.morph b/strata/build-essential/stage1-binutils.morph
index b6670d5c..69a79d14 100644
--- a/strata/build-essential/stage1-binutils.morph
+++ b/strata/build-essential/stage1-binutils.morph
@@ -3,15 +3,21 @@ kind: chunk
build-system: autotools
configure-commands:
-# We set the sysroot location dynamically at runtime by passing -B to GCC,
-# so we configure with sysroot=/. Setting the lib path is vital to avoid
-# the tools we build linking to the libraries on the host system; the '='
-# makes the path we give relative to the sysroot, which we can then set
-# at runtime by passing -Wl,--sysroot to GCC.
+# We set the sysroot location dynamically at runtime by passing
+# `--sysroot` to GCC, so we need to build a linker with sysroot support.
+# We set it to a non-existent directory as a safety net to avoid looking
+# at the host dirs in case we forget to set the sysroot. Setting the
+# lib path is vital to avoid the tools we build linking to the libraries
+# on the host system; the '=' makes the path we give relative to the
+# sysroot, which we can then set at runtime by passing -Wl,--sysroot to
+# GCC. Although nothing should be installed on /lib64, we configure the
+# linker to look at that directory as well to make things more robust
+# (currently GCC installs libraries to this directory at least on
+# x86_64).
- |
./configure --prefix="$PREFIX" --disable-nls --disable-werror \
--build=$(sh config.guess) \
--host=$(sh config.guess) \
--target=$TARGET_STAGE1 \
- --with-sysroot="/" --with-lib-path="=$PREFIX/lib"
+ --with-sysroot=/nonexistentdir --with-lib-path="=$PREFIX/lib:=$PREFIX/lib64"
diff --git a/strata/build-essential/stage1-gcc.morph b/strata/build-essential/stage1-gcc.morph
index 0cb03568..ed85b684 100644
--- a/strata/build-essential/stage1-gcc.morph
+++ b/strata/build-essential/stage1-gcc.morph
@@ -2,47 +2,77 @@ name: stage1-gcc
kind: chunk
configure-commands:
+# Workaround from LFS due GCC not detecting stack protection correctly
+- sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' gcc/configure
+
- mkdir o
# Configure flag notes:
-# 1. Standard flags. See gcc.morph.
-# 2. Disable searching /usr/local/include for headers
-# 3. The pass 1 compiler needs to find the libraries we build in pass 2.
-# Include path must be set explicility, because it defaults to
+# 1. See gcc.morph.
+# 2. Although we will be setting a sysroot at runtime, giving a
+# temporary one at configuration time seems necessary so that
+# `--with-native-system-header-dir` produces effect and
+# /tools/include is in the include path for the newly built GCC. We
+# set it by default to a non-existent directory to avoid GCC looking
+# at the host dirs, in case we forget to give it at runtime.
+# 3. Disable searching /usr/local/include for headers
+# 4. The pass 1 compiler needs to find the libraries we build in pass
+# 2. Include path must be set explicility, because it defaults to
# $SYSROOT/usr/include rather than $SYSROOT/include.
-# FIXME: this flag is not present until GCC 4.6.3!
-# 4. Disable stuff that doesn't work when building a cross compiler
+# 5. Disable stuff that doesn't work when building a cross compiler
# without an existing libc, and generally try to keep this build as
# simple as possible.
- |
- cd o &&
- ../configure \
- $(../morph-arch-config) \
- --build=$(sh ../config.guess) --host=$(sh ../config.guess) \
- --target=$TARGET_STAGE1 \
- --prefix="$PREFIX" \
- --disable-bootstrap --disable-nls \
- `# [1]` --libdir="$PREFIX/lib" --disable-multilib --disable-libgomp \
- --without-cloog --without-ppl \
- --with-mpfr-include="$(pwd)/../mpfr/src" \
- --with-mpfr-lib="$(pwd)/mpfr/src/.libs" \
- `# [2]` --with-local-prefix="$PREFIX" \
- `# [3]` --with-native-system-header-dir="$PREFIX/include" \
- `# [4]` --enable-languages=c --disable-decimal-float \
- --disable-libmudflap --disable-libquadmath --disable-libssp \
- --disable-shared --disable-threads --disable-target-libiberty \
- --disable-target-zlib --without-headers --with-newlib \
- --with-system-zlib
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
+
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --build=$(sh ../config.guess) \
+ --host=$(sh ../config.guess) \
+ --target=$TARGET_STAGE1 \
+ --prefix="$PREFIX" \
+ `# [1]` --libdir="$PREFIX/lib" \
+ `# [2]` --with-sysroot=/nonexistentdir \
+ --with-newlib \
+ `# [3]` --with-local-prefix="$PREFIX" \
+ `# [4]` --with-native-system-header-dir="$PREFIX/include" \
+ --without-headers \
+ --disable-nls \
+ --disable-shared \
+ --disable-multilib \
+ `# [5]` --disable-decimal-float \
+ `# [5]` --disable-threads \
+ `# [5]` --disable-libatomic \
+ `# [5]` --disable-libgomp \
+ `# [5]` --disable-libitm \
+ `# [5]` --disable-libquadmath \
+ `# [5]` --disable-libsanitizer \
+ `# [5]` --disable-libssp \
+ `# [5]` --disable-libvtv \
+ `# [5]` --disable-libcilkrts \
+ `# [5]` --disable-libstdc++-v3 \
+ --enable-languages=c,c++
build-commands:
-- cd o && make
+- |
+ # GCC is not passing the correct host/target flags to GMP's configure
+ # script, which causes it to not use the machine-dependent code for
+ # the platform and use the generic one instead. However, the generic
+ # code results on an undefined reference to `__gmpn_invert_limb' in
+ # ARMv7. Fix the invocation of GMP's configure script so that GMP can
+ # use the machine-dependent code.
+ case "$MORPH_ARCH" in
+ armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile
+ sed -i "s/--target=none/--target=armv7a/" o/Makefile ;;
+ esac
+ cd o && make
install-commands:
- cd o && make DESTDIR="$DESTDIR" install
-
-# The file libgcc_eh is required during eglibc's build, but is not created
-# because we built GCC with --disable-shared. This is a workaround for
-# eglibc's build system being slightly broken.
-- |
- libgcc_filename=$($DESTDIR$PREFIX/bin/$TARGET_STAGE1-gcc -print-libgcc-file-name)
- ln -sv libgcc.a $(echo $libgcc_filename | sed 's/libgcc/&_eh/')
diff --git a/strata/build-essential/stage2-binutils.morph b/strata/build-essential/stage2-binutils.morph
index bc0b18ac..1c64fb29 100644
--- a/strata/build-essential/stage2-binutils.morph
+++ b/strata/build-essential/stage2-binutils.morph
@@ -5,20 +5,17 @@ build-system: autotools
configure-commands:
- |
export STAGE2_SYSROOT="$(dirname $(pwd))"
- export CPPFLAGS="--sysroot=$STAGE2_SYSROOT"
export CXX=false
- export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT"
+ # binutils has its own embedded libtool, which is old and strips out
+ # `--sysroot`. Work around by modifying the compiler command to
+ # include the sysroot flag
+ export CC="$TARGET_STAGE1-gcc --sysroot=$STAGE2_SYSROOT"
./configure --prefix="$PREFIX" --disable-nls --disable-werror \
--build=$(sh config.guess) \
--host=$TARGET_STAGE1 \
--target=$TARGET_STAGE1
build-commands:
-# Nested configure scripts require that we set CPPFLAGS here as well
-# (I don't think we should have to .. . at least in GCC, I think
-# TARGET_CPPFLAGS may be the answer)
- |
export STAGE2_SYSROOT="$(dirname $(pwd))"
- export CPPFLAGS="--sysroot=$STAGE2_SYSROOT"
- export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT"
make
diff --git a/strata/build-essential/stage2-busybox.morph b/strata/build-essential/stage2-busybox.morph
index dc23d09b..98e4bf33 100644
--- a/strata/build-essential/stage2-busybox.morph
+++ b/strata/build-essential/stage2-busybox.morph
@@ -57,7 +57,7 @@ build-commands:
- |
export STAGE2_SYSROOT="$(dirname $(pwd))"
export CPPFLAGS="--sysroot=$STAGE2_SYSROOT"
- export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT"
+ export LDFLAGS="--sysroot=$STAGE2_SYSROOT"
make HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1-
install-commands:
@@ -66,7 +66,7 @@ install-commands:
- |
export STAGE2_SYSROOT="$(dirname $(pwd))"
export CPPFLAGS="--sysroot=$STAGE2_SYSROOT"
- export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT"
+ export LDFLAGS="--sysroot=$STAGE2_SYSROOT"
make CONFIG_PREFIX="$DESTDIR$PREFIX" \
HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- install &&
chmod 6755 "$DESTDIR$PREFIX"/bin/busybox
diff --git a/strata/build-essential/stage2-gawk.morph b/strata/build-essential/stage2-gawk.morph
index f644d72b..15c838b6 100644
--- a/strata/build-essential/stage2-gawk.morph
+++ b/strata/build-essential/stage2-gawk.morph
@@ -3,7 +3,7 @@ kind: chunk
build-system: autotools
configure-commands:
- STAGE2_SYSROOT="$(dirname $(pwd))" CPPFLAGS="--sysroot=$STAGE2_SYSROOT" CXX=false
- LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT" ./configure --prefix="$PREFIX" --disable-nls
+ LDFLAGS="--sysroot=$STAGE2_SYSROOT" ./configure --prefix="$PREFIX" --disable-nls
--build=$(sh config.guess) --host=$TARGET_STAGE1
build-commands:
- STAGE2_SYSROOT="$(dirname $(pwd))" make
diff --git a/strata/build-essential/stage2-gcc.morph b/strata/build-essential/stage2-gcc.morph
index bf6378c1..98f9cfe7 100644
--- a/strata/build-essential/stage2-gcc.morph
+++ b/strata/build-essential/stage2-gcc.morph
@@ -4,45 +4,57 @@ kind: chunk
configure-commands:
- mkdir o
-# In other projects we specify the sysroot location using CPPFLAGS. Here,
-# that breaks because GCC compiles stuff for the *build* machine, too ...
-# and this requires using the host's compiler, which cannot use the same
-# set of CPPFLAGS as the target. If we specify the sysroot using CC instead
-# then we don't interfere, because we are only specifying the *host* C
-# compiler.
+# In other projects we specify the sysroot location using CPPFLAGS.
+# Here, that breaks because GCC compiles stuff for the *build* machine,
+# too ... and this requires using the host's compiler, which cannot use
+# the same set of CPPFLAGS as the target. If we specify the sysroot
+# using CC instead then we don't interfere, because we are only
+# specifying the *host* C compiler.
#
# Configure flag notes:
-# 1. It's vital that this compiler targets the bootstrap machine
-# (TARGET_STAGE1) so that the stage 1 GCC is used instead of the
-# compiler of the build machine.
-# 2. Disable searching /usr/local/include for headers
-# 3. This flag causes the correct --sysroot flag to be passed when calling
-# stage 1 GCC.
-# 4. C++ is built in stage 3.
-# 5. Standard flags. See gcc.morph.
+# 1. It's vital that this compiler runs in the bootstrap machine, and
+# targets the same machine (TARGET_STAGE1) so that the stage 1 GCC
+# is used instead of the compiler of the build machine.
+# 2. See gcc.morph.
+# 3. Disable searching /usr/local/include for headers
+# 4. This flag causes the correct --sysroot flag to be passed when
+# calling stage 1 GCC.
- |
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
export STAGE2_SYSROOT="$(dirname $(pwd))"
export CC="$TARGET_STAGE1-gcc --sysroot=$STAGE2_SYSROOT"
- export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT"
- cd o && ../configure \
- $(../morph-arch-config) \
- `# [1]` --build=$(sh ../config.guess) \
- --host=$TARGET_STAGE1 \
- --target=$TARGET_STAGE1 \
- --prefix="$PREFIX" \
- `# [2]` --with-local-prefix=$PREFIX \
- `# [3]` --with-build-sysroot="$STAGE2_SYSROOT" \
- --disable-bootstrap \
- --enable-clocale=gnu --enable-shared --enable-threads=posix \
- `# [4]` --enable-languages=c \
- `# [5]` --libdir=$PREFIX/lib \
- --disable-libgomp --disable-multilib --disable-nls \
- --without-cloog --without-ppl \
- --with-mpfr-include="$(pwd)/../mpfr/src" \
- --with-mpfr-lib="$(pwd)/mpfr/src/.libs"
+ export CXX="$TARGET_STAGE1-g++ --sysroot=$STAGE2_SYSROOT"
+ export AR="$TARGET_STAGE1-ar"
+ export RANLIB="$TARGET_STAGE1-ranlib"
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --build=$(sh ../config.guess) \
+ `# [1]` --host=$TARGET_STAGE1 \
+ `# [1]` --target=$TARGET_STAGE1 \
+ --prefix="$PREFIX" \
+ `# [2]` --libdir=$PREFIX/lib \
+ `# [3]` --with-local-prefix=$PREFIX \
+ `# [4]` --with-build-sysroot="$STAGE2_SYSROOT" \
+ --disable-bootstrap \
+ --disable-nls \
+ --disable-multilib \
+ --disable-libgomp \
+ --disable-libstdcxx-pch \
+ --enable-languages=c,c++
build-commands:
- |
+ case "$MORPH_ARCH" in
+ armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile
+ sed -i "s/--target=none/--target=armv7a/" o/Makefile ;;
+ esac
export STAGE2_SYSROOT="$(dirname $(pwd))"
cd o && make
diff --git a/strata/build-essential/stage2-libstdc++.morph b/strata/build-essential/stage2-libstdc++.morph
new file mode 100644
index 00000000..3d89ad85
--- /dev/null
+++ b/strata/build-essential/stage2-libstdc++.morph
@@ -0,0 +1,36 @@
+name: stage2-libstdc++
+kind: chunk
+configure-commands:
+- mkdir o
+
+# Configure flag notes:
+# 1. The thread C++ library cannot be built, as the thread C library
+# was not build in stage1-gcc.
+# 2. Prevents the installation of precompiled include files, which are
+# not needed at this stage.
+# 3. From LFS: the header location of C++ needs to be explicitly given
+# as we are running the configure script from the top-level
+# directory.
+- |
+ export STAGE2_SYSROOT="$(dirname $(pwd))"
+ # -fPIC must be given, otherwise it will not be possible to create
+ # shared libraries linked to libstdc++
+ export CPPFLAGS="--sysroot=$STAGE2_SYSROOT -fPIC"
+ export LDFLAGS="--sysroot=$STAGE2_SYSROOT"
+ cd o && ../libstdc++-v3/configure \
+ --build=$(sh ../config.guess) \
+ --host="$TARGET_STAGE1" \
+ --target="$TARGET_STAGE1" \
+ --prefix="$PREFIX" \
+ --disable-nls \
+ --disable-shared \
+ --disable-multilib \
+ `# [1]` --disable-libstdcxx-threads \
+ `# [2]` --disable-libstdcxx-pch \
+ `# [3]` --with-gxx-include-dir=/tools/"$TARGET_STAGE1"/include/c++/4.9.2
+
+build-commands:
+- cd o && make
+
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
diff --git a/strata/build-essential/stage2-linux-api-headers.morph b/strata/build-essential/stage2-linux-api-headers.morph
index 5cbf2f05..50e1aaa5 100644
--- a/strata/build-essential/stage2-linux-api-headers.morph
+++ b/strata/build-essential/stage2-linux-api-headers.morph
@@ -2,7 +2,19 @@ name: stage2-linux-api-headers
kind: chunk
install-commands:
- |
- export ARCH=$(./morph-arch)
- make INSTALL_HDR_PATH=dest headers_install
+ case "$MORPH_ARCH" in
+ armv7b|armv7l|armv7lhf)
+ ARCH="arm" ;;
+ x86_32)
+ ARCH="i386" ;;
+ x86_64)
+ ARCH="x86_64" ;;
+ ppc64)
+ ARCH="powerpc" ;;
+ *)
+ echo "Error: unsupported Morph architecture: $MORPH_ARCH" >&2
+ exit 1
+ esac
+ ARCH=$ARCH make INSTALL_HDR_PATH=dest headers_install
- install -d "$DESTDIR${PREFIX-/usr}/include"
- cp -r dest/include/* "$DESTDIR/${PREFIX-/usr}/include"
diff --git a/strata/build-essential/stage2-make.morph b/strata/build-essential/stage2-make.morph
index d3c8bf22..0b05581c 100644
--- a/strata/build-essential/stage2-make.morph
+++ b/strata/build-essential/stage2-make.morph
@@ -3,7 +3,7 @@ kind: chunk
build-system: autotools
configure-commands:
- STAGE2_SYSROOT="$(dirname $(pwd))" CPPFLAGS="--sysroot=$STAGE2_SYSROOT" CXX=false
- LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT" ./configure --prefix="$PREFIX" --disable-nls
+ LDFLAGS="--sysroot=$STAGE2_SYSROOT" ./configure --prefix="$PREFIX" --disable-nls
--build=$(sh config/config.guess) --host=$TARGET_STAGE1
build-commands:
- STAGE2_SYSROOT="$(dirname $(pwd))" make
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/chef.morph b/strata/chef.morph
new file mode 100644
index 00000000..cd969cda
--- /dev/null
+++ b/strata/chef.morph
@@ -0,0 +1,216 @@
+name: chef
+kind: stratum
+description: Autogenerated by Baserock import tool
+build-depends:
+- morph: strata/ruby.morph
+- morph: strata/core.morph
+chunks:
+- name: yajl
+ morph: strata/chef/yajl.morph
+ repo: upstream:yajl
+ ref: a0ecdde0c042b9256170f2f8890dd9451a4240aa
+ unpetrify-ref: 2.1.0
+ build-depends: []
+- name: libyajl2-1.0.1
+ morph: strata/chef/libyajl2-1.0.1.morph
+ repo: upstream:ruby-gems/libyajl2-gem
+ ref: 98aef032f536d13775bc7b3b69a25ebac9bdee0a
+ unpetrify-ref: 1.0.1
+ build-depends:
+ - yajl
+- name: chef-12.0.0.alpha.0
+ morph: strata/chef/chef-master.morph
+ repo: upstream:ruby-gems/chef
+ ref: 9841bc9c6271c6d9add3aff0c2e11239cfb129ca
+ unpetrify-ref: 12.0.3
+ build-depends: []
+- name: chef-zero-2.2
+ morph: strata/chef/chef-zero-2.2.morph
+ repo: upstream:ruby-gems/chef-zero
+ ref: 231c3abd052e606820297a97e4bc32bdab656a02
+ unpetrify-ref: v2.2
+ build-depends: []
+- name: coderay-1.1.0.rc1
+ morph: strata/chef/coderay-1.1.0.morph
+ repo: upstream:ruby-gems/coderay
+ ref: a48037b85a12228431b32103786456f36beb355f
+ unpetrify-ref: v1.1.0
+ build-depends: []
+- name: erubis-master
+ morph: strata/chef/erubis-master.morph
+ repo: upstream:ruby-gems/erubis
+ ref: 14d3eab57fbc361312c8f3af350cbf9a5bafce17
+ unpetrify-ref: master
+ build-depends: []
+- name: ffi-1.9.3
+ morph: strata/chef/ffi-1.9.3.morph
+ repo: upstream:ruby-gems/ffi
+ ref: d982b7049336106c04f7721045dc5613b16d3545
+ unpetrify-ref: 1.9.3
+ build-depends: []
+- name: ffi-yajl-1.0.2
+ morph: strata/chef/ffi-yajl-master.morph
+ repo: upstream:ruby-gems/ffi-yajl
+ ref: 3a4bc4259fd67af0ff4a8c1d3d71cfbaed9c112f
+ unpetrify-ref: master
+ build-depends:
+ - libyajl2-1.0.1
+- name: hashie-2.1.2
+ morph: strata/chef/hashie-2.1.2.morph
+ repo: upstream:ruby-gems/hashie
+ ref: 95b97fbff2cac643d56ec718cb708665500682e5
+ unpetrify-ref: v2.1.2
+ build-depends: []
+- name: highline-1.6.21
+ morph: strata/chef/highline-master.morph
+ repo: upstream:ruby-gems/highline
+ ref: 51de22e436e6d45696759d673d7b9ceba16cae39
+ unpetrify-ref: master
+ build-depends: []
+- name: hoe-master
+ morph: strata/chef/hoe-master.morph
+ repo: upstream:ruby-gems/hoe
+ ref: d94b26b4687be0a24d04b7cb582753fbec33d7e4
+ unpetrify-ref: master
+ build-depends: []
+- name: diff-lcs-1.2.5
+ morph: strata/chef/diff-lcs-1.2.5.morph
+ repo: upstream:diff-lcs
+ ref: d53e92242b9dd6745e56a0ff4ba15d2f62052b91
+ unpetrify-ref: v1.2.5
+ build-depends:
+ - hoe-master
+- name: ipaddress-master
+ morph: strata/chef/ipaddress-master.morph
+ repo: upstream:ruby-gems/ipaddress
+ ref: dae93ad0e4fb9a5d547a15dae0c3f2417078c845
+ unpetrify-ref: master
+ build-depends: []
+- name: json-1.8.1
+ morph: strata/chef/json-1.8.1.morph
+ repo: upstream:ruby-gems/json
+ ref: 92a96dea2b24b9c68856004d69491f46aedd0925
+ unpetrify-ref: v1.8.1
+ build-depends: []
+- name: method_source-0.8.1
+ morph: strata/chef/method_source-0.8.2.morph
+ repo: upstream:ruby-gems/method_source
+ ref: 1b1f8323a7c25f29331fe32511f50697e5405dbd
+ unpetrify-ref: v0.8.2
+ build-depends: []
+- name: mime-types-1.25.1
+ morph: strata/chef/mime-types-1.25.1.morph
+ repo: upstream:ruby-gems/mime-types
+ ref: 6be836f59a041893cfc1c25668b3aa3552a7e334
+ unpetrify-ref: v1.25.1
+ build-depends:
+ - hoe-master
+- name: mixlib-authentication-1.3.0
+ morph: strata/chef/mixlib-authentication-1.3.0.morph
+ repo: upstream:ruby-gems/mixlib-authentication
+ ref: db24a56c6f5b99114998a50942220a7023060229
+ unpetrify-ref: 1.3.0
+ build-depends: []
+- name: mixlib-cli-1.5.0
+ morph: strata/chef/mixlib-cli-1.5.0.morph
+ repo: upstream:ruby-gems/mixlib-cli
+ ref: b3b3c12141b5380ec61945770690fc1ae31d92b0
+ unpetrify-ref: 1.5.0
+ build-depends: []
+- name: mixlib-config-2.1.0
+ morph: strata/chef/mixlib-config-2.1.0.morph
+ repo: upstream:ruby-gems/mixlib-config
+ ref: c5e2dee2beb5fdd17442ff92e520f2ef01d17ee5
+ unpetrify-ref: v2.1.0
+ build-depends: []
+- name: mixlib-log-1.6.0
+ morph: strata/chef/mixlib-log-master.morph
+ repo: upstream:ruby-gems/mixlib-log
+ ref: 50ec55964ce19d3a8a14050be9a23c4b8990e2f0
+ unpetrify-ref: master
+ build-depends: []
+- name: mixlib-shellout-1.4.0
+ morph: strata/chef/mixlib-shellout-1.4.0.morph
+ repo: upstream:ruby-gems/mixlib-shellout
+ ref: a04ce6db22edf0575c50e18ae2db09adced7dedc
+ unpetrify-ref: 1.4.0
+ build-depends: []
+- name: net-dhcp-1.2.1
+ morph: strata/chef/net-dhcp-1.2.1.morph
+ repo: upstream:net-dhcp-ruby
+ ref: b644922a08aa09e2ce75f8f9f9fa1f0b8cecb2e9
+ unpetrify-ref: v1.2.1
+ build-depends: []
+- name: net-ssh-2.9.1
+ morph: strata/chef/net-ssh-2.9.1.morph
+ repo: upstream:ruby-gems/net-ssh
+ ref: 9f8607984d8e904f211cc5edb39ab2a2ca94008e
+ unpetrify-ref: v2.9.1
+ build-depends: []
+- name: net-ssh-gateway-1.2.0
+ morph: strata/chef/net-ssh-gateway-1.2.0.morph
+ repo: upstream:ruby-gems/net-ssh-gateway
+ ref: 1de7611a7f7cedbe7a4c6cf3798c88d00637582d
+ unpetrify-ref: v1.2.0
+ build-depends: []
+- name: net-ssh-multi-1.2.0
+ morph: strata/chef/net-ssh-multi-1.2.0.morph
+ repo: upstream:ruby-gems/net-ssh-multi
+ ref: b659f2884b2c9abdbe3bbf3c844937a0799ed5ac
+ unpetrify-ref: v1.2.0
+ build-depends: []
+- name: ohai-7.4.0.dev
+ morph: strata/chef/ohai-master.morph
+ repo: upstream:ruby-gems/ohai
+ ref: 0bf2ed32744445a253082910ee4e07b2b38023a7
+ unpetrify-ref: master
+ build-depends: []
+- name: plist-master
+ morph: strata/chef/plist-master.morph
+ repo: upstream:ruby-gems/plist
+ ref: 12eb82d283cab148183c37c07e3f75a309969dec
+ unpetrify-ref: master
+ build-depends: []
+- name: pry-0.10.1
+ morph: strata/chef/pry-master.morph
+ repo: upstream:ruby-gems/pry
+ ref: 6d5eb0831b50ec729d2dc3356255b49535535e37
+ unpetrify-ref: master
+ build-depends: []
+- name: rack-1.5.2
+ morph: strata/chef/rack-1.5.2.morph
+ repo: upstream:ruby-gems/rack
+ ref: ac590d055c936bb9a618e955a690dc836c625211
+ unpetrify-ref: 1.5.2
+ build-depends: []
+- name: slop-3.6.0
+ morph: strata/chef/slop-3.6.0.morph
+ repo: upstream:ruby-gems/slop
+ ref: c3f84e7e794004f9ae6958c13ef3dd3038c2c0eb
+ unpetrify-ref: v3.6.0
+ build-depends: []
+- name: systemu-2.6.4
+ morph: strata/chef/systemu-master.morph
+ repo: upstream:ruby-gems/systemu
+ ref: 35340f1e91941af47988b1b9d77705493b96d3db
+ unpetrify-ref: master
+ build-depends: []
+- name: wmi-lite-1.0.0
+ morph: strata/chef/wmi-lite-1.0.0.morph
+ repo: upstream:ruby-gems/wmi-lite
+ ref: 9377836dc0a5487474038ec727f02f9b33facfa6
+ unpetrify-ref: 1.0.0
+ build-depends: []
+- name: libpopt
+ morph: strata/core/libpopt.morph
+ repo: upstream:libpopt
+ ref: c224abf28f4ff9bbf292908324359cb5905addf8
+ unpetrify-ref: master
+ build-depends: []
+- name: sgdisk
+ morph: strata/core/sgdisk.morph
+ repo: upstream:sgdisk
+ ref: a920398fa393f9d6301b32b191bc01e086ab8bc8
+ unpetrify-ref: master
+ build-depends:
+ - libpopt
diff --git a/strata/chef/chef-master.morph b/strata/chef/chef-master.morph
new file mode 100644
index 00000000..61c12ca0
--- /dev/null
+++ b/strata/chef/chef-master.morph
@@ -0,0 +1,20 @@
+name: chef-12.0.0.alpha.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: chef-12.0.0.alpha.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build chef.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./chef-12.0.0.alpha.0.gem
+- mkdir -p "$DESTDIR"/etc
+- |
+ cat << EOF > "$DESTDIR/etc/lsb-release"
+ DISTRIB_ID=Baserock
+ DISTRIB_CODENAME=baserock
+ DISTRIB_DESCRIPTION="Baserock"
+ EOF
diff --git a/strata/chef/chef-zero-2.2.morph b/strata/chef/chef-zero-2.2.morph
new file mode 100644
index 00000000..11407ae3
--- /dev/null
+++ b/strata/chef/chef-zero-2.2.morph
@@ -0,0 +1,13 @@
+name: chef-zero-2.2
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: chef-zero-2.2-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build chef-zero.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./chef-zero-2.2.gem
diff --git a/strata/chef/coderay-1.1.0.morph b/strata/chef/coderay-1.1.0.morph
new file mode 100644
index 00000000..a380b911
--- /dev/null
+++ b/strata/chef/coderay-1.1.0.morph
@@ -0,0 +1,13 @@
+name: coderay-1.1.0.rc1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: coderay-1.1.0.rc1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build coderay.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./coderay-1.1.0.rc1.gem
diff --git a/strata/chef/diff-lcs-1.2.5.morph b/strata/chef/diff-lcs-1.2.5.morph
new file mode 100644
index 00000000..3585467f
--- /dev/null
+++ b/strata/chef/diff-lcs-1.2.5.morph
@@ -0,0 +1,13 @@
+name: diff-lcs-1.2.5
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: diff-lcs-1.2.5-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build diff-lcs.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./diff-lcs-1.2.5.gem
diff --git a/strata/chef/erubis-master.morph b/strata/chef/erubis-master.morph
new file mode 100644
index 00000000..f15e0968
--- /dev/null
+++ b/strata/chef/erubis-master.morph
@@ -0,0 +1,19 @@
+---
+name: erubis-master
+kind: chunk
+build-system: manual
+products:
+- artifact: erubis-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+configure-commands:
+# Manually do what it seems like the 'rook' build system would do, if it worked
+# Values taken from 'Rookbook.props'.
+- find -type f -exec sed -e 's/\$Release\$/2.7.0/g' -i \{} \;
+- find -type f -exec sed -e 's/\$Copyright\$/copyright(c) 2006-2011 kuwata-lab.com all rights reserved./g' -i \{} \;
+build-commands:
+- gem build erubis.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./erubis-2.7.0.gem
diff --git a/strata/chef/ffi-1.9.3.morph b/strata/chef/ffi-1.9.3.morph
new file mode 100644
index 00000000..672f0bd7
--- /dev/null
+++ b/strata/chef/ffi-1.9.3.morph
@@ -0,0 +1,13 @@
+name: ffi-1.9.3
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: ffi-1.9.3-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build ffi.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./ffi-1.9.3.gem
diff --git a/strata/chef/ffi-yajl-master.morph b/strata/chef/ffi-yajl-master.morph
new file mode 100644
index 00000000..5d3c0792
--- /dev/null
+++ b/strata/chef/ffi-yajl-master.morph
@@ -0,0 +1,13 @@
+name: ffi-yajl-1.0.2
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: ffi-yajl-1.0.2-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build ffi-yajl.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./ffi-yajl-1.0.2.gem
diff --git a/strata/chef/hashie-2.1.2.morph b/strata/chef/hashie-2.1.2.morph
new file mode 100644
index 00000000..a4fb46f6
--- /dev/null
+++ b/strata/chef/hashie-2.1.2.morph
@@ -0,0 +1,13 @@
+name: hashie-2.1.2
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: hashie-2.1.2-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build hashie.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./hashie-2.1.2.gem
diff --git a/strata/chef/highline-master.morph b/strata/chef/highline-master.morph
new file mode 100644
index 00000000..5615f6b2
--- /dev/null
+++ b/strata/chef/highline-master.morph
@@ -0,0 +1,13 @@
+name: highline-1.6.21
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: highline-1.6.21-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build highline.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./highline-1.6.21.gem
diff --git a/strata/chef/hoe-master.morph b/strata/chef/hoe-master.morph
new file mode 100644
index 00000000..9fe7ff8e
--- /dev/null
+++ b/strata/chef/hoe-master.morph
@@ -0,0 +1,14 @@
+---
+name: hoe-master
+kind: chunk
+build-system: manual
+products:
+- artifact: hoe-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- rake gem
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./pkg/hoe-3.12.0.gem
diff --git a/strata/chef/ipaddress-master.morph b/strata/chef/ipaddress-master.morph
new file mode 100644
index 00000000..fdaa5de6
--- /dev/null
+++ b/strata/chef/ipaddress-master.morph
@@ -0,0 +1,13 @@
+name: ipaddress-0.8.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: ipaddress-0.8.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build ipaddress.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./ipaddress-0.8.0.gem
diff --git a/strata/chef/json-1.8.1.morph b/strata/chef/json-1.8.1.morph
new file mode 100644
index 00000000..cf25abca
--- /dev/null
+++ b/strata/chef/json-1.8.1.morph
@@ -0,0 +1,13 @@
+name: json-1.8.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: json-1.8.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build json.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./json-1.8.1.gem
diff --git a/strata/chef/libyajl2-1.0.1.morph b/strata/chef/libyajl2-1.0.1.morph
new file mode 100644
index 00000000..d85d1567
--- /dev/null
+++ b/strata/chef/libyajl2-1.0.1.morph
@@ -0,0 +1,13 @@
+name: libyajl2-1.0.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: libyajl2-1.0.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- USE_SYSTEM_LIBYAJL2=yes gem build libyajl2.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- USE_SYSTEM_LIBYAJL2=yes gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./libyajl2-1.0.1.gem
diff --git a/strata/chef/method_source-0.8.2.morph b/strata/chef/method_source-0.8.2.morph
new file mode 100644
index 00000000..5ba20da6
--- /dev/null
+++ b/strata/chef/method_source-0.8.2.morph
@@ -0,0 +1,13 @@
+name: method_source-0.8.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: method_source-0.8.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build method_source.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./method_source-0.8.1.gem
diff --git a/strata/chef/mime-types-1.25.1.morph b/strata/chef/mime-types-1.25.1.morph
new file mode 100644
index 00000000..453c42d5
--- /dev/null
+++ b/strata/chef/mime-types-1.25.1.morph
@@ -0,0 +1,13 @@
+name: mime-types-1.25.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: mime-types-1.25.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build mime-types.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./mime-types-1.25.1.gem
diff --git a/strata/chef/mixlib-authentication-1.3.0.morph b/strata/chef/mixlib-authentication-1.3.0.morph
new file mode 100644
index 00000000..8792ff2c
--- /dev/null
+++ b/strata/chef/mixlib-authentication-1.3.0.morph
@@ -0,0 +1,13 @@
+name: mixlib-authentication-1.3.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: mixlib-authentication-1.3.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build mixlib-authentication.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./mixlib-authentication-1.3.0.gem
diff --git a/strata/chef/mixlib-cli-1.5.0.morph b/strata/chef/mixlib-cli-1.5.0.morph
new file mode 100644
index 00000000..84f3a4b7
--- /dev/null
+++ b/strata/chef/mixlib-cli-1.5.0.morph
@@ -0,0 +1,13 @@
+name: mixlib-cli-1.5.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: mixlib-cli-1.5.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build mixlib-cli.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./mixlib-cli-1.5.0.gem
diff --git a/strata/chef/mixlib-config-2.1.0.morph b/strata/chef/mixlib-config-2.1.0.morph
new file mode 100644
index 00000000..cc6077a5
--- /dev/null
+++ b/strata/chef/mixlib-config-2.1.0.morph
@@ -0,0 +1,13 @@
+name: mixlib-config-2.1.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: mixlib-config-2.1.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build mixlib-config.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./mixlib-config-2.1.0.gem
diff --git a/strata/chef/mixlib-log-master.morph b/strata/chef/mixlib-log-master.morph
new file mode 100644
index 00000000..ddd956c1
--- /dev/null
+++ b/strata/chef/mixlib-log-master.morph
@@ -0,0 +1,13 @@
+name: mixlib-log-1.6.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: mixlib-log-1.6.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build mixlib-log.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./mixlib-log-1.6.0.gem
diff --git a/strata/chef/mixlib-shellout-1.4.0.morph b/strata/chef/mixlib-shellout-1.4.0.morph
new file mode 100644
index 00000000..7087c1c6
--- /dev/null
+++ b/strata/chef/mixlib-shellout-1.4.0.morph
@@ -0,0 +1,13 @@
+name: mixlib-shellout-1.4.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: mixlib-shellout-1.4.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build mixlib-shellout.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./mixlib-shellout-1.4.0.gem
diff --git a/strata/chef/net-dhcp-1.2.1.morph b/strata/chef/net-dhcp-1.2.1.morph
new file mode 100644
index 00000000..88eb4963
--- /dev/null
+++ b/strata/chef/net-dhcp-1.2.1.morph
@@ -0,0 +1,13 @@
+name: net-dhcp-1.2.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: net-dhcp-1.2.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build net-dhcp.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./net-dhcp-1.2.1.gem
diff --git a/strata/chef/net-ssh-2.9.1.morph b/strata/chef/net-ssh-2.9.1.morph
new file mode 100644
index 00000000..c06495d5
--- /dev/null
+++ b/strata/chef/net-ssh-2.9.1.morph
@@ -0,0 +1,15 @@
+name: net-ssh-2.9.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: net-ssh-2.9.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+configure-commands:
+- sed -e '/cert_chain\s*=/d' -e '/signing_key\s*=/d' -i net-ssh.gemspec
+build-commands:
+- gem build net-ssh.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./net-ssh-2.9.1.gem
diff --git a/strata/chef/net-ssh-gateway-1.2.0.morph b/strata/chef/net-ssh-gateway-1.2.0.morph
new file mode 100644
index 00000000..c0425002
--- /dev/null
+++ b/strata/chef/net-ssh-gateway-1.2.0.morph
@@ -0,0 +1,15 @@
+name: net-ssh-gateway-1.2.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: net-ssh-gateway-1.2.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+configure-commands:
+- sed -e '/cert_chain\s*=/d' -e '/signing_key\s*=/d' -i net-ssh-gateway.gemspec
+build-commands:
+- gem build net-ssh-gateway.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./net-ssh-gateway-1.2.0.gem
diff --git a/strata/chef/net-ssh-multi-1.2.0.morph b/strata/chef/net-ssh-multi-1.2.0.morph
new file mode 100644
index 00000000..fc433a37
--- /dev/null
+++ b/strata/chef/net-ssh-multi-1.2.0.morph
@@ -0,0 +1,15 @@
+name: net-ssh-multi-1.2.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: net-ssh-multi-1.2.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+configure-commands:
+- sed -e '/cert_chain\s*=/d' -e '/signing_key\s*=/d' -i net-ssh-multi.gemspec
+build-commands:
+- gem build net-ssh-multi.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./net-ssh-multi-1.2.0.gem
diff --git a/strata/chef/ohai-master.morph b/strata/chef/ohai-master.morph
new file mode 100644
index 00000000..f47dda35
--- /dev/null
+++ b/strata/chef/ohai-master.morph
@@ -0,0 +1,13 @@
+name: ohai-7.4.0.dev
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: ohai-7.4.0.dev-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build ohai.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./ohai-7.4.0.dev.gem
diff --git a/strata/chef/plist-master.morph b/strata/chef/plist-master.morph
new file mode 100644
index 00000000..bef39f7d
--- /dev/null
+++ b/strata/chef/plist-master.morph
@@ -0,0 +1,14 @@
+---
+name: plist-master
+kind: chunk
+build-system: manual
+products:
+- artifact: plist-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- rake gem
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./pkg/plist-3.1.0.gem
diff --git a/strata/chef/pry-master.morph b/strata/chef/pry-master.morph
new file mode 100644
index 00000000..07ebca7a
--- /dev/null
+++ b/strata/chef/pry-master.morph
@@ -0,0 +1,13 @@
+name: pry-0.10.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: pry-0.10.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build pry.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./pry-0.10.1.gem
diff --git a/strata/chef/rack-1.5.2.morph b/strata/chef/rack-1.5.2.morph
new file mode 100644
index 00000000..50fd960c
--- /dev/null
+++ b/strata/chef/rack-1.5.2.morph
@@ -0,0 +1,13 @@
+name: rack-1.5.2
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: rack-1.5.2-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build rack.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./rack-1.5.2.gem
diff --git a/strata/chef/slop-3.6.0.morph b/strata/chef/slop-3.6.0.morph
new file mode 100644
index 00000000..32101078
--- /dev/null
+++ b/strata/chef/slop-3.6.0.morph
@@ -0,0 +1,13 @@
+name: slop-3.6.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: slop-3.6.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build slop.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./slop-3.6.0.gem
diff --git a/strata/chef/systemu-master.morph b/strata/chef/systemu-master.morph
new file mode 100644
index 00000000..3cc0a5e2
--- /dev/null
+++ b/strata/chef/systemu-master.morph
@@ -0,0 +1,13 @@
+name: systemu-2.6.4
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: systemu-2.6.4-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build systemu.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./systemu-2.6.4.gem
diff --git a/strata/chef/wmi-lite-1.0.0.morph b/strata/chef/wmi-lite-1.0.0.morph
new file mode 100644
index 00000000..bb4b4127
--- /dev/null
+++ b/strata/chef/wmi-lite-1.0.0.morph
@@ -0,0 +1,13 @@
+name: wmi-lite-1.0.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: wmi-lite-1.0.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build wmi-lite.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./wmi-lite-1.0.0.gem
diff --git a/strata/chef/yajl.morph b/strata/chef/yajl.morph
new file mode 100644
index 00000000..9dbc8dbf
--- /dev/null
+++ b/strata/chef/yajl.morph
@@ -0,0 +1,6 @@
+name: yajl
+kind: chunk
+description: YAJL JSON parsing library
+build-system: cmake
+max-jobs: 1
+
diff --git a/strata/core.morph b/strata/core.morph
index a1fc9a10..a1abf369 100644
--- a/strata/core.morph
+++ b/strata/core.morph
@@ -7,8 +7,8 @@ build-depends:
chunks:
- name: sqlite3
repo: upstream:sqlite3
- ref: f6c2a9fe49d20654c2c41844d056033692a223b7
- unpetrify-ref: baserock/morph
+ ref: 24adc227bc29cd17e39df097fbca389c7724cd14
+ unpetrify-ref: sqlite-autoconf-3080801
build-depends: []
- name: cmake
morph: strata/core/cmake.morph
@@ -22,17 +22,11 @@ chunks:
ref: 51871d08a48ff781186f7a7b22ec69a1db38eb4c
unpetrify-ref: baserock/build-essential
build-depends: []
-- name: gettext
- morph: strata/core/gettext.morph
- repo: upstream:gettext
- ref: 3898e324f07c05404b63d71f0e519f352fb1e072
- unpetrify-ref: baserock/build-essential
- build-depends: []
-- name: m4
- morph: strata/core/m4.morph
- repo: upstream:m4
- ref: cfbd353f3a2dc517992bcdc747281a22feb0c4db
- unpetrify-ref: baserock/build-essential
+- name: gettext-tarball
+ morph: strata/core/gettext-tarball.morph
+ repo: upstream:gettext-tarball
+ ref: 482840e61f86ca321838a91e902c41d40c098bbb
+ unpetrify-ref: gettext-0.19.4
build-depends: []
- name: mini-utils
morph: strata/core/mini-utils.morph
@@ -53,12 +47,6 @@ chunks:
unpetrify-ref: baserock/morph
build-depends:
- gdbm
-- name: pkg-config
- morph: strata/core/pkg-config.morph
- repo: upstream:pkg-config
- ref: 67a702a15cf88e270539484929ffa1f42b90c728
- unpetrify-ref: baserock/build-essential
- build-depends: []
- name: texinfo-tarball
morph: strata/core/texinfo-tarball.morph
repo: upstream:texinfo-tarball
@@ -66,21 +54,20 @@ chunks:
unpetrify-ref: baserock/morph
build-depends:
- ncurses
-- name: autoconf
- morph: strata/core/autoconf.morph
- repo: upstream:autoconf
- ref: cffdb90be331111ce3fbe4a32320181ec2b92652
- unpetrify-ref: baserock/build-essential
+- name: autoconf-tarball
+ morph: strata/core/autoconf-tarball.morph
+ repo: upstream:autoconf-tarball
+ ref: 55d1d2c339bc5f935f6d8d702e98b7bd5d968e9d
+ unpetrify-ref: autoconf-2.69
build-depends:
- - m4
- perl
- name: automake
morph: strata/core/automake.morph
repo: upstream:automake
- ref: ba4b42faff673e3e5265416dff09e59affc688fb
- unpetrify-ref: v1.14.1
+ ref: db43dd473361d90d8b00362cfef5bac8e722000d
+ unpetrify-ref: v1.15
build-depends:
- - autoconf
+ - autoconf-tarball
- perl
- texinfo-tarball
- name: bash
@@ -94,8 +81,7 @@ chunks:
repo: upstream:flex
ref: de10f98e8a2dc2a021796811490d0f30c3cd90bf
unpetrify-ref: baserock/build-essential
- build-depends:
- - m4
+ build-depends: []
- name: openssl-new
morph: strata/core/openssl-new.morph
repo: upstream:openssl-new
@@ -117,19 +103,19 @@ 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
- sqlite3
- ncurses
- readline
-- name: libtool
- morph: strata/core/libtool.morph
- repo: upstream:libtool
- ref: d388b7f2dc628b22006025d01179bc09b8aabe81
- unpetrify-ref: baserock/build-essential
+- name: libtool-tarball
+ morph: strata/core/libtool-tarball.morph
+ repo: upstream:libtool-tarball
+ ref: f7bbc21981ffdbbe2d4435556e3ead0828dce160
+ unpetrify-ref: libtool-2.4.5
build-depends:
- bash
- name: gtk-doc-stub
@@ -137,28 +123,27 @@ chunks:
ref: 58ec0d8593541ef7ae522ce42ebec6f98536c4e0
unpetrify-ref: baserock/morph
build-depends:
- - autoconf
+ - autoconf-tarball
- automake
- - libtool
+ - libtool-tarball
- name: xz
- morph: strata/core/xz.morph
repo: upstream:xz
- ref: 581deedf9d1eadcd84c4fcd23b9fdfe2dde18cc2
- unpetrify-ref: baserock/morph
+ ref: a0cd05ee71d330b79ead6eb9222e1b24e1559d3a
+ unpetrify-ref: v5.2.0
build-depends:
- - autoconf
+ - autoconf-tarball
- automake
- - gettext
- - libtool
+ - gettext-tarball
+ - libtool-tarball
- name: libxml2
repo: upstream:libxml2
ref: ee8f1d4cda8dc1a6f2c515fe234f7bc89cdc9f80
unpetrify-ref: baserock/morph
build-depends:
- - autoconf
+ - autoconf-tarball
- automake
- cpython
- - libtool
+ - libtool-tarball
- xz
- name: ca-certificates
morph: strata/core/ca-certificates.morph
@@ -174,9 +159,9 @@ chunks:
ref: 202aa9f7758636730299b86715d924f54468a908
unpetrify-ref: curl-7_38_0
build-depends:
- - autoconf
+ - autoconf-tarball
- automake
- - libtool
+ - libtool-tarball
- openssl-new
- ca-certificates
- name: libexpat
@@ -185,9 +170,9 @@ chunks:
ref: 97678ab13f6d29878997256b6ae1ded679ae5c5c
unpetrify-ref: baserock/morph
build-depends:
- - autoconf
+ - autoconf-tarball
- automake
- - libtool
+ - libtool-tarball
- name: XML-Parser
repo: upstream:XML-Parser
ref: e1a3ec157140a699e3020836475a0df622f70f1b
@@ -202,10 +187,10 @@ chunks:
ref: 49c3e926349e964b311b46251bb2b97d3d669855
unpetrify-ref: v2.1.3
build-depends:
- - autoconf
+ - autoconf-tarball
- cpython
- curl
- - gettext
+ - gettext-tarball
- libexpat
- openssl-new
- name: help2man
@@ -214,7 +199,7 @@ chunks:
ref: 0191a5f61525f8deea2ae8bdfea88190d85b6a71
unpetrify-ref: baserock/morph
build-depends:
- - autoconf
+ - autoconf-tarball
- automake
- name: bison
morph: strata/core/bison.morph
@@ -222,11 +207,11 @@ chunks:
ref: 2ab6d1daaccf32fc4314e4b2fe44da977f11a308
unpetrify-ref: baserock/v3.0.2
build-depends:
- - autoconf
+ - autoconf-tarball
- automake
- bash
- flex
- - gettext
+ - gettext-tarball
- git
- help2man
- mini-utils
@@ -242,20 +227,29 @@ chunks:
unpetrify-ref: baserock/morph
build-depends:
- XML-Parser
- - autoconf
+ - autoconf-tarball
- automake
- perl
+- name: pkg-config
+ morph: strata/core/pkg-config.morph
+ repo: upstream:pkg-config
+ ref: 74ceac54ef6f9247c00f08eecd8cca811a3c5934
+ unpetrify-ref: pkg-config-0.28
+ build-depends:
+ - autoconf-tarball
+ - automake
+ - libtool-tarball
- name: util-linux
morph: strata/core/util-linux.morph
repo: upstream:util-linux
ref: c5c1033c5c7deda8abe3448ec81bbb33c72219e0
unpetrify-ref: baserock/morph
build-depends:
- - autoconf
+ - autoconf-tarball
- automake
- - gettext
+ - gettext-tarball
- git
- - libtool
+ - libtool-tarball
- pkg-config
- name: nano
repo: upstream:nano-tarball
@@ -290,10 +284,10 @@ chunks:
ref: 4f5000a45963c2cc2a403ad23e459f20296b29c2
unpetrify-ref: baserock/4.2
build-depends:
- - autoconf
+ - autoconf-tarball
- automake
- - gettext
- - libtool
+ - gettext-tarball
+ - libtool-tarball
- bison
- name: patch
morph: strata/core/patch.morph
diff --git a/strata/core/libtool.morph b/strata/core/autoconf-tarball.morph
index f311281d..fbdc5768 100644
--- a/strata/core/libtool.morph
+++ b/strata/core/autoconf-tarball.morph
@@ -1,6 +1,5 @@
-name: libtool
+name: autoconf-tarball
kind: chunk
-max-jobs: 1
build-system: autotools
configure-commands:
- ./configure --prefix="$PREFIX"
diff --git a/strata/core/ca-certificates.morph b/strata/core/ca-certificates.morph
index 3072e4f3..b7bd9e5a 100644
--- a/strata/core/ca-certificates.morph
+++ b/strata/core/ca-certificates.morph
@@ -16,3 +16,7 @@ post-install-commands:
export ETCCERTSDIR="$DESTDIR/etc/ssl/certs"
mkdir -p "$ETCCERTSDIR"
./sbin/update-ca-certificates
+system-integration:
+ ca-certificates-misc:
+ 00-update-ca-certs:
+ - update-ca-certificates
diff --git a/strata/core/m4.morph b/strata/core/gettext-tarball.morph
index b76afbe4..4983b484 100644
--- a/strata/core/m4.morph
+++ b/strata/core/gettext-tarball.morph
@@ -1,5 +1,5 @@
-name: m4
+name: gettext-tarball
kind: chunk
build-system: autotools
configure-commands:
-- ./configure --prefix="$PREFIX" --disable-nls
+- ./configure --prefix="$PREFIX"
diff --git a/strata/core/gettext.morph b/strata/core/gettext.morph
deleted file mode 100644
index 3e2c56b5..00000000
--- a/strata/core/gettext.morph
+++ /dev/null
@@ -1,9 +0,0 @@
-name: gettext
-kind: chunk
-max-jobs: 1
-configure-commands:
-- ./configure --prefix=/usr
-build-commands:
-- make EXAMPLESPOFILES=
-install-commands:
-- make EXAMPLESPOFILES= DESTDIR="$DESTDIR" install
diff --git a/strata/core/libpopt.morph b/strata/core/libpopt.morph
new file mode 100644
index 00000000..ae27432c
--- /dev/null
+++ b/strata/core/libpopt.morph
@@ -0,0 +1,10 @@
+name: libpopt
+kind: chunk
+configure-commands:
+- autoreconf -if
+- ./configure
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
+
diff --git a/strata/core/libtool-tarball.morph b/strata/core/libtool-tarball.morph
new file mode 100644
index 00000000..65a3edbc
--- /dev/null
+++ b/strata/core/libtool-tarball.morph
@@ -0,0 +1,5 @@
+name: libtool-tarball
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX"
diff --git a/strata/core/pkg-config.morph b/strata/core/pkg-config.morph
index 090a65e5..ed35a2ac 100644
--- a/strata/core/pkg-config.morph
+++ b/strata/core/pkg-config.morph
@@ -2,4 +2,4 @@ name: pkg-config
kind: chunk
build-system: autotools
configure-commands:
-- ./configure --prefix="$PREFIX" --with-internal-glib
+- ./autogen.sh --prefix="$PREFIX" --with-internal-glib
diff --git a/strata/core/sgdisk.morph b/strata/core/sgdisk.morph
new file mode 100644
index 00000000..e792f9d9
--- /dev/null
+++ b/strata/core/sgdisk.morph
@@ -0,0 +1,7 @@
+name: sgdisk
+kind: chunk
+build-commands:
+- make
+install-commands:
+- install -D -m 0755 -o root -g root sgdisk "$DESTDIR$PREFIX/bin/sgdisk"
+
diff --git a/strata/core/xz.morph b/strata/core/xz.morph
deleted file mode 100644
index 8165abdc..00000000
--- a/strata/core/xz.morph
+++ /dev/null
@@ -1,3 +0,0 @@
-name: xz
-kind: chunk
-build-system: autotools
diff --git a/strata/coreutils-common/coreutils.morph b/strata/coreutils-common/coreutils.morph
index 479e9925..08808333 100644
--- a/strata/coreutils-common/coreutils.morph
+++ b/strata/coreutils-common/coreutils.morph
@@ -5,5 +5,7 @@ configure-commands:
- sed -i -e '/^buildreq="/,/^"/{/rsync/d}' bootstrap.conf
- bash bootstrap --skip-po
- FORCE_UNSAFE_CONFIGURE=1 ./configure --prefix="$PREFIX" --disable-nls
+build-commands:
+- make WERROR_CFLAGS=
install-commands:
- make INSTALL_PROGRAM=install DESTDIR="$DESTDIR" install
diff --git a/strata/devtools.morph b/strata/devtools.morph
new file mode 100644
index 00000000..73ebd783
--- /dev/null
+++ b/strata/devtools.morph
@@ -0,0 +1,32 @@
+name: devtools
+kind: stratum
+description: |
+ Extra development tools included in the devel system, this stratum
+ is here to help reduce unnecessary building, chunks added to this
+ stratum should not have any dependants (please don't build-depend on this
+ stratum)
+build-depends:
+- morph: strata/foundation.morph
+chunks:
+- name: vim
+ morph: strata/devtools/vim.morph
+ repo: upstream:vim
+ ref: 07c2c06799e0579e6bfb1a7d98acf38e36a98f79
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: pv
+ repo: upstream:pv
+ ref: d6ce7cfec684fa72d7a919d7b1aa817a0ca6102a
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: screen
+ morph: strata/devtools/screen.morph
+ repo: upstream:screen
+ ref: 7dd4a9e5f385c96a77e8ee5c977a1dde4c0ff467
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: less
+ repo: upstream:less
+ ref: 09a405d8f652b56944c93ebf5c673cdfe5319b04
+ unpetrify-ref: baserock/morph
+ build-depends: []
diff --git a/strata/tools/screen.morph b/strata/devtools/screen.morph
index 0b23c5d4..0b23c5d4 100644
--- a/strata/tools/screen.morph
+++ b/strata/devtools/screen.morph
diff --git a/strata/tools/vim.morph b/strata/devtools/vim.morph
index 58e1403f..58e1403f 100644
--- a/strata/tools/vim.morph
+++ b/strata/devtools/vim.morph
diff --git a/strata/enlightenment.morph b/strata/enlightenment.morph
index 845e7fab..541b4f7a 100644
--- a/strata/enlightenment.morph
+++ b/strata/enlightenment.morph
@@ -28,7 +28,6 @@ chunks:
build-depends:
- bullet3
- fribidi
- - luajit2
- name: elementary
morph: strata/enlightenment/elementary.morph
repo: upstream:enlightenment/elementary
diff --git a/strata/foundation.morph b/strata/foundation.morph
index e19fa70b..9738938b 100644
--- a/strata/foundation.morph
+++ b/strata/foundation.morph
@@ -35,23 +35,12 @@ chunks:
ref: 77d4586cc47e8f4c02278afbc220145bba0d442b
unpetrify-ref: baserock/morph
build-depends: []
-- name: libusbx
- repo: upstream:libusbx
- ref: 7ec94a45ed8155e7a1d4d5d75575099b09c78834
- unpetrify-ref: baserock/morph
- build-depends: []
- name: pciutils
morph: strata/foundation/pciutils.morph
repo: upstream:pciutils
ref: bae04bd0473c68a2f21b7712a627abb08fd84b29
unpetrify-ref: baserock/morph
build-depends: []
-- name: usbutils
- repo: upstream:usbutils
- ref: 410f1474af0ddb391bc6ec391777f116eee31569
- unpetrify-ref: baserock/morph
- build-depends:
- - libusbx
- name: glib
repo: upstream:glib
ref: 4125415e7f4d1213fc7122beac0d91af08e37b28
@@ -89,8 +78,18 @@ chunks:
- kmod
- libcap2
- libgcrypt
- - pciutils
- - usbutils
+- name: libusb
+ repo: upstream:libusb
+ ref: e11525c66c7dd2db466c8f5785ff0b37d6a99ec9
+ unpetrify-ref: v1.0.19
+ build-depends:
+ - systemd
+- name: usbutils
+ repo: upstream:usbutils
+ ref: c37f146eb2c6642c600f1b025a6d56996b0697ff
+ unpetrify-ref: baserock/v008
+ build-depends:
+ - libusb
- name: lzo
morph: strata/foundation/lzo.morph
repo: upstream:lzo
@@ -100,8 +99,8 @@ chunks:
- name: fuse
morph: strata/foundation/fuse.morph
repo: upstream:fuse
- ref: 13ee8f62d4aa3360adb6956fb30da0c858928fa2
- unpetrify-ref: baserock/genivi/morph
+ ref: 4163109fd5bfe67973262610dd95ae60888c92e9
+ unpetrify-ref: fuse_2_9_bugfix
build-depends: []
- name: btrfs-progs
morph: strata/foundation/btrfs-progs.morph
diff --git a/strata/foundation/pciutils.morph b/strata/foundation/pciutils.morph
index 8ca13bad..03bd4a23 100644
--- a/strata/foundation/pciutils.morph
+++ b/strata/foundation/pciutils.morph
@@ -1,11 +1,11 @@
name: pciutils
kind: chunk
configure-commands:
-- make ZLIB=no lib/config.mk
-- echo PREFIX=$PREFIX >>lib/config.mk
-- echo MANDIR=$PREFIX/share/man >>lib/config.mk
+- make PREFIX="$PREFIX" ZLIB=no lib/config.mk
+- echo PREFIX="$PREFIX" >>lib/config.mk
+- echo MANDIR="$PREFIX/share/man" >>lib/config.mk # ensure manpages are always installed in share/man
build-commands:
-- make
+- make PREFIX="$PREFIX"
install-commands:
-- make DESTDIR="$DESTDIR" install
-- make DESTDIR="$DESTDIR" install-lib
+- make PREFIX="$PREFIX" DESTDIR="$DESTDIR" install
+- make PREFIX="$PREFIX" DESTDIR="$DESTDIR" install-lib
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/graphics-common.morph b/strata/graphics-common.morph
index b187df8f..9fc05b7c 100644
--- a/strata/graphics-common.morph
+++ b/strata/graphics-common.morph
@@ -2,6 +2,7 @@ name: graphics-common
kind: stratum
build-depends:
- morph: strata/mesa-common.morph
+- morph: strata/x-common.morph
chunks:
- name: pixman
repo: upstream:pixman
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/lorry.morph b/strata/lorry.morph
index 158071cc..17f845cf 100644
--- a/strata/lorry.morph
+++ b/strata/lorry.morph
@@ -114,7 +114,7 @@ chunks:
- name: lorry
morph: strata/lorry/lorry.morph
repo: baserock:baserock/lorry
- ref: 9fe25bf02dceec04f0ffd6a05cc47146ceab9904
+ ref: 4fcff82742ce3325a860c060b597ff281872c594
unpetrify-ref: master
build-depends:
- bzr-tarball
diff --git a/strata/lvm.morph b/strata/lvm.morph
new file mode 100644
index 00000000..8c1c3f67
--- /dev/null
+++ b/strata/lvm.morph
@@ -0,0 +1,16 @@
+name: lvm
+kind: stratum
+description: |
+ LVM userland tools.
+
+ LVM is a logical volume manager for the Linux kernel. This stratum contains
+ the tools necessary to manage volumes with LVM.
+build-depends:
+- morph: strata/foundation.morph
+chunks:
+- name: lvm2
+ morph: strata/lvm/lvm2.morph
+ repo: upstream:lvm2
+ ref: fa01faaa4aa96de834ba7e8fbb9d9aff908571c3
+ unpetrify-ref: v2_02_115
+ build-depends: []
diff --git a/strata/lvm/lvm2.morph b/strata/lvm/lvm2.morph
new file mode 100644
index 00000000..9b4a68bf
--- /dev/null
+++ b/strata/lvm/lvm2.morph
@@ -0,0 +1,31 @@
+name: lvm2
+kind: chunk
+build-system: autotools
+
+configure-commands:
+# We specify --sbindir explicitly due to a bug in .service file generation:
+# if left to the default, @sbindir@ is expanded to the literal string
+# '${exec_prefix}/sbin' in the generated .service files.
+#
+# udev rules *must* go in /lib, they'll be ignored if they go in /usr/lib.
+- >
+ ./configure --prefix="$PREFIX" \
+ --sbindir="$PREFIX"/sbin \
+ --with-udev-prefix=/ \
+ --with-systemdsystemunitdir="$PREFIX"/lib/systemd/system \
+ --enable-applib --enable-cmdlib --enable-pkgconfig --enable-lvmetad \
+ --enable-dmeventd --enable-udev_sync
+
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- make DESTDIR="$DESTDIR" install_system_dirs
+- make DESTDIR="$DESTDIR" install_systemd_generators
+- make DESTDIR="$DESTDIR" install_systemd_units
+- make DESTDIR="$DESTDIR" install_tmpfiles_configuration
+
+# Use lvmetad by default. This means we don't have to use the
+# `lvm2-activation-generator` systemd generator, which is a good thing
+# because I have seen it cause systems to completely fail to boot. Fedora
+# does something similar, see:
+# http://pkgs.fedoraproject.org/cgit/lvm2.git/tree/lvm2-enable-lvmetad-by-default.patch
+- sed -e 's/use_lvmetad = 0/use_lvmetad = 1/' -i "$DESTDIR"/etc/lvm/lvm.conf
diff --git a/strata/morph-utils.morph b/strata/morph-utils.morph
index f7d86782..95d9807c 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: fc5d4e58753d113d898744c1924b13ddc34e526e
+ ref: f0c5d4c0ef35cc43aa059cd2255e41c60c4cac77
unpetrify-ref: master
build-depends:
- cliapp
diff --git a/strata/ntpd.morph b/strata/ntpd.morph
new file mode 100644
index 00000000..e45e6424
--- /dev/null
+++ b/strata/ntpd.morph
@@ -0,0 +1,10 @@
+name: ntpd
+kind: stratum
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: ntpd
+ repo: upstream:ntp
+ ref: d4b7cd9723cce9561fa15f74b90b85a3a61b5ef8
+ unpetrify-ref: ntp-dev-4.2.7p482
+ build-depends: []
diff --git a/strata/qt5-sdk.morph b/strata/qt5-sdk.morph
index 0d877a62..066f62a0 100644
--- a/strata/qt5-sdk.morph
+++ b/strata/qt5-sdk.morph
@@ -8,6 +8,6 @@ chunks:
- name: qt-creator
morph: strata/qt5-sdk/qt-creator.morph
repo: upstream:qt-creator
- ref: v3.2.1
- unpetrify-ref: baserock/morph/2.7
+ ref: d81cd236df1cc6bc6977c438f0edbff35eef6682
+ unpetrify-ref: baserock/3.3.0
build-depends: []
diff --git a/strata/tools.morph b/strata/tools.morph
index a09c24f5..4d8c3f44 100644
--- a/strata/tools.morph
+++ b/strata/tools.morph
@@ -1,6 +1,6 @@
name: tools
kind: stratum
-description: Extra development tools included in the devel system
+description: Various tools
build-depends:
- morph: strata/foundation.morph
chunks:
@@ -22,15 +22,11 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: gdb
+ morph: strata/tools/gdb.morph
repo: upstream:gdb
ref: c4bf5268b1a32ec475b61d2fe90e9218780c03c8
unpetrify-ref: baserock/morph
build-depends: []
-- name: less
- repo: upstream:less
- ref: 09a405d8f652b56944c93ebf5c673cdfe5319b04
- unpetrify-ref: baserock/morph
- build-depends: []
- name: linux-user-chroot
repo: upstream:linux-user-chroot
ref: d25cc110f69e6e71a95b4ac532dcfc5423d4a16b
@@ -42,11 +38,6 @@ chunks:
ref: fffb8558208586338587027c265fd0eca44466be
unpetrify-ref: baserock/morph
build-depends: []
-- name: pv
- repo: upstream:pv
- ref: d6ce7cfec684fa72d7a919d7b1aa817a0ca6102a
- unpetrify-ref: baserock/morph
- build-depends: []
- name: rsync
morph: strata/tools/rsync.morph
repo: upstream:rsync
@@ -58,24 +49,18 @@ chunks:
ref: ad232c6aa0c2a07830d61dc4b9912478634b23b5
unpetrify-ref: baserock/morph
build-depends: []
-- name: vala
- morph: strata/tools/vala.morph
+- name: vala-bootstrap
+ morph: strata/tools/vala-bootstrap.morph
repo: upstream:vala
ref: 4e4a02c03445336237b36723b23a91670ef7621b
unpetrify-ref: baserock/bootstrap
build-depends: []
-- name: vim
- morph: strata/tools/vim.morph
- repo: upstream:vim
- ref: 592b8c975bf83b4dcf608769bc664a80cb1daf9e
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: screen
- morph: strata/tools/screen.morph
- repo: upstream:screen
- ref: 7dd4a9e5f385c96a77e8ee5c977a1dde4c0ff467
- unpetrify-ref: baserock/morph
- build-depends: []
+- name: vala
+ repo: upstream:vala
+ ref: 682eba5880fbd76402dec10118883da913a7b255
+ unpetrify-ref: 0.26.2
+ build-depends:
+ - vala-bootstrap
- name: u-boot
morph: strata/tools/u-boot.morph
repo: upstream:u-boot
@@ -105,3 +90,10 @@ chunks:
unpetrify-ref: v3.3.9
build-depends: []
prefix: /
+- name: ipmitool
+ morph: strata/tools/ipmitool.morph
+ repo: upstream:ipmitool
+ ref: be7917f9f58c8a354bc0960ed57516af5d2bd29a
+ unpetrify-ref: IPMITOOL_1_8_14
+ build-depends:
+ - file
diff --git a/strata/tools/gdb.morph b/strata/tools/gdb.morph
new file mode 100644
index 00000000..8b82b9d9
--- /dev/null
+++ b/strata/tools/gdb.morph
@@ -0,0 +1,5 @@
+name: gdb
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-werror
diff --git a/strata/tools/ipmitool.morph b/strata/tools/ipmitool.morph
new file mode 100644
index 00000000..db0d5a3a
--- /dev/null
+++ b/strata/tools/ipmitool.morph
@@ -0,0 +1,5 @@
+name: ipmitool
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- touch NEWS
diff --git a/strata/tools/vala.morph b/strata/tools/vala-bootstrap.morph
index dcac5d49..c09299f6 100644
--- a/strata/tools/vala.morph
+++ b/strata/tools/vala-bootstrap.morph
@@ -1,4 +1,4 @@
-name: vala
+name: vala-bootstrap
kind: chunk
build-system: autotools
configure-commands:
diff --git a/strata/trove.morph b/strata/trove.morph
index 7eaa204a..3b5ca528 100644
--- a/strata/trove.morph
+++ b/strata/trove.morph
@@ -72,7 +72,7 @@ chunks:
- name: trove-setup
morph: strata/trove/trove-setup.morph
repo: baserock:baserock/trove-setup
- ref: 5f2dab59ff6e70edf6ffbcd65fe64b487c4380c2
+ ref: 98cf2ab9c80c8efd0df9086353972e7dc73f40b8
unpetrify-ref: master
build-depends: []
- name: lorry-controller
diff --git a/strata/virtualization.morph b/strata/virtualization.morph
index e3261f84..7aa8f6af 100644
--- a/strata/virtualization.morph
+++ b/strata/virtualization.morph
@@ -16,19 +16,12 @@ chunks:
ref: 1d4a2abc875c4dda1b5eadc0a097a48a8d2ec82b
unpetrify-ref: master
build-depends: []
-- name: lvm2
- morph: strata/virtualization/lvm2.morph
- repo: upstream:lvm2
- ref: 8c5b90b50bdf9f1a7ae1d3c4cf58ce4b0d7c2768
- unpetrify-ref: baserock/morph
- build-depends: []
- name: dnsmasq
morph: strata/virtualization/dnsmasq.morph
repo: upstream:dnsmasq
ref: 8471cd938ca41fbe4fee8ae3f657625c92cfb954
unpetrify-ref: baserock/morph
- build-depends:
- - lvm2
+ build-depends: []
- name: qemu
morph: strata/virtualization/qemu.morph
repo: upstream:qemu
diff --git a/strata/virtualization/lvm2.morph b/strata/virtualization/lvm2.morph
deleted file mode 100644
index 49c166dc..00000000
--- a/strata/virtualization/lvm2.morph
+++ /dev/null
@@ -1,6 +0,0 @@
-name: lvm2
-kind: chunk
-build-system: autotools
-configure-commands:
-- ./configure --prefix="$PREFIX" --enable-applib --enable-cmdlib --enable-pkgconfig
- --enable-dmeventd --enable-udev_sync
diff --git a/strata/weston-common/weston.morph b/strata/weston-common/weston.morph
index 2efd662e..c49b8d5b 100644
--- a/strata/weston-common/weston.morph
+++ b/strata/weston-common/weston.morph
@@ -4,6 +4,4 @@ build-system: autotools
configure-commands:
- |
./autogen.sh --prefix="$PREFIX" \
- --disable-xwayland \
- --disable-x11-compositor \
--enable-demo-clients-install
diff --git a/strata/x-common.morph b/strata/x-common.morph
index 8c0bba1d..8191b30f 100644
--- a/strata/x-common.morph
+++ b/strata/x-common.morph
@@ -98,21 +98,11 @@ chunks:
ref: f805b328b2195de384c0fb6b82ef5f88c179b2c0
unpetrify-ref: baserock/morph
build-depends: []
-- name: xorg-proto-xf86dgaproto
- repo: upstream:xorg-proto-xf86dgaproto
- ref: c52b205c3175309be7952774668c87dd2d5ce30e
- unpetrify-ref: baserock/morph
- build-depends: []
- name: xorg-proto-xf86driproto
repo: upstream:xorg-proto-xf86driproto
ref: cb03b8d49bf063860859c1ed8bcecd055551e93a
unpetrify-ref: baserock/morph
build-depends: []
-- name: xorg-proto-xf86vidmodeproto
- repo: upstream:xorg-proto-xf86vidmodeproto
- ref: 15c05b263eb6cc0eaa7ab49c39fe489613d6d796
- unpetrify-ref: baserock/morph
- build-depends: []
- name: xorg-proto-x11proto
repo: upstream:xorg-proto-x11proto
ref: 03cbbf6c3e811c026c86e3a60d2f9af56606e155
@@ -165,13 +155,10 @@ chunks:
unpetrify-ref: libX11-1.6.2
build-depends:
- xcb-libxcb
- - xorg-lib-libXau
- xorg-lib-libxtrans
- - xorg-proto-bigreqsproto
- xorg-proto-inputproto
- xorg-proto-kbproto
- xorg-proto-x11proto
- - xorg-proto-xcmiscproto
- xorg-proto-xextproto
- xorg-proto-xf86bigfontproto
- name: xorg-lib-libXext
@@ -193,12 +180,6 @@ chunks:
- xorg-proto-inputproto
- xorg-proto-x11proto
- xorg-proto-xextproto
-- name: xorg-util-makedepend
- repo: upstream:xorg-util-makedepend
- ref: 87fd28cd5a5acfe6e91c97c4af0a469e1e86cbd5
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-proto-x11proto
- name: xorg-lib-libXfixes
repo: upstream:xorg-lib-libXfixes
ref: 0cb446962381f750e05d97bfb974ca1e32481d5d
@@ -206,14 +187,6 @@ chunks:
build-depends:
- xorg-lib-libXext
- xorg-proto-fixesproto
-- name: xorg-lib-libXcomposite
- repo: upstream:xorg-lib-libXcomposite
- ref: eda48b1bedaa344ada8e13930c9ab3058b836190
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-lib-libX11
- - xorg-lib-libXfixes
- - xorg-proto-compositeproto
- name: xorg-lib-libXrender
repo: upstream:xorg-lib-libXrender
ref: 1af52cb334377611233d7dc156bc1e6f7923756d
@@ -232,24 +205,6 @@ chunks:
- xorg-proto-randrproto
- xorg-proto-renderproto
- xorg-proto-xextproto
-- name: xorg-lib-libXinerama
- repo: upstream:xorg-lib-libXinerama
- ref: 470b9356af961ff7d3968b164aa73872b49a5dcc
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-lib-libX11
- - xorg-lib-libXext
- - xorg-proto-xextproto
- - xorg-proto-xineramaproto
-- name: xorg-lib-libdmx
- repo: upstream:xorg-lib-libdmx
- ref: 9f470c92bc2d194c8abb9154f42864e6c82f43ef
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-lib-libX11
- - xorg-lib-libXext
- - xorg-proto-dmxproto
- - xorg-proto-xextproto
- name: xorg-lib-libXtst
repo: upstream:xorg-lib-libXtst
ref: 2aafac9474a0a0a0c39797862f823255918cf368
@@ -261,15 +216,6 @@ chunks:
- xorg-proto-inputproto
- xorg-proto-recordproto
- xorg-proto-xextproto
-- name: xorg-lib-libXRes
- repo: upstream:xorg-lib-libXRes
- ref: 83e7693515369d57dcd11c2bb1f03563f51bc500
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-lib-libX11
- - xorg-lib-libXext
- - xorg-proto-resourceproto
- - xorg-proto-xextproto
- name: xorg-lib-libXdamage
repo: upstream:xorg-lib-libXdamage
ref: 0d35761dc39409b70e04dd0786aef6537f92976a
@@ -287,26 +233,3 @@ chunks:
- xorg-proto-fixesproto
- xorg-lib-libXau
- xorg-lib-libX11
-- name: xorg-proto-printproto
- repo: upstream:xorg-proto-printproto
- ref: cca2ca69d2a6b4b133dba69d5330499fbfe88257
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: xorg-lib-libXp
- repo: upstream:xorg-lib-libXp
- ref: 41aab7d289aba2aaf3839e96d0c9e2f15ede4bd1
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-proto-printproto
- - xorg-proto-xextproto
- - xorg-lib-libXext
- - xorg-lib-libX11
-- name: xorg-lib-libXScrnSaver
- repo: upstream:xorg-lib-libXScrnSaver
- ref: f388a2ff259ee1c1c6058762e900bb29550e8246
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-proto-scrnsaverproto
- - xorg-proto-xextproto
- - xorg-lib-libXext
- - xorg-lib-libX11
diff --git a/strata/x-generic.morph b/strata/x-generic.morph
index 84f685b0..572932b4 100644
--- a/strata/x-generic.morph
+++ b/strata/x-generic.morph
@@ -3,9 +3,15 @@ kind: stratum
build-depends:
- morph: strata/foundation.morph
- morph: strata/libdrm-common.morph
+- morph: strata/mesa-common.morph
- morph: strata/x-common.morph
- morph: strata/graphics-common.morph
chunks:
+- name: libepoxy
+ repo: upstream:libepoxy
+ ref: 7422de5b4be7b19d789136b3bb5f932de42db27c
+ unpetrify-ref: v1.2
+ build-depends: []
- name: xorg-lib-libxkbfile
repo: upstream:xorg-lib-libxkbfile
ref: 7381c2f9013ef7784c78091fa671e652a62ca706
@@ -28,153 +34,19 @@ chunks:
unpetrify-ref: libXfont-1.5.0
build-depends:
- xorg-lib-libfontenc
-- name: xorg-lib-libICE
- repo: upstream:xorg-lib-libICE
- ref: 1b1cf8072b2559e15ac440d5484a29a81d6918c6
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: xorg-lib-libSM
- repo: upstream:xorg-lib-libSM
- ref: 77ddd273239a629eeed7bd1d5b4509b1bd6d4e37
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-lib-libICE
-- name: xorg-lib-libXt
- repo: upstream:xorg-lib-libXt
- ref: ead50a9a274aa96bef94e57c4625be8e9288af4e
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-lib-libSM
-- name: xorg-lib-libXmu
- repo: upstream:xorg-lib-libXmu
- ref: 474d22468c90f99104873b4c5fd7b0f0d2cbf823
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-lib-libXt
-- name: xorg-lib-libXpm
- repo: upstream:xorg-lib-libXpm
- ref: 81608285e11f2455800001a965dfece878861162
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-lib-libXt
-- name: xorg-lib-libXaw
- repo: upstream:xorg-lib-libXaw
- ref: a5630e166921b5b5322b30fb152df01bb6536e42
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-lib-libXmu
- - xorg-lib-libXpm
- - xorg-lib-libXt
-- name: libsha1
- repo: upstream:libsha1
- ref: 17173732b9f1b2d4142de27913250b4563db2436
- unpetrify-ref: baserock/morph
- build-depends: []
- name: xserver
morph: strata/x-generic/xserver.morph
repo: upstream:xserver
ref: 4393c7f1ba6140a02232f04fbb434a80d663a99d
unpetrify-ref: xorg-server-1.16.2
build-depends:
- - libsha1
+ - libepoxy
- xorg-font-util
- - xorg-lib-libXaw
- xorg-lib-libXfont
- - xorg-lib-libXmu
- - xorg-lib-libXpm
- - xorg-lib-libXt
- - xorg-lib-libfontenc
- xorg-lib-libxkbfile
-- name: xorg-driver-xf86-video-cirrus
- repo: upstream:xorg-driver-xf86-video-cirrus
- ref: 6504929481eab616f064b5d661a057de74b8b488
- unpetrify-ref: baserock/morph
- build-depends:
- - xserver
-- name: xorg-driver-xf86-video-fbdev
- repo: upstream:xorg-driver-xf86-video-fbdev
- ref: ac293412a01d87f87eb61f4adb9db7486a75d3fc
- unpetrify-ref: baserock/morph
- build-depends:
- - xserver
-- name: xorg-driver-xf86-video-vesa
- repo: upstream:xorg-driver-xf86-video-vesa
- ref: 29a149544e2120a582043738d5b09dd80e896345
- unpetrify-ref: baserock/morph
- build-depends:
- - xserver
-- name: xorg-driver-xf86-input-evdev
- repo: upstream:xorg-driver-xf86-input-evdev
- ref: 2b8b0df62ec554952784f2820fb4143c495232b0
- unpetrify-ref: baserock/morph
- build-depends:
- - xserver
-- name: xorg-driver-xf86-input-keyboard
- repo: upstream:xorg-driver-xf86-input-keyboard
- ref: 4a954bc6a8fbc4aa50dfcabec011274252713204
- unpetrify-ref: baserock/morph
- build-depends:
- - xserver
-- name: xorg-driver-xf86-input-mouse
- repo: upstream:xorg-driver-xf86-input-mouse
- ref: 585f4030d77accf2a4ba115729ca08da82217863
- unpetrify-ref: baserock/morph
- build-depends:
- - xserver
- name: xorg-app-xkbcomp
repo: upstream:xorg-app-xkbcomp
ref: 705b9bbb426410f9510601c7010da51184919b36
unpetrify-ref: baserock/morph
build-depends:
- xorg-lib-libxkbfile
-- name: xkeyboard-config
- repo: upstream:xkeyboard-config
- ref: b4be67b48fb11989f1824dd0b1c8c399430162b0
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-app-xkbcomp
-- name: xorg-app-xinit
- repo: upstream:xorg-app-xinit
- ref: 4e85bce64acef1fa0ddff04d59737444e942ff12
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: xorg-lib-libXft
- repo: upstream:xorg-lib-libXft
- ref: 214f9b5306d833e2787c75fe41dfdc9228fcb738
- unpetrify-ref: libXft-2.3.2
- build-depends: []
-- name: xcb-util
- repo: upstream:xcb-util
- ref: 45215e6f56bf57efdf5469567c00eba7a991d3a3
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: util-wm
- repo: upstream:util-wm
- ref: 18bde07dc7cb44617c0d159ccd9ef640804296e3
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: util-keysyms
- morph: strata/x-generic/util-keysyms.morph
- repo: upstream:util-keysyms
- ref: 0be179eff4eadb99ee303891d1c29c4e4dd6fbab
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: util-image
- repo: upstream:util-image
- ref: 66b0caa72eb5011d89d0346424ea40b9e8e93816
- unpetrify-ref: baserock/morph
- build-depends:
- - xcb-util
-- name: xterm
- repo: upstream:xterm
- ref: 7fc0a9529babac61d9a0b30e6ddb3c79e44af0e5
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-lib-libXaw
- - xorg-lib-libxkbfile
-- name: xorg-app-xauth
- repo: upstream:xorg-app-xauth
- ref: 6dda11c17f2fdc47d43f269dccee98ec66cc8c4b
- unpetrify-ref: baserock/morph
- build-depends:
- - xorg-lib-libXmu
diff --git a/strata/x-generic/xserver.morph b/strata/x-generic/xserver.morph
index f8495057..ca678331 100644
--- a/strata/x-generic/xserver.morph
+++ b/strata/x-generic/xserver.morph
@@ -2,4 +2,12 @@ name: xserver
kind: chunk
build-system: autotools
configure-commands:
-- ./autogen.sh --prefix="$PREFIX" --with-sha1=libsha1 --disable-glx
+- |
+ ./autogen.sh --prefix="$PREFIX" \
+ --disable-glx \
+ --disable-xorg \
+ --disable-xvfb \
+ --disable-xnest \
+ --disable-xquartz \
+ --disable-xwin \
+ --enable-xwayland
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/build-system-armv7lhf-highbank.morph b/systems/build-system-armv7lhf-highbank.morph
index 8b92f267..3c41fa1e 100644
--- a/systems/build-system-armv7lhf-highbank.morph
+++ b/systems/build-system-armv7lhf-highbank.morph
@@ -23,6 +23,8 @@ strata:
morph: strata/cloudinit-support.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/build-system-armv7lhf-jetson.morph b/systems/build-system-armv7lhf-jetson.morph
index d28b94df..5a45c7c8 100644
--- a/systems/build-system-armv7lhf-jetson.morph
+++ b/systems/build-system-armv7lhf-jetson.morph
@@ -23,6 +23,8 @@ strata:
morph: strata/cloudinit-support.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/build-system-ppc64.morph b/systems/build-system-ppc64.morph
index 14762a6e..1f49c1a7 100644
--- a/systems/build-system-ppc64.morph
+++ b/systems/build-system-ppc64.morph
@@ -23,6 +23,8 @@ strata:
morph: strata/cloudinit-support.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/build-system-x86_32-chroot.morph b/systems/build-system-x86_32-chroot.morph
index 089a26c8..6e2c201e 100644
--- a/systems/build-system-x86_32-chroot.morph
+++ b/systems/build-system-x86_32-chroot.morph
@@ -21,6 +21,8 @@ strata:
morph: strata/cloudinit-support.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/build-system-x86_32.morph b/systems/build-system-x86_32.morph
index 35a86e11..87cda465 100644
--- a/systems/build-system-x86_32.morph
+++ b/systems/build-system-x86_32.morph
@@ -23,6 +23,8 @@ strata:
morph: strata/cloudinit-support.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/build-system-x86_64-chroot.morph b/systems/build-system-x86_64-chroot.morph
index db3a38db..d8eeb7f3 100644
--- a/systems/build-system-x86_64-chroot.morph
+++ b/systems/build-system-x86_64-chroot.morph
@@ -21,6 +21,8 @@ strata:
morph: strata/cloudinit-support.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/build-system-x86_64.morph b/systems/build-system-x86_64.morph
index 06868fed..cdfa65ce 100644
--- a/systems/build-system-x86_64.morph
+++ b/systems/build-system-x86_64.morph
@@ -23,6 +23,8 @@ strata:
morph: strata/cloudinit-support.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/ceph-service-x86_64-generic.morph b/systems/ceph-service-x86_64-generic.morph
index f54af0f7..509bd383 100644
--- a/systems/ceph-service-x86_64-generic.morph
+++ b/systems/ceph-service-x86_64-generic.morph
@@ -18,9 +18,32 @@ strata:
morph: strata/ceph-service.morph
- name: tools
morph: strata/tools.morph
+- name: ruby
+ morph: strata/ruby.morph
+- name: ntpd
+ morph: strata/ntpd.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
+- name: nodejs
+ morph: strata/nodejs.morph
+- name: lorry
+ morph: strata/lorry.morph
+- name: baserock-import
+ morph: strata/baserock-import.morph
+- name: nfs
+ morph: strata/nfs.morph
+- name: python-tools
+ morph: strata/python-tools.morph
+- name: chef
+ morph: strata/chef.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
- ceph
+- cloud-init
diff --git a/systems/devel-system-armv7-chroot.morph b/systems/devel-system-armv7-chroot.morph
index 466df31f..305f7a22 100644
--- a/systems/devel-system-armv7-chroot.morph
+++ b/systems/devel-system-armv7-chroot.morph
@@ -29,6 +29,8 @@ strata:
morph: strata/baserock-import.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-armv7-highbank.morph b/systems/devel-system-armv7-highbank.morph
index ed111387..427dbb3f 100644
--- a/systems/devel-system-armv7-highbank.morph
+++ b/systems/devel-system-armv7-highbank.morph
@@ -32,6 +32,8 @@ strata:
morph: strata/nfs.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-armv7-versatile.morph b/systems/devel-system-armv7-versatile.morph
index 6b24e603..1529522c 100644
--- a/systems/devel-system-armv7-versatile.morph
+++ b/systems/devel-system-armv7-versatile.morph
@@ -32,6 +32,8 @@ strata:
morph: strata/nfs.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-armv7-wandboard.morph b/systems/devel-system-armv7-wandboard.morph
index 70c6f1cc..0f6aef58 100644
--- a/systems/devel-system-armv7-wandboard.morph
+++ b/systems/devel-system-armv7-wandboard.morph
@@ -32,6 +32,8 @@ strata:
morph: strata/nfs.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-armv7b-chroot.morph b/systems/devel-system-armv7b-chroot.morph
index 1f5bf1cf..2b43bf65 100644
--- a/systems/devel-system-armv7b-chroot.morph
+++ b/systems/devel-system-armv7b-chroot.morph
@@ -23,6 +23,8 @@ strata:
morph: strata/baserock-import.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-armv7b-highbank.morph b/systems/devel-system-armv7b-highbank.morph
index 7e703134..2e342fc3 100644
--- a/systems/devel-system-armv7b-highbank.morph
+++ b/systems/devel-system-armv7b-highbank.morph
@@ -26,6 +26,8 @@ strata:
morph: strata/nfs.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-armv7lhf-chroot.morph b/systems/devel-system-armv7lhf-chroot.morph
index 02358014..c50468a9 100644
--- a/systems/devel-system-armv7lhf-chroot.morph
+++ b/systems/devel-system-armv7lhf-chroot.morph
@@ -29,6 +29,8 @@ strata:
morph: strata/baserock-import.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-armv7lhf-highbank.morph b/systems/devel-system-armv7lhf-highbank.morph
index 8fe3737b..4bae3ac8 100644
--- a/systems/devel-system-armv7lhf-highbank.morph
+++ b/systems/devel-system-armv7lhf-highbank.morph
@@ -33,6 +33,8 @@ strata:
morph: strata/nfs.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-armv7lhf-jetson.morph b/systems/devel-system-armv7lhf-jetson.morph
index 550c361a..e542f067 100644
--- a/systems/devel-system-armv7lhf-jetson.morph
+++ b/systems/devel-system-armv7lhf-jetson.morph
@@ -33,6 +33,8 @@ strata:
morph: strata/baserock-import.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-armv7lhf-wandboard.morph b/systems/devel-system-armv7lhf-wandboard.morph
index 9e8f0bc6..cda52c36 100644
--- a/systems/devel-system-armv7lhf-wandboard.morph
+++ b/systems/devel-system-armv7lhf-wandboard.morph
@@ -33,6 +33,8 @@ strata:
morph: strata/nfs.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-ppc64-chroot.morph b/systems/devel-system-ppc64-chroot.morph
index a60f35fc..c4918572 100644
--- a/systems/devel-system-ppc64-chroot.morph
+++ b/systems/devel-system-ppc64-chroot.morph
@@ -27,6 +27,8 @@ strata:
morph: strata/baserock-import.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-ppc64-generic.morph b/systems/devel-system-ppc64-generic.morph
index 6f7fd319..a53a6a56 100644
--- a/systems/devel-system-ppc64-generic.morph
+++ b/systems/devel-system-ppc64-generic.morph
@@ -30,6 +30,8 @@ strata:
morph: strata/nfs.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-x86_32-chroot.morph b/systems/devel-system-x86_32-chroot.morph
index 52e64847..83e55316 100644
--- a/systems/devel-system-x86_32-chroot.morph
+++ b/systems/devel-system-x86_32-chroot.morph
@@ -31,6 +31,8 @@ strata:
morph: strata/baserock-import.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-x86_32-generic.morph b/systems/devel-system-x86_32-generic.morph
index 8d484e81..3ad441ca 100644
--- a/systems/devel-system-x86_32-generic.morph
+++ b/systems/devel-system-x86_32-generic.morph
@@ -34,6 +34,8 @@ strata:
morph: strata/nfs.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-x86_64-chroot.morph b/systems/devel-system-x86_64-chroot.morph
index e77aa5d1..569a00d8 100644
--- a/systems/devel-system-x86_64-chroot.morph
+++ b/systems/devel-system-x86_64-chroot.morph
@@ -31,6 +31,8 @@ strata:
morph: strata/baserock-import.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-x86_64-generic.morph b/systems/devel-system-x86_64-generic.morph
index 143ceb82..32ddfc56 100644
--- a/systems/devel-system-x86_64-generic.morph
+++ b/systems/devel-system-x86_64-generic.morph
@@ -34,6 +34,8 @@ strata:
morph: strata/nfs.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/devel-system-x86_64-vagrant.morph b/systems/devel-system-x86_64-vagrant.morph
index a7731cad..7ffddc02 100644
--- a/systems/devel-system-x86_64-vagrant.morph
+++ b/systems/devel-system-x86_64-vagrant.morph
@@ -32,6 +32,8 @@ strata:
morph: strata/baserock-import.morph
- name: python-tools
morph: strata/python-tools.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/gitlab-ci-runner.morph b/systems/gitlab-ci-runner.morph
index 9eabc403..b4e20ec7 100644
--- a/systems/gitlab-ci-runner.morph
+++ b/systems/gitlab-ci-runner.morph
@@ -27,6 +27,8 @@ strata:
morph: strata/genivi.morph
- name: tools
morph: strata/tools.morph
+- name: lvm
+ morph: strata/lvm.morph
- name: virtualization
morph: strata/virtualization.morph
- name: openstack-clients
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/trove-system-x86_64.morph b/systems/trove-system-x86_64.morph
index e305c723..0d633f41 100644
--- a/systems/trove-system-x86_64.morph
+++ b/systems/trove-system-x86_64.morph
@@ -29,6 +29,8 @@ strata:
morph: strata/ansible.morph
- name: cloudinit-support
morph: strata/cloudinit-support.morph
+- name: devtools
+ morph: strata/devtools.morph
configuration-extensions:
- set-hostname
- trove
diff --git a/systems/weston-system-x86_64-generic.morph b/systems/weston-system-x86_64-generic.morph
index 491a34bc..b84eaeb5 100644
--- a/systems/weston-system-x86_64-generic.morph
+++ b/systems/weston-system-x86_64-generic.morph
@@ -33,6 +33,10 @@ strata:
morph: strata/mesa-common.morph
- name: weston-common
morph: strata/weston-common.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: x-generic
+ morph: strata/x-generic.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/zookeeper-client-x86_64.morph b/systems/zookeeper-client-x86_64.morph
new file mode 100644
index 00000000..a2d64a63
--- /dev/null
+++ b/systems/zookeeper-client-x86_64.morph
@@ -0,0 +1,25 @@
+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
+ morph: strata/zookeeper.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..be0a8791
--- /dev/null
+++ b/systems/zookeeper-server-x86_64.morph
@@ -0,0 +1,25 @@
+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
+ morph: strata/zookeeper.morph
+- name: zookeeper-server
+ morph: strata/zookeeper-server.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files