diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2015-01-26 17:12:15 +0000 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2015-01-26 17:12:15 +0000 |
commit | 5462c8f118db00054df03ad46219e0e82853cdcc (patch) | |
tree | 12ea0b8c4d9378dfbc9fa5802a6fdaa254ebe8b8 | |
parent | cd80d2bf3a7936cc718b27e17729b207b762c8c5 (diff) | |
parent | 40cff71921b8e20e6fdefd41560e89067ba21483 (diff) | |
download | infrastructure-5462c8f118db00054df03ad46219e0e82853cdcc.tar.gz |
Merge remote-tracking branch 'baserock/master'
115 files changed, 1545 insertions, 230 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/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/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/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-x86_32-generic.morph b/strata/bsp-x86_32-generic.morph index 480bd702..80fc5521 100644 --- a/strata/bsp-x86_32-generic.morph +++ b/strata/bsp-x86_32-generic.morph @@ -20,7 +20,7 @@ chunks: - name: syslinux morph: strata/bsp-x86_32-generic/syslinux.morph repo: upstream:syslinux - ref: 2f6d21d2a560cb5581694fef42ee9a350d5f302f - unpetrify-ref: baserock/morph + ref: 2aab8555987b547b617cbb887e61083fece01541 + unpetrify-ref: baserock/tiagogomes/update-toolchain build-depends: - nasm diff --git a/strata/bsp-x86_64-generic.morph b/strata/bsp-x86_64-generic.morph index a24a34c5..1181d70e 100644 --- a/strata/bsp-x86_64-generic.morph +++ b/strata/bsp-x86_64-generic.morph @@ -20,7 +20,7 @@ chunks: - name: syslinux morph: strata/bsp-x86_64-generic/syslinux.morph repo: upstream:syslinux - ref: 2f6d21d2a560cb5581694fef42ee9a350d5f302f - unpetrify-ref: baserock/morph + ref: 2aab8555987b547b617cbb887e61083fece01541 + unpetrify-ref: baserock/tiagogomes/update-toolchain 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..f9fa4631 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/tiagogomes/update-toolchain + unpetrify-ref: 2f6d21d2a560cb5581694fef42ee9a350d5f302f build-depends: - nasm diff --git a/strata/build-essential.morph b/strata/build-essential.morph index d7b86648..59f2b532 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 - unpetrify-ref: baserock/build-essential + ref: b1d3b01332ae49a60ff5d6bf53d3a5b1805769c8 + unpetrify-ref: baserock/tiagogomes/update-toolchain build-depends: [] build-mode: bootstrap prefix: /tools + - name: stage1-gcc morph: strata/build-essential/stage1-gcc.morph repo: upstream:gcc-tarball - ref: 999c918a7ad32ad436395666def22ab90b3447fe - unpetrify-ref: baserock/build-essential + ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06 + unpetrify-ref: baserock/tiagogomes/update-toolchain 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,40 +79,57 @@ 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/tiagogomes/update-toolchain + 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 - unpetrify-ref: baserock/build-essential + ref: b1d3b01332ae49a60ff5d6bf53d3a5b1805769c8 + unpetrify-ref: baserock/tiagogomes/update-toolchain build-depends: - stage1-binutils - stage1-gcc - 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 - unpetrify-ref: baserock/build-essential + ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06 + unpetrify-ref: baserock/tiagogomes/update-toolchain build-depends: - stage1-binutils - stage1-gcc - stage2-glibc build-mode: bootstrap prefix: /tools + - name: stage2-gcc morph: strata/build-essential/stage2-gcc.morph repo: upstream:gcc-tarball - ref: 999c918a7ad32ad436395666def22ab90b3447fe - unpetrify-ref: baserock/build-essential + ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06 + unpetrify-ref: baserock/tiagogomes/update-toolchain 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,11 +269,12 @@ chunks: - glibc artifacts: zlib-libs: build-essential-minimal + - name: binutils morph: strata/build-essential/binutils.morph repo: upstream:binutils-redhat - ref: 987eb543a034cddc4eeb103f08f566f24a5f964a - unpetrify-ref: baserock/build-essential + ref: b1d3b01332ae49a60ff5d6bf53d3a5b1805769c8 + unpetrify-ref: baserock/tiagogomes/update-toolchain build-depends: - stage2-binutils - stage2-busybox @@ -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 + morph: strata/build-essential/m4.morph + repo: upstream:m4 + ref: cfbd353f3a2dc517992bcdc747281a22feb0c4db + unpetrify-ref: baserock/build-essential + 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/tiagogomes/update-toolchain build-depends: - stage2-binutils - stage2-busybox @@ -307,8 +354,10 @@ chunks: - stage2-reset-specs - glibc - zlib + - m4 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/m4.morph b/strata/build-essential/m4.morph index b76afbe4..b76afbe4 100644 --- a/strata/core/m4.morph +++ b/strata/build-essential/m4.morph 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..87033546 100644 --- a/strata/core.morph +++ b/strata/core.morph @@ -28,12 +28,6 @@ chunks: 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 - build-depends: [] - name: mini-utils morph: strata/core/mini-utils.morph repo: baserock:baserock/mini-utils @@ -72,7 +66,6 @@ chunks: ref: cffdb90be331111ce3fbe4a32320181ec2b92652 unpetrify-ref: baserock/build-essential build-depends: - - m4 - perl - name: automake morph: strata/core/automake.morph @@ -94,8 +87,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,8 +109,8 @@ chunks: - name: cpython morph: strata/core/cpython.morph repo: upstream:cpython - ref: 0b92c75574adef1e1ccf1b635a3724a86b567cd2 - unpetrify-ref: v2.7.8 + ref: d0188e98ecf02e007d85fc34944f8be8f91b7e94 + unpetrify-ref: v2.7.9 build-depends: - openssl-new - bzip2 diff --git a/strata/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/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/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/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/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/lorry.morph b/strata/lorry.morph index 158071cc..364f8f87 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: c972012707f6555de6cf636d8eb5e2bf6e8ebf87 unpetrify-ref: master build-depends: - bzr-tarball diff --git a/strata/morph-utils.morph b/strata/morph-utils.morph index d2f9f364..4d38c735 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: d6a8067d6bfd929fa7505e019a4e6ea63e1210ea + ref: f2f3e4e5f3d5162890d03494f405cff5177aaad8 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/tools.morph b/strata/tools.morph index a09c24f5..fea33132 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 @@ -64,18 +55,6 @@ chunks: 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: u-boot morph: strata/tools/u-boot.morph repo: upstream:u-boot @@ -105,3 +84,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/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/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/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/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 |