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