summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Coldrick <adam.coldrick@codethink.co.uk>2015-04-15 12:17:16 +0000
committerMorph (on behalf of Adam Coldrick) <adam.coldrick@codethink.co.uk>2015-04-15 12:17:16 +0000
commit1c48d3928a4134a3235e63e6ba0b25f8610d16e1 (patch)
treea1225f3d8257065ae6a9b85a14365acd742a021a
parent48acca6f7c63420d49e1a9e7a41beb4309fa53e7 (diff)
downloaddefinitions-1c48d3928a4134a3235e63e6ba0b25f8610d16e1.tar.gz
Morph build c3874f415dc6448ca28d9a01edab0948
System branch: master
-rw-r--r--clusters/example-swift-storage-cluster.morph57
-rw-r--r--clusters/gerrit-openstack.morph16
-rw-r--r--clusters/hardware-deployment.morph1
-rw-r--r--clusters/installer-build-system-x86_64.morph8
-rw-r--r--clusters/moonshot-m2-armv8b64.morph54
-rw-r--r--clusters/moonshot-pxe-armv8b64.morph29
-rw-r--r--clusters/release.morph2
-rw-r--r--clusters/test.morph2
-rw-r--r--clusters/trove-example.morph2
-rw-r--r--distbuild/manifest14
-rwxr-xr-xgerrit.configure50
-rw-r--r--hosts1
-rw-r--r--scripts/licensecheck.pl28
-rw-r--r--strata/ansible.morph5
-rw-r--r--strata/ansible/openstack-ansible-modules.morph5
-rw-r--r--strata/apache-httpd-server/httpd-server.morph2
-rw-r--r--strata/armv7lhf-cross-toolchain.morph4
-rw-r--r--strata/bsp-armv7-highbank.morph6
-rw-r--r--strata/bsp-armv7-highbank/linux-armv7-highbank.morph2
-rw-r--r--strata/bsp-armv7-versatile.morph6
-rw-r--r--strata/bsp-armv7-versatile/linux-armv7-versatile.morph1
-rw-r--r--strata/bsp-armv7b-highbank.morph6
-rw-r--r--strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph1
-rw-r--r--strata/bsp-armv7b-vexpress-tc2.morph6
-rw-r--r--strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph2
-rw-r--r--strata/bsp-armv8b64-generic.morph16
-rw-r--r--strata/bsp-armv8b64-generic/linux-armv8b64-generic.morph104
-rw-r--r--strata/bsp-armv8l64-generic/linux-armv8l64-generic.morph170
-rw-r--r--strata/bsp-jetson/bsp-support.morph2
-rw-r--r--strata/bsp-jetson/linux-jetson-tk1.morph167
-rw-r--r--strata/bsp-ppc64-generic.morph6
-rw-r--r--strata/bsp-ppc64-generic/linux-ppc64.morph167
-rw-r--r--strata/bsp-wandboard.morph6
-rw-r--r--strata/bsp-wandboard/linux-armv7-wandboard.morph2
-rw-r--r--strata/bsp-x86_32-generic.morph4
-rw-r--r--strata/bsp-x86_32-generic/linux-x86-32-generic.morph180
-rw-r--r--strata/bsp-x86_64-generic.morph4
-rw-r--r--strata/bsp-x86_64-generic/linux-x86-64-generic.morph182
-rw-r--r--strata/build-essential.morph41
-rw-r--r--strata/build-essential/glibc.morph4
-rw-r--r--strata/build-essential/stage2-glibc.morph38
-rw-r--r--strata/ceph-service/ceph.morph8
-rw-r--r--strata/cloudinit-support.morph5
-rw-r--r--strata/core.morph28
-rw-r--r--strata/core/bison.morph2
-rw-r--r--strata/core/nano.morph4
-rw-r--r--strata/coreutils-common.morph7
-rw-r--r--strata/coreutils-common/tar.morph11
-rw-r--r--strata/databases/memcached.morph2
-rw-r--r--strata/devtools.morph12
-rw-r--r--strata/devtools/nano.morph16
-rw-r--r--strata/foundation.morph22
-rw-r--r--strata/foundation/acl.morph2
-rw-r--r--strata/foundation/kmod.morph26
-rw-r--r--strata/foundation/rsync.morph2
-rw-r--r--strata/foundation/systemd.morph8
-rw-r--r--strata/gtk-deps.morph10
-rw-r--r--strata/gtk2.morph3
-rw-r--r--strata/gtk3.morph4
-rw-r--r--strata/initramfs-utils.morph2
-rw-r--r--strata/installer-utils.morph2
-rw-r--r--strata/mesa-common.morph4
-rw-r--r--strata/morph-utils.morph8
-rw-r--r--strata/ntpd.morph4
-rw-r--r--strata/ostree-core.morph22
-rw-r--r--strata/patch-manager-gerrit.morph10
-rw-r--r--strata/patch-manager-gerrit/gerrit-installation-binaries.morph27
-rw-r--r--strata/python-cliapp.morph2
-rw-r--r--strata/python-common.morph4
-rw-r--r--strata/python-core.morph6
-rw-r--r--strata/python-tools.morph14
-rw-r--r--strata/qt5-tools-qtmultimedia.morph4
-rw-r--r--strata/qt5-tools-qtwebkit.morph16
-rw-r--r--strata/qt5-tools.morph64
-rw-r--r--strata/qt5-tools/icu.morph1
-rw-r--r--strata/swift.morph44
-rw-r--r--strata/swift/xattr.morph8
-rw-r--r--strata/tools.morph23
-rw-r--r--strata/tools/libpcap.morph3
-rw-r--r--strata/tools/lsof.morph2
-rw-r--r--strata/tools/parted.morph9
-rw-r--r--strata/tools/procps-ng.morph16
-rw-r--r--strata/tools/tcpdump.morph3
-rw-r--r--strata/virtualization.morph11
-rw-r--r--strata/virtualization/openvswitch.morph11
-rw-r--r--strata/webtools.morph5
-rw-r--r--strata/webtools/tar.morph10
-rw-r--r--strata/x-generic.morph4
-rw-r--r--swift-build-rings.yml34
-rwxr-xr-xswift-storage-devices-validate.py60
-rw-r--r--swift-storage.configure105
-rw-r--r--swift/manifest13
-rw-r--r--swift/usr/lib/systemd/system/swift-storage-setup.service11
-rw-r--r--swift/usr/lib/systemd/system/swift-storage.service12
-rw-r--r--swift/usr/share/swift/etc/rsyncd.j223
-rw-r--r--swift/usr/share/swift/etc/swift/account-server.j2192
-rw-r--r--swift/usr/share/swift/etc/swift/container-server.j2203
-rw-r--r--swift/usr/share/swift/etc/swift/object-server.j2283
-rw-r--r--swift/usr/share/swift/etc/swift/swift.j2118
-rw-r--r--swift/usr/share/swift/hosts1
-rw-r--r--swift/usr/share/swift/swift-storage.yml24
-rw-r--r--systems/base-system-x86_32-generic.morph3
-rw-r--r--systems/base-system-x86_64-generic.morph3
-rw-r--r--systems/build-system-armv7lhf-highbank.morph2
-rw-r--r--systems/build-system-armv7lhf-jetson.morph2
-rw-r--r--systems/build-system-armv8b64.morph50
-rw-r--r--systems/build-system-armv8l64.morph2
-rw-r--r--systems/build-system-ppc64.morph2
-rw-r--r--systems/build-system-x86_32-chroot.morph2
-rw-r--r--systems/build-system-x86_32.morph2
-rw-r--r--systems/build-system-x86_64-chroot.morph2
-rw-r--r--systems/build-system-x86_64.morph2
-rw-r--r--systems/cross-bootstrap-system-armv8b64-generic.morph15
-rw-r--r--systems/devel-system-armv7-chroot.morph5
-rw-r--r--systems/devel-system-armv7-highbank.morph5
-rw-r--r--systems/devel-system-armv7-versatile.morph5
-rw-r--r--systems/devel-system-armv7-wandboard.morph5
-rw-r--r--systems/devel-system-armv7b-chroot.morph5
-rw-r--r--systems/devel-system-armv7b-highbank.morph5
-rw-r--r--systems/devel-system-armv7lhf-chroot.morph5
-rw-r--r--systems/devel-system-armv7lhf-highbank.morph5
-rw-r--r--systems/devel-system-armv7lhf-jetson.morph5
-rw-r--r--systems/devel-system-armv7lhf-wandboard.morph5
-rw-r--r--systems/devel-system-armv8b64.morph60
-rw-r--r--systems/devel-system-armv8l64.morph5
-rw-r--r--systems/devel-system-ppc64-chroot.morph5
-rw-r--r--systems/devel-system-ppc64-generic.morph5
-rw-r--r--systems/devel-system-x86_32-chroot.morph5
-rw-r--r--systems/devel-system-x86_32-generic.morph5
-rw-r--r--systems/devel-system-x86_64-chroot.morph5
-rw-r--r--systems/devel-system-x86_64-generic.morph5
-rw-r--r--systems/devel-system-x86_64-vagrant.morph5
-rw-r--r--systems/gerrit-x86_64.morph32
-rw-r--r--systems/installer-system-armv8b64.morph30
134 files changed, 2936 insertions, 356 deletions
diff --git a/clusters/example-swift-storage-cluster.morph b/clusters/example-swift-storage-cluster.morph
new file mode 100644
index 00000000..4c16fa4c
--- /dev/null
+++ b/clusters/example-swift-storage-cluster.morph
@@ -0,0 +1,57 @@
+name: example-swift-storage-cluster
+kind: cluster
+systems:
+- morph: systems/devel-system-x86_64-generic.morph
+ deploy-defaults:
+ FSTAB_SDB: /dev/sdb /srv/node/sdb xfs defaults,user,rw 0 0
+ FSTAB_SDC: /dev/sdc /srv/node/sdc xfs defaults,user,rw 0 0
+ FSTAB_SDD: /dev/sdd /srv/node/sdd xfs defaults,user,rw 0 0
+ INSTALL_FILES: swift/manifest
+ SWIFT_HASH_PATH_PREFIX: 041fc210e4e1d333ce1d
+ SWIFT_HASH_PATH_SUFFIX: 4d6f5362a356dda7fb7d
+ SWIFT_MIN_PART_HOURS: 1
+ SWIFT_PART_POWER: 10
+ SWIFT_REBALANCE_SEED: 3828
+ SWIFT_REPLICAS: 3
+ SWIFT_STORAGE_DEVICES:
+ - device: sdb
+ ip: <node0 management ip>
+ weight: 100
+ - device: sdc
+ ip: <node0 management ip>
+ weight: 100
+ - device: sdd
+ ip: <node0 management ip>
+ weight: 100
+ - device: sdb
+ ip: <node1 management ip>
+ weight: 100
+ - device: sdc
+ ip: <node1 management ip>
+ weight: 100
+ - device: sdd
+ ip: <node1 management ip>
+ weight: 100
+ deploy:
+ node0:
+ type: kvm
+ location: kvm+ssh://user@host/swift-storage-0/home/user/swift-storage-0.img
+ ATTACH_DISKS: /dev/node0_sdb:/dev/node0_sdc:/dev/node0_sdd
+ DISK_SIZE: 10G
+ HOSTNAME: swift-storage-0
+ MANAGEMENT_INTERFACE_IP_ADDRESS: <node0 management ip>
+ NETWORK_CONFIG: ens3:static,address=<node0 management ip>,netmask=255.255.255.0
+ NIC_CONFIG: network=default
+ RAM_SIZE: 1G
+ VCPUS: 1
+ node1:
+ type: kvm
+ location: kvm+ssh://user@host/swift-storage-1/home/user/swift-storage-1.img
+ ATTACH_DISKS: /dev/node1_sdb:/dev/node1_sdc:/dev/node1_sdd
+ DISK_SIZE: 10G
+ HOSTNAME: swift-storage-1
+ MANAGEMENT_INTERFACE_IP_ADDRESS: <node1 management ip>
+ NETWORK_CONFIG: ens3:static,address=<node1 management ip>,netmask=255.255.255.0
+ NIC_CONFIG: network=default
+ RAM_SIZE: 1G
+ VCPUS: 1
diff --git a/clusters/gerrit-openstack.morph b/clusters/gerrit-openstack.morph
deleted file mode 100644
index 8a14fd2a..00000000
--- a/clusters/gerrit-openstack.morph
+++ /dev/null
@@ -1,16 +0,0 @@
-name: open-stack-gerrit
-kind: cluster
-description: |
- Deploy gerrit morphology into openstack
-systems:
-- morph: systems/gerrit-x86_64.morph
- deploy:
- openstack-image:
- type: openstack
- location: http://openstack-host:5000/v2.0/
- CLOUD_INIT: true
- DISK_SIZE: 4G
- KERNEL_ARGS: console=ttyS0 console=tty0
- OPENSTACK_IMAGENAME: Gerrit
- OPENSTACK_TENANT: openstack-tenant
- OPENSTACK_USER: openstack-user
diff --git a/clusters/hardware-deployment.morph b/clusters/hardware-deployment.morph
index ad0ee3c4..9804c166 100644
--- a/clusters/hardware-deployment.morph
+++ b/clusters/hardware-deployment.morph
@@ -10,7 +10,6 @@ systems:
installer:
type: pxeboot
location: AB:CD:EF:12:34:56:78
- DISK_SIZE: 6G
HOSTNAME: installer-system
INSTALLER_ROOTFS_TO_INSTALL: /rootfs
INSTALLER_TARGET_STORAGE_DEVICE: /dev/sda
diff --git a/clusters/installer-build-system-x86_64.morph b/clusters/installer-build-system-x86_64.morph
index 36157ac8..15173db6 100644
--- a/clusters/installer-build-system-x86_64.morph
+++ b/clusters/installer-build-system-x86_64.morph
@@ -27,10 +27,16 @@ systems:
location: installer-build-system-x86_64.img
DISK_SIZE: 6G
HOSTNAME: installer-x86_64
+ INITRAMFS_PATH: boot/initramfs.gz
INSTALLER_ROOTFS_TO_INSTALL: /rootfs
INSTALLER_TARGET_STORAGE_DEVICE: /dev/sda
KERNEL_ARGS: init=/usr/lib/baserock-installer/installer
subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ installer-initramfs:
+ type: initramfs
+ location: boot/initramfs.gz
- morph: systems/build-system-x86_64.morph
deploy:
to-install:
@@ -40,6 +46,6 @@ systems:
subsystems:
- morph: systems/initramfs-x86_64.morph
deploy:
- initramfs:
+ to-install-initramfs:
type: initramfs
location: boot/initramfs.gz
diff --git a/clusters/moonshot-m2-armv8b64.morph b/clusters/moonshot-m2-armv8b64.morph
new file mode 100644
index 00000000..d78ba796
--- /dev/null
+++ b/clusters/moonshot-m2-armv8b64.morph
@@ -0,0 +1,54 @@
+name: moonshot-m2-deployment
+kind: cluster
+description: |
+ Install a build armv8b64 system into the M.2 SSD storage of an HP
+ Moonshot node, using a combination of the pxeboot.write extension and
+ the installer system.
+systems:
+- morph: systems/installer-system-armv8b64.morph
+ deploy:
+ installer:
+ type: pxeboot
+ location: 14:58:d0:57:7f:42
+ DTB_PATH: boot/m400-1003.dtb
+ HOSTNAME: installer-system-c31n1
+ INSTALLER_CREATE_BOOT_PARTITION: true
+ INSTALLER_POST_INSTALL_COMMAND: |
+ while : ; do
+ echo "enter 'installed' in your deployment machine to finish the installation"
+ sleep 2
+ done
+ INSTALLER_ROOTFS_TO_INSTALL: /rootfs
+ INSTALLER_TARGET_STORAGE_DEVICE: /dev/sda
+ INSTALL_FILES: moonshot/manifest
+ KERNEL_ARGS: console=ttyS0,9600n8r init=/usr/lib/baserock-installer/installer
+ MOONSHOT_KERNEL: true
+ PXEBOOT_CONFIG_TFTP_ADDRESS: sftp://192.168.0.1/srv/nfsboot/tftp/
+ PXEBOOT_MODE: existing-server
+ PXEBOOT_PXE_REBOOT_COMMAND: |
+ ssh Administrator@10.0.1.10 set node power off force c31n1
+ ssh Administrator@10.0.1.10 set node boot pxe c31n1
+ # Nodes are powered on twice as sometimes powering them on
+ # once is not enough
+ ssh Administrator@10.0.1.10 set node power on c31n1
+ ssh Administrator@10.0.1.10 set node power on c31n1
+ PXEBOOT_REBOOT_COMMAND: |
+ ssh Administrator@10.0.1.10 set node power off force c31n1
+ ssh Administrator@10.0.1.10 set node boot m.2 c31n1
+ ssh Administrator@10.0.1.10 set node power on c31n1
+ ssh Administrator@10.0.1.10 set node power on c31n1
+ PXEBOOT_ROOTFS_RSYNC_ADDRESS: rsync://192.168.0.1/srv/nfsboot/
+ subsystems:
+ - morph: systems/devel-system-armv8b64.morph
+ deploy:
+ to-install:
+ type: sysroot
+ location: /rootfs
+ BOOTLOADER_CONFIG_FORMAT: extlinux
+ BOOTLOADER_INSTALL: none
+ BOOT_DEVICE: /dev/sda1
+ DTB_PATH: boot/m400-1003.dtb
+ HOSTNAME: baserock-c31n1
+ INSTALL_FILES: moonshot/manifest
+ MOONSHOT_KERNEL: true
+ ROOT_DEVICE: /dev/sda2
diff --git a/clusters/moonshot-pxe-armv8b64.morph b/clusters/moonshot-pxe-armv8b64.morph
new file mode 100644
index 00000000..b7826e27
--- /dev/null
+++ b/clusters/moonshot-pxe-armv8b64.morph
@@ -0,0 +1,29 @@
+name: moonshot-m400-armv8b64-netboot
+kind: cluster
+description: |
+ Deploy a big-endian armv8b64 devel system onto an HP Moonshot node
+
+ The system will be configured to boot through PXE from existing DHCP,
+ TFTP and NFS servers.
+systems:
+- morph: systems/devel-system-armv8b64.morph
+ deploy:
+ netboot:
+ type: pxeboot
+ location: 14:58:d0:57:7f:42
+ DTB_PATH: boot/m400-1003.dtb
+ HOSTNAME: baserock-c31n1
+ INSTALL_FILES: moonshot/manifest
+ KERNEL_ARGS: console=ttyS0,9600n8r rw
+ MOONSHOT_KERNEL: true
+ PXEBOOT_CONFIG_TFTP_ADDRESS: sftp://192.168.0.1/srv/nfsboot/tftp/
+ PXEBOOT_MODE: existing-server
+ PXEBOOT_PXE_REBOOT_COMMAND: |
+ ssh Administrator@10.0.1.10 set node power off force c31n1
+ ssh Administrator@10.0.1.10 set node boot pxe c31n1
+ # Nodes are powered on twice as sometimes powering them on
+ # once is not enough
+ ssh Administrator@10.0.1.10 set node power on c31n1
+ ssh Administrator@10.0.1.10 set node power on c31n1
+ PXEBOOT_ROOTFS_RSYNC_ADDRESS: rsync://192.168.0.1/srv/nfsboot/
+ PXE_INSTALLER: false
diff --git a/clusters/release.morph b/clusters/release.morph
index 81e84525..cbfa7431 100644
--- a/clusters/release.morph
+++ b/clusters/release.morph
@@ -31,7 +31,7 @@ systems:
DISK_SIZE: 6G
- morph: systems/build-system-armv7lhf-jetson.morph
deploy:
- devel-system-armv7lhf-jetson:
+ build-system-armv7lhf-jetson:
type: rawdisk
location: build-system-armv7lhf-jetson.img
BOOTLOADER_CONFIG_FORMAT: extlinux
diff --git a/clusters/test.morph b/clusters/test.morph
index d596132a..8c74e669 100644
--- a/clusters/test.morph
+++ b/clusters/test.morph
@@ -3,7 +3,7 @@ kind: cluster
description: |
Deployments for OSTree testing
systems:
-- morph: systems/devel-system-x86_64-generic.morph
+- morph: systems/build-system-x86_64.morph
deploy:
rawdisk:
type: rawdisk
diff --git a/clusters/trove-example.morph b/clusters/trove-example.morph
index d31aa172..bc3ca34a 100644
--- a/clusters/trove-example.morph
+++ b/clusters/trove-example.morph
@@ -15,7 +15,7 @@ description: |
To do the initial deployment:
- morph deploy --upgrade clusters/trove-example.morph \
+ morph deploy clusters/trove-example.morph \
initial \
initial.location=kvm+ssh://liw@192.168.122.1/test-trove/tmp/test-trove.img
diff --git a/distbuild/manifest b/distbuild/manifest
index 35047028..9363fa85 100644
--- a/distbuild/manifest
+++ b/distbuild/manifest
@@ -10,14 +10,14 @@
0100644 0 0 /usr/lib/distbuild-setup/ansible/distbuild-setup.yml
0040755 0 0 /usr/lib/systemd
0040755 0 0 /usr/lib/systemd/system
-0100755 0 0 /usr/lib/systemd/system/morph-cache-server.service
-0100755 0 0 /usr/lib/systemd/system/morph-controller.service
-0100755 0 0 /usr/lib/systemd/system/morph-controller-helper.service
-0100755 0 0 /usr/lib/systemd/system/morph-worker.service
-0100755 0 0 /usr/lib/systemd/system/morph-worker-helper.service
-0100755 0 0 /usr/lib/systemd/system/distbuild-setup.service
+0100644 0 0 /usr/lib/systemd/system/morph-cache-server.service
+0100644 0 0 /usr/lib/systemd/system/morph-controller.service
+0100644 0 0 /usr/lib/systemd/system/morph-controller-helper.service
+0100644 0 0 /usr/lib/systemd/system/morph-worker.service
+0100644 0 0 /usr/lib/systemd/system/morph-worker-helper.service
+0100644 0 0 /usr/lib/systemd/system/distbuild-setup.service
0040755 0 0 /usr/lib/systemd/system/multi-user.target.wants
-0120755 0 0 /usr/lib/systemd/system/multi-user.target.wants/distbuild-setup.service
+0120644 0 0 /usr/lib/systemd/system/multi-user.target.wants/distbuild-setup.service
0040755 0 0 /usr/share
0040755 0 0 /usr/share/distbuild-setup
0100644 0 0 /usr/share/distbuild-setup/morph.conf
diff --git a/gerrit.configure b/gerrit.configure
deleted file mode 100755
index b691ea95..00000000
--- a/gerrit.configure
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-#
-# 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 enable bash
-# as default shell in gerrit systems.
-set -e
-
-ROOT="$1"
-
-###############################################################################
-
-# Set bash as default shell
-ln -sfn bash "$ROOT/bin/sh"
-
-###############################################################################
-echo "Creating gerrit-daemon unit file"
-
-cat << EOF > "$ROOT"/etc/systemd/system/gerrit-daemon.service
-[Unit]
-Description=Gerrit Code Review Server Service
-
-ConditionPathExists=/home/gerrit2/gerrit/.gerrit_controller
-
-[Service]
-User=gerrit2
-Group=gerrit2
-Environment="PATH=/usr/bin:/bin"
-Type=forking
-ExecStart=/home/gerrit2/gerrit/.gerrit_controller/bin/gerrit.sh start
-
-[Install]
-WantedBy=multi-user.target
-EOF
-ln -sfn "../gerrit-daemon.service" \
- "$ROOT/etc/systemd/system/multi-user.target.wants/gerrit-daemon.service"
diff --git a/hosts b/hosts
new file mode 100644
index 00000000..5b97818d
--- /dev/null
+++ b/hosts
@@ -0,0 +1 @@
+localhost ansible_connection=local
diff --git a/scripts/licensecheck.pl b/scripts/licensecheck.pl
index 180e8989..5b6d0d33 100644
--- a/scripts/licensecheck.pl
+++ b/scripts/licensecheck.pl
@@ -17,7 +17,7 @@
# 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, see <http://www.gnu.org/licenses/>.
+# with this program. If not, see <https://www.gnu.org/licenses/>.
=head1 NAME
@@ -152,7 +152,7 @@ my $default_ignore_regex = '
# File-names that should be ignored (never directories)
(?:^|/)(?:DEADJOE|\.cvsignore|\.arch-inventory|\.bzrignore|\.gitignore)$|
# File or directory names that should be ignored
-(?:^|/)(?:CVS|RCS|\.deps|\{arch\}|\.arch-ids|\.svn|\.hg|_darcs|\.git|
+(?:^|/)(?:CVS|RCS|\.pc|\.deps|\{arch\}|\.arch-ids|\.svn|\.hg|_darcs|\.git|
\.shelf|_MTN|\.bzr(?:\.backup|tags)?)(?:$|/.*$)
';
@@ -160,7 +160,7 @@ my $default_ignore_regex = '
$default_ignore_regex =~ s/^#.*$//mg;
$default_ignore_regex =~ s/\n//sg;
-my $default_check_regex = '\.(c(c|pp|xx)?|h(h|pp|xx)?|f(77|90)?|go|p(l|m)|xs|sh|php|py(|x)|rb|java|vala|el|sc(i|e)|cs|pas|inc|dtd|xsl|mod|m|tex|mli?)$';
+my $default_check_regex = '\.(c(c|pp|xx)?|h(h|pp|xx)?|f(77|90)?|go|p(l|m)|xs|sh|php|py(|x)|rb|java|js|vala|el|sc(i|e)|cs|pas|inc|dtd|xsl|mod|m|tex|mli?|(c|l)?hs)$';
my $modified_conf_msg;
@@ -295,7 +295,7 @@ while (@files) {
}
close($F);
- $copyright = join(" / ", values %copyrights);
+ $copyright = join(" / ", reverse sort values %copyrights);
print qq(----- $file header -----\n$content----- end header -----\n\n)
if $OPT{'verbose'};
@@ -329,9 +329,16 @@ sub parse_copyright {
)';
my $copyright_disindicator_regex = '
\b(?:info(?:rmation)? # Discussing copyright information
- |notice # Discussing the notice
- |and|or # Part of a sentence
+ |(notice|statement|claim|string)s? # Discussing the notice
+ |and|or|is|in|to # Part of a sentence
+ |(holder|owner)s? # Part of a sentence
+ |ownership # Part of a sentence
)\b';
+ my $copyright_predisindicator_regex = '(
+ ^[#]define\s+.*\(c\) # #define foo(c) -- not copyright
+ )';
+
+ if ( ! m%$copyright_predisindicator_regex%ix) {
if (m%$copyright_indicator_regex(?::\s*|\s+)(\S.*)$%ix) {
$match = $1;
@@ -347,6 +354,7 @@ sub parse_copyright {
$copyright = $match;
}
}
+ }
return $copyright;
}
@@ -359,8 +367,7 @@ sub clean_comments {
# if no such pattern found.
my @matches = m/^\s*([^a-zA-Z0-9\s]{1,3})\s\w/mg;
if (@matches >= 4) {
- my $comment_length = length($matches[0]);
- my $comment_re = qr/\s*[\Q$matches[0]\E]{${comment_length}}\s*/;
+ my $comment_re = qr/\s*[\Q$matches[0]\E]{1,3}\s*/;
s/^$comment_re//mg;
}
@@ -433,6 +440,8 @@ sub parselicense {
$gplver = " (v$1)";
} elsif ($licensetext =~ /either version ([^ ]+)(?: of the License)?, or \(at your option\) any later version/) {
$gplver = " (v$1 or later)";
+ } elsif ($licensetext =~ /either version ([^ ]+)(?: of the License)?, or \(at your option\) version (\d(?:[\.-]\d+)*)/) {
+ $gplver = " (v$1 or v$2)";
}
if ($licensetext =~ /(?:675 Mass Ave|59 Temple Place|51 Franklin Steet|02139|02111-1307)/i) {
@@ -489,7 +498,7 @@ sub parselicense {
if ($licensetext =~ /THIS SOFTWARE IS PROVIDED .*AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY/) {
if ($licensetext =~ /All advertising materials mentioning features or use of this software must display the following acknowledge?ment.*This product includes software developed by/i) {
$license = "BSD (4 clause) $license";
- } elsif ($licensetext =~ /(The name .*? may not|Neither the names? .*? nor the names of (its|their|other) contributors may) be used to endorse or promote products derived from this software/i) {
+ } elsif ($licensetext =~ /(The name(?:\(s\))? .*? may not|Neither the (names? .*?|authors?) nor the names of( (its|their|other|any))? contributors may) be used to endorse or promote products derived from this software/i) {
$license = "BSD (3 clause) $license";
} elsif ($licensetext =~ /Redistributions of source code must retain the above copyright notice/i) {
$license = "BSD (2 clause) $license";
@@ -593,4 +602,3 @@ sub fatal {
$msg =~ s/\n\n$/\n/;
die $msg;
}
-
diff --git a/strata/ansible.morph b/strata/ansible.morph
index 4af0e805..43ebc2bd 100644
--- a/strata/ansible.morph
+++ b/strata/ansible.morph
@@ -10,3 +10,8 @@ chunks:
repo: upstream:ansible
ref: 0a7124541247cc613352054f4bc0c3e116e0b657
unpetrify-ref: baserock/v1.8.4
+- name: openstack-ansible-modules
+ morph: strata/ansible/openstack-ansible-modules.morph
+ repo: upstream:openstack/openstack-ansible-modules
+ ref: 451dcdeadfd35615a867d5e59a684e4aa82959ae
+ unpetrify-ref: master
diff --git a/strata/ansible/openstack-ansible-modules.morph b/strata/ansible/openstack-ansible-modules.morph
new file mode 100644
index 00000000..d8e885e6
--- /dev/null
+++ b/strata/ansible/openstack-ansible-modules.morph
@@ -0,0 +1,5 @@
+name: openstack-ansible-modules
+kind: chunk
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/share/ansible/ansible-openstack-modules
+- cp -r * "$DESTDIR$PREFIX"/share/ansible/ansible-openstack-modules
diff --git a/strata/apache-httpd-server/httpd-server.morph b/strata/apache-httpd-server/httpd-server.morph
index 131d0475..afb3af5f 100644
--- a/strata/apache-httpd-server/httpd-server.morph
+++ b/strata/apache-httpd-server/httpd-server.morph
@@ -13,7 +13,7 @@ configure-commands:
--with-suexec-caller=apache \
--with-suexec-docroot=/var/www \
--with-suexec-logfile=/var/log/httpd/suexec.log \
- --with-suexec-bin="$PREFIX"/lib/httpd/suexec \
+ --with-suexec-bin="$PREFIX"/sbin/suexec \
--with-suexec-uidmin=500 --with-suexec-gidmin=100\
--with-suexec-userdir=public_html \
--enable-pie \
diff --git a/strata/armv7lhf-cross-toolchain.morph b/strata/armv7lhf-cross-toolchain.morph
index b180feb9..2409ce0e 100644
--- a/strata/armv7lhf-cross-toolchain.morph
+++ b/strata/armv7lhf-cross-toolchain.morph
@@ -24,8 +24,8 @@ chunks:
- name: armv7lhf-cross-glibc
morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-glibc.morph
repo: upstream:glibc
- ref: 52cf9a0153c14df4f6ae3bd0e1e6cc5d171e586c
- unpetrify-ref: baserock/glibc-2.20
+ ref: 4e42b5b8f89f0e288e68be7ad70f9525aebc2cff
+ unpetrify-ref: baserock/glibc-2.21
build-depends:
- armv7lhf-cross-binutils
- armv7lhf-cross-gcc-nolibc
diff --git a/strata/bsp-armv7-highbank.morph b/strata/bsp-armv7-highbank.morph
index 2cf541a7..bc0c3a8c 100644
--- a/strata/bsp-armv7-highbank.morph
+++ b/strata/bsp-armv7-highbank.morph
@@ -6,6 +6,6 @@ build-depends:
chunks:
- name: linux-armv7-highbank
morph: strata/bsp-armv7-highbank/linux-armv7-highbank.morph
- repo: upstream:linux
- ref: bfa76d49576599a4b9f9b7a71f23d73d6dcff735
- unpetrify-ref: v3.19
+ repo: upstream:linux-stable
+ ref: 660613d1a4e94144490850b6c3d350331860fac4
+ unpetrify-ref: v3.19.2
diff --git a/strata/bsp-armv7-highbank/linux-armv7-highbank.morph b/strata/bsp-armv7-highbank/linux-armv7-highbank.morph
index dfebf69c..cf0907de 100644
--- a/strata/bsp-armv7-highbank/linux-armv7-highbank.morph
+++ b/strata/bsp-armv7-highbank/linux-armv7-highbank.morph
@@ -32,6 +32,7 @@ configure-commands:
- scripts/config -e DEVTMPFS_MOUNT
- scripts/config -e CONFIG_FHANDLE
- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e DM_SNAPSHOT
- scripts/config -e IKCONFIG
- scripts/config -e IKCONFIG_PROC
- scripts/config -e TMPFS
@@ -39,6 +40,7 @@ configure-commands:
- scripts/config -e VFAT_FS
- scripts/config -e VLAN_8021Q
- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e VETH
- yes '' | make oldconfig
build-commands:
- make zImage $MAKEFLAGS
diff --git a/strata/bsp-armv7-versatile.morph b/strata/bsp-armv7-versatile.morph
index f8d19b9b..470f6c56 100644
--- a/strata/bsp-armv7-versatile.morph
+++ b/strata/bsp-armv7-versatile.morph
@@ -7,6 +7,6 @@ build-depends:
chunks:
- name: linux-armv7-versatile
morph: strata/bsp-armv7-versatile/linux-armv7-versatile.morph
- repo: upstream:linux
- ref: bfa76d49576599a4b9f9b7a71f23d73d6dcff735
- unpetrify-ref: v3.19
+ repo: upstream:linux-stable
+ ref: 660613d1a4e94144490850b6c3d350331860fac4
+ unpetrify-ref: v3.19.2
diff --git a/strata/bsp-armv7-versatile/linux-armv7-versatile.morph b/strata/bsp-armv7-versatile/linux-armv7-versatile.morph
index 1da640e7..9125ee51 100644
--- a/strata/bsp-armv7-versatile/linux-armv7-versatile.morph
+++ b/strata/bsp-armv7-versatile/linux-armv7-versatile.morph
@@ -12,6 +12,7 @@ configure-commands:
- scripts/config -e AUTOFS4_FS
- scripts/config -e BLK_DEV_LOOP
- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e DM_SNAPSHOT
- scripts/config -e IKCONFIG
- scripts/config -e IKCONFIG_PROC
- scripts/config -e SECCOMP
diff --git a/strata/bsp-armv7b-highbank.morph b/strata/bsp-armv7b-highbank.morph
index 7b0f0fa0..3f75525d 100644
--- a/strata/bsp-armv7b-highbank.morph
+++ b/strata/bsp-armv7b-highbank.morph
@@ -6,6 +6,6 @@ build-depends:
chunks:
- name: linux-armv7b-highbank
morph: strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph
- repo: upstream:linux
- ref: bfa76d49576599a4b9f9b7a71f23d73d6dcff735
- unpetrify-ref: v3.19
+ repo: upstream:linux-stable
+ ref: 660613d1a4e94144490850b6c3d350331860fac4
+ unpetrify-ref: v3.19.2
diff --git a/strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph b/strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph
index ea1a2d5f..a4de8d6a 100644
--- a/strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph
+++ b/strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph
@@ -14,6 +14,7 @@ configure-commands:
- scripts/config -e IP_PNP_DHCP
- scripts/config -e IP_PNP_BOOTP
- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e DM_SNAPSHOT
- scripts/config -e DEVTMPFS
- scripts/config -e DEVTMPFS_MOUNT
- scripts/config -e CONFIG_FHANDLE
diff --git a/strata/bsp-armv7b-vexpress-tc2.morph b/strata/bsp-armv7b-vexpress-tc2.morph
index 616d564f..ea67c386 100644
--- a/strata/bsp-armv7b-vexpress-tc2.morph
+++ b/strata/bsp-armv7b-vexpress-tc2.morph
@@ -6,6 +6,6 @@ build-depends:
chunks:
- name: linux-armv7b-vexpress-tc2
morph: strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph
- repo: upstream:linux
- ref: bfa76d49576599a4b9f9b7a71f23d73d6dcff735
- unpetrify-ref: v3.19
+ repo: upstream:linux-stable
+ ref: 660613d1a4e94144490850b6c3d350331860fac4
+ unpetrify-ref: v3.19.2
diff --git a/strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph b/strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph
index ecf6b9bc..a6c0242d 100644
--- a/strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph
+++ b/strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph
@@ -14,6 +14,7 @@ configure-commands:
- scripts/config -e IP_PNP_DHCP
- scripts/config -e IP_PNP_BOOTP
- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e DM_SNAPSHOT
- scripts/config -e DEVTMPFS
- scripts/config -e DEVTMPFS_MOUNT
- scripts/config -e BLK_DEV_LOOP
@@ -41,6 +42,7 @@ configure-commands:
- scripts/config -e VFAT_FS
- scripts/config -e VLAN_8021Q
- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e VETH
- yes '' | make oldconfig
build-commands:
- make zImage vexpress-v2p-ca15_a7.dtb
diff --git a/strata/bsp-armv8b64-generic.morph b/strata/bsp-armv8b64-generic.morph
new file mode 100644
index 00000000..a4d6645b
--- /dev/null
+++ b/strata/bsp-armv8b64-generic.morph
@@ -0,0 +1,16 @@
+name: bsp-armv8b64-generic
+kind: stratum
+description:
+- |
+ The set of platform specific components required for booting generic ARMv8
+ systems in big-endian mode, such as the 64-bit APM XGene ARM based m400
+ Moonshot cartridge.
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: linux-armv8b64-generic
+ morph: strata/bsp-armv8b64-generic/linux-armv8b64-generic.morph
+ repo: upstream:linux
+ ref: cd1397b1f6e429b82e94565b0af93c6bd44e4271
+ unpetrify-ref: baserock/bjdooks/m400-be3
+ build-depends: []
diff --git a/strata/bsp-armv8b64-generic/linux-armv8b64-generic.morph b/strata/bsp-armv8b64-generic/linux-armv8b64-generic.morph
new file mode 100644
index 00000000..d1472551
--- /dev/null
+++ b/strata/bsp-armv8b64-generic/linux-armv8b64-generic.morph
@@ -0,0 +1,104 @@
+name: linux-armv8b64-generic
+kind: chunk
+configure-commands:
+- make ARCH=arm64 defconfig
+- scripts/config -e PACKET
+- scripts/config -e SATA_AHCI
+- scripts/config -e ATA_GENERIC
+- scripts/config -e HAVE_IDE
+- scripts/config -d BLK_DEV_IDE_SATA
+- scripts/config -e BTRFS_FS
+- scripts/config -e BTRFS_FS_POSIX_ACL
+- scripts/config -e DEVTMPFS
+- scripts/config -e DEVTMPFS_MOUNT
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config -e CGROUPS
+- scripts/config -e AUTOFS4_FS
+- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e EXT2_FS
+- scripts/config -e EXT2_FS_XATTR
+- scripts/config -e EXT2_FS_POSIX_ACL
+- scripts/config -e EXT2_FS_SECURITY
+- scripts/config -e EXT2_FS_XIP
+- scripts/config -e EXT3_FS
+- scripts/config -d EXT3_DEFAULTS_TO_ORDERED
+- scripts/config -e EXT3_FS_XATTR
+- scripts/config -e EXT3_FS_POSIX_ACL
+- scripts/config -e EXT3_FS_SECURITY
+- scripts/config -e EXT4_FS
+- scripts/config -e EXT4_FS_XATTR
+- scripts/config -e EXT4_FS_POSIX_ACL
+- scripts/config -e EXT4_FS_SECURITY
+- scripts/config -d EXT4_DEBUG
+- scripts/config -d JBD_DEBUG
+- scripts/config -d JBD2_DEBUG
+- scripts/config -e BLK_DEV_LOOP
+- scripts/config -d BLK_DEV_CRYPTOLOOP
+- scripts/config -e CEPH_FS
+- scripts/config --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- scripts/config -e VIRTIO
+- scripts/config -e VIRTIO_RING
+- scripts/config -e VIRTIO_PCI
+- scripts/config -e VIRTIO_BALLOON
+- scripts/config -e VIRTIO_BLK
+- scripts/config -e VIRTIO_NET
+- scripts/config -e VIRTIO_CONSOLE
+- scripts/config -e HW_RANDOM_VIRTIO
+- scripts/config -e 9P_FS
+- scripts/config -e 9P_FSCACHE
+- scripts/config -e 9P_FS_POSIX_ACL
+- scripts/config -e NET_9P
+- scripts/config -e NET_9P_VIRTIO
+- scripts/config -e R8169
+- scripts/config -e 8139TOO
+- scripts/config -e 8139CP
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e SECCOMP
+- scripts/config -d DEBUG_STACK_TRACE
+- scripts/config -e NFSD
+- scripts/config -e NFSD_V3
+- scripts/config -e KVM
+- scripts/config -e TUN
+- scripts/config -e BRIDGE
+- scripts/config -e VHOST_NET
+- scripts/config -e NF_NAT
+- scripts/config -e NF_NAT_IPV4
+- scripts/config -e IP_NF_TARGET_MASQUERADE
+- scripts/config -e FB_VESA
+- scripts/config -e HOTPLUG_PCI
+- scripts/config -e HOTPLUG_PCI_ACPI
+- scripts/config -e VLAN_8021Q
+- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e IPV6
+- scripts/config -e SATA_AHCI_PLATFORM
+- scripts/config -e AHCI_XGENE
+- scripts/config -e GENERIC_PHY
+- scripts/config -e PHY_XGENE
+- scripts/config -e NET_VENDOR_MELLANOX
+- scripts/config -e MLX4_EN
+- scripts/config -e MLX4_EN_DCB
+- scripts/config -e MLX4_EN_VXLAN
+- scripts/config -e MLX4_CORE
+- scripts/config -e MLX5_CORE
+- scripts/config -e NET_IP_TUNNEL
+- scripts/config -e VXLAN
+- scripts/config -e UIO
+- scripts/config -e UIO_PDRV_GENIRQ
+- scripts/config -e GPIO_DWAPB
+- scripts/config -e KEYBOARD_GPIO
+- scripts/config -e INPUT_POLLDEV
+- scripts/config -e KEYBOARD_GPIO_POLLED
+- scripts/config -d DMA_CMA
+- scripts/config -e POWER_RESET
+- scripts/config -e POWER_RESET_GPIO
+- scripts/config -e POWER_RESET_SYSCON
+- scripts/config -e POWER_AVS
+- scripts/config -e CPU_BIG_ENDIAN
+- yes '' | make ARCH=arm64 oldconfig
+build-commands:
+- make vmlinux dtbs $MAKEFLAGS
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- make install dtbs_install INSTALL_PATH="$DESTDIR/boot"
+- cp arch/arm64/boot/Image "$DESTDIR/boot/vmlinux"
diff --git a/strata/bsp-armv8l64-generic/linux-armv8l64-generic.morph b/strata/bsp-armv8l64-generic/linux-armv8l64-generic.morph
index d548d49f..0399ef66 100644
--- a/strata/bsp-armv8l64-generic/linux-armv8l64-generic.morph
+++ b/strata/bsp-armv8l64-generic/linux-armv8l64-generic.morph
@@ -30,12 +30,15 @@ configure-commands:
- scripts/config -e EXT4_FS_POSIX_ACL
- scripts/config -e EXT4_FS_SECURITY
- scripts/config -d EXT4_DEBUG
+- scripts/config -e XFS_FS
+- scripts/config -e LIBCRC32C
- scripts/config -d JBD_DEBUG
- scripts/config -d JBD2_DEBUG
- scripts/config -e BLK_DEV_LOOP
- scripts/config -d BLK_DEV_CRYPTOLOOP
- scripts/config -e CEPH_FS
- scripts/config --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- scripts/config -e DM_SNAPSHOT
- scripts/config -e VIRTIO
- scripts/config -e VIRTIO_RING
- scripts/config -e VIRTIO_PCI
@@ -63,13 +66,178 @@ configure-commands:
- scripts/config -e BRIDGE
- scripts/config -e VHOST_NET
- scripts/config -e NF_NAT
-- scripts/config -e NF_NAT_IPV4
+- scripts/config -e IP_NF_NAT
- scripts/config -e IP_NF_TARGET_MASQUERADE
- scripts/config -e FB_VESA
- scripts/config -e HOTPLUG_PCI
- scripts/config -e HOTPLUG_PCI_ACPI
- scripts/config -e VLAN_8021Q
- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e IPV6
+- scripts/config -e BLK_DEV_NBD
+- scripts/config -e BRIDGE_NF_EBTABLES
+- scripts/config -e NETFILTER
+- scripts/config -e NETFILTER_ADVANCED
+- scripts/config -e NETFILTER_XT_MATCH_ADDRTYPE
+- scripts/config -e OPENVSWITCH
+- scripts/config -e OPENVSWITCH_VXLAN
+- scripts/config -e CONFIG_OPENVSWITCH_GRE
+- scripts/config -e NET_CLS_BASIC
+- scripts/config -e NET_SCH_INGRESS
+- scripts/config -e NET_ACT_POLICE
+- scripts/config -e NET_IPGRE_DEMUX
+- scripts/config -e NET_SCH_HTB
+- scripts/config -e NET_SCH_HFSC
+- scripts/config -e VXLAN
+- scripts/config -e VETH
+- scripts/config -e IP_NF_MATCH_AH
+- scripts/config -e IP_NF_MATCH_ECN
+- scripts/config -e IP_NF_MATCH_RPFILTER
+- scripts/config -e IP_NF_MATCH_TTL
+- scripts/config -e IP_NF_TARGET_SYNPROXY
+- scripts/config -e IP_NF_TARGET_NETMAP
+- scripts/config -e IP_NF_TARGET_REDIRECT
+- scripts/config -e IP_NF_TARGET_CLUSTERIP
+- scripts/config -e IP_NF_TARGET_ECN
+- scripts/config -e IP_NF_TARGET_TTL
+- scripts/config -e IP_NF_RAW
+- scripts/config -e IP_NF_SECURITY
+- scripts/config -e IP_NF_ARPTABLES
+- scripts/config -e NETFILTER_NETLINK_QUEUE
+- scripts/config -e SCSI_NETLINK
+- scripts/config -e NETFILTER_XT_TARGET_MARK
+- scripts/config -e NETFILTER_XT_SET
+- scripts/config -e IP_SET
+- scripts/config -e IP_SET_BITMAP_IP
+- scripts/config -e IP_SET_BITMAP_IPMAC
+- scripts/config -e IP_SET_BITMAP_PORT
+- scripts/config -e IP_SET_HASH_IP
+- scripts/config -e IP_SET_HASH_IPMARK
+- scripts/config -e IP_SET_HASH_IPPORT
+- scripts/config -e IP_SET_HASH_IPPORTIP
+- scripts/config -e IP_SET_HASH_IPPORTNET
+- scripts/config -e IP_SET_HASH_MAC
+- scripts/config -e IP_SET_HASH_NETPORTNET
+- scripts/config -e IP_SET_HASH_NET
+- scripts/config -e IP_SET_HASH_NETNET
+- scripts/config -e IP_SET_HASH_NETPORT
+- scripts/config -e IP_SET_HASH_NETIFACE
+- scripts/config -e IP_SET_LIST_SET
+- scripts/config -e NF_CONNTRACK_TIMEOUT
+- scripts/config -e NF_CONNTRACK_TIMESTAMP
+- scripts/config -e NF_CONNTRACK_EVENTS
+- scripts/config -e NF_CONNTRACK_LABELS
+- scripts/config -e NETFILTER_NETLINK_ACCT
+- scripts/config -e NETFILTER_NETLINK_QUEUE_CT
+- scripts/config -e NF_CT_PROTO_DCCP
+- scripts/config -e NF_CT_PROTO_GRE
+- scripts/config -e NF_CT_PROTO_SCTP
+- scripts/config -e NF_CT_PROTO_UDPLITE
+- scripts/config -e NF_CT_NETLINK_TIMEOUT
+- scripts/config -e NF_CT_NETLINK_HELPER
+- scripts/config -e NF_CONNTRACK_AMANDA
+- scripts/config -e NF_CONNTRACK_H323
+- scripts/config -e NF_CONNTRACK_BROADCAST
+- scripts/config -e NF_CONNTRACK_NETBIOS_NS
+- scripts/config -e NF_CONNTRACK_SNMP
+- scripts/config -e NF_CONNTRACK_PPTP
+- scripts/config -e NF_CONNTRACK_SANE
+- scripts/config -e NF_CONNTRACK_TFTP
+- scripts/config -e NF_LOG_COMMON
+- scripts/config -e NF_NAT_PROTO_DCCP
+- scripts/config -e NF_NAT_PROTO_UDPLITE
+- scripts/config -e NF_NAT_PROTO_SCTP
+- scripts/config -e NF_NAT_AMANDA
+- scripts/config -e NF_NAT_TFTP
+- scripts/config -e NF_TABLES
+- scripts/config -e NF_TABLES_INET
+- scripts/config -e NFT_COMPAT
+- scripts/config -e NFT_EXTHDR
+- scripts/config -e NFT_META
+- scripts/config -e NFT_CT
+- scripts/config -e NFT_LIMIT
+- scripts/config -e NFT_NAT
+- scripts/config -e NFT_QUEUE
+- scripts/config -e NFT_REJECT
+- scripts/config -e NFT_REJECT_INET
+- scripts/config -e NFT_RBTREE
+- scripts/config -e NFT_HASH
+- scripts/config -e NFT_COUNTER
+- scripts/config -e NFT_LOG
+- scripts/config -e NFT_MASQ
+- scripts/config -e NETFILTER_XT_CONNMARK
+- scripts/config -e NETFILTER_XT_TARGET_AUDIT
+- scripts/config -e NETFILTER_XT_TARGET_CHECKSUM
+- scripts/config -e NETFILTER_XT_TARGET_CLASSIFY
+- scripts/config -e NETFILTER_XT_TARGET_CT
+- scripts/config -e NETFILTER_XT_TARGET_DSCP
+- scripts/config -e NETFILTER_XT_TARGET_HMARK
+- scripts/config -e NETFILTER_XT_TARGET_LED
+- scripts/config -e NETFILTER_XT_TARGET_LOG
+- scripts/config -e NETFILTER_XT_TARGET_NFQUEUE
+- scripts/config -e NETFILTER_XT_TARGET_RATEEST
+- scripts/config -e NETFILTER_XT_TARGET_TPROXY
+- scripts/config -e NETFILTER_XT_TARGET_TCPOPTSTRIP
+- scripts/config -e NETFILTER_XT_TARGET_TEE
+- scripts/config -e NETFILTER_XT_TARGET_TRACE
+- scripts/config -e NETFILTER_XT_TARGET_IDLETIMER
+- scripts/config -e NETFILTER_XT_MATCH_BPF
+- scripts/config -e NETFILTER_XT_MATCH_CLUSTER
+- scripts/config -e NETFILTER_XT_MATCH_COMMENT
+- scripts/config -e NETFILTER_XT_MATCH_CONNBYTES
+- scripts/config -e NETFILTER_XT_MATCH_CONNLABEL
+- scripts/config -e NETFILTER_XT_MATCH_CONNLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_CPU
+- scripts/config -e NETFILTER_XT_MATCH_DCCP
+- scripts/config -e NETFILTER_XT_MATCH_DEVGROUP
+- scripts/config -e NETFILTER_XT_MATCH_DSCP
+- scripts/config -e NETFILTER_XT_MATCH_ESP
+- scripts/config -e NETFILTER_XT_MATCH_HASHLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_HELPER
+- scripts/config -e NETFILTER_XT_MATCH_IPCOMP
+- scripts/config -e NETFILTER_XT_MATCH_IPRANGE
+- scripts/config -e NETFILTER_XT_MATCH_IPVS
+- scripts/config -e NETFILTER_XT_MATCH_L2TP
+- scripts/config -e NETFILTER_XT_MATCH_LENGTH
+- scripts/config -e NETFILTER_XT_MATCH_LIMIT
+- scripts/config -e NETFILTER_XT_MATCH_MAC
+- scripts/config -e NETFILTER_XT_MATCH_MULTIPORT
+- scripts/config -e NETFILTER_XT_MATCH_NFACCT
+- scripts/config -e NETFILTER_XT_MATCH_OSF
+- scripts/config -e NETFILTER_XT_MATCH_OWNER
+- scripts/config -e NETFILTER_XT_MATCH_CGROUP
+- scripts/config -e NETFILTER_XT_MATCH_PHYSDEV
+- scripts/config -e NETFILTER_XT_MATCH_PKTTYPE
+- scripts/config -e NETFILTER_XT_MATCH_QUOTA
+- scripts/config -e NETFILTER_XT_MATCH_RATEEST
+- scripts/config -e NETFILTER_XT_MATCH_REALM
+- scripts/config -e NETFILTER_XT_MATCH_RECENT
+- scripts/config -e NETFILTER_XT_MATCH_SCTP
+- scripts/config -e NETFILTER_XT_MATCH_SOCKET
+- scripts/config -e NETFILTER_XT_MATCH_STATISTIC
+- scripts/config -e NETFILTER_XT_MATCH_STRING
+- scripts/config -e NETFILTER_XT_MATCH_TCPMSS
+- scripts/config -e NETFILTER_XT_MATCH_TIME
+- scripts/config -e NETFILTER_XT_MATCH_U32
+- scripts/config -e IP_VS
+- scripts/config -e BRIDGE_NETFILTER
+- scripts/config -e CRYPTO_CRC32C
+- scripts/config -e CONFIGFS_FS
+- scripts/config -e EXPERT
+- scripts/config -e TARGET_CORE
+- scripts/config -e ISCSI_TARGET
+- scripts/config -e TCM_IBLOCK
+- scripts/config -e TCM_FILEIO
+- scripts/config -e TCM_PSCSI
+- scripts/config -e TCM_USER
+- scripts/config -e CONFIG_UIO
+- scripts/config -e LOOPBACK_TARGET
+- scripts/config -e TCM_FC
+- scripts/config -e LIBFC
+- scripts/config -e SCSI_FC_ATTRS
+- scripts/config -e SCSI_ISCSI_ATTRS
+- scripts/config -e ISCSI_TCP
+- scripts/config -e SCSI_LOWLEVEL
- scripts/config -e SATA_AHCI_PLATFORM
- scripts/config -e AHCI_XGENE
- scripts/config -e GENERIC_PHY
diff --git a/strata/bsp-jetson/bsp-support.morph b/strata/bsp-jetson/bsp-support.morph
index 23524ac7..5adb02e4 100644
--- a/strata/bsp-jetson/bsp-support.morph
+++ b/strata/bsp-jetson/bsp-support.morph
@@ -1,6 +1,6 @@
name: bsp-support
kind: chunk
install-commands:
-- install -o 0 -g 0 -m 755 -D nv-ondemand-cpufreq-governor.service "$DESTDIR/usr/lib/systemd/system/nv-ondemand-cpufreq-governor.service"
+- install -o 0 -g 0 -m 644 -D nv-ondemand-cpufreq-governor.service "$DESTDIR/usr/lib/systemd/system/nv-ondemand-cpufreq-governor.service"
- install -d "$DESTDIR/usr/lib/systemd/system/sysinit.target.wants"
- ln -s /usr/lib/systemd/system/nv-ondemand-cpufreq-governor.service "$DESTDIR/usr/lib/systemd/system/sysinit.target.wants/nv-ondemand-cpufreq-governor.service"
diff --git a/strata/bsp-jetson/linux-jetson-tk1.morph b/strata/bsp-jetson/linux-jetson-tk1.morph
index 42c16f01..4559f2ba 100644
--- a/strata/bsp-jetson/linux-jetson-tk1.morph
+++ b/strata/bsp-jetson/linux-jetson-tk1.morph
@@ -33,11 +33,14 @@ configure-commands:
- scripts/config -e EXT4_FS_POSIX_ACL
- scripts/config -e EXT4_FS_SECURITY
- scripts/config -d EXT4_DEBUG
+- scripts/config -e XFS_FS
+- scripts/config -e LIBCRC32C
- scripts/config -d JBD_DEBUG
- scripts/config -d JBD2_DEBUG
- scripts/config -e BLK_DEV_LOOP
- scripts/config -d BLK_DEV_CRYPTOLOOP
- scripts/config --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- scripts/config -e DM_SNAPSHOT
- scripts/config -e IKCONFIG
- scripts/config -e IKCONFIG_PROC
- scripts/config -e SECCOMP
@@ -48,6 +51,170 @@ configure-commands:
- scripts/config -m DRM_NOUVEAU
- scripts/config -e VLAN_8021Q
- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e BLK_DEV_NBD
+- scripts/config -e BRIDGE_NF_EBTABLES
+- scripts/config -e NETFILTER
+- scripts/config -e NETFILTER_ADVANCED
+- scripts/config -e NETFILTER_XT_MATCH_ADDRTYPE
+- scripts/config -e OPENVSWITCH
+- scripts/config -e OPENVSWITCH_VXLAN
+- scripts/config -e CONFIG_OPENVSWITCH_GRE
+- scripts/config -e NET_CLS_BASIC
+- scripts/config -e NET_SCH_INGRESS
+- scripts/config -e NET_ACT_POLICE
+- scripts/config -e NET_IPGRE_DEMUX
+- scripts/config -e NET_SCH_HTB
+- scripts/config -e NET_SCH_HFSC
+- scripts/config -e VXLAN
+- scripts/config -e VETH
+- scripts/config -e IP_NF_MATCH_AH
+- scripts/config -e IP_NF_MATCH_ECN
+- scripts/config -e IP_NF_MATCH_RPFILTER
+- scripts/config -e IP_NF_MATCH_TTL
+- scripts/config -e IP_NF_TARGET_SYNPROXY
+- scripts/config -e IP_NF_TARGET_NETMAP
+- scripts/config -e IP_NF_TARGET_REDIRECT
+- scripts/config -e IP_NF_TARGET_CLUSTERIP
+- scripts/config -e IP_NF_TARGET_ECN
+- scripts/config -e IP_NF_TARGET_TTL
+- scripts/config -e IP_NF_RAW
+- scripts/config -e IP_NF_SECURITY
+- scripts/config -e IP_NF_ARPTABLES
+- scripts/config -e NETFILTER_NETLINK_QUEUE
+- scripts/config -e SCSI_NETLINK
+- scripts/config -e NETFILTER_XT_TARGET_MARK
+- scripts/config -e NETFILTER_XT_SET
+- scripts/config -e IP_SET
+- scripts/config -e IP_SET_BITMAP_IP
+- scripts/config -e IP_SET_BITMAP_IPMAC
+- scripts/config -e IP_SET_BITMAP_PORT
+- scripts/config -e IP_SET_HASH_IP
+- scripts/config -e IP_SET_HASH_IPMARK
+- scripts/config -e IP_SET_HASH_IPPORT
+- scripts/config -e IP_SET_HASH_IPPORTIP
+- scripts/config -e IP_SET_HASH_IPPORTNET
+- scripts/config -e IP_SET_HASH_MAC
+- scripts/config -e IP_SET_HASH_NETPORTNET
+- scripts/config -e IP_SET_HASH_NET
+- scripts/config -e IP_SET_HASH_NETNET
+- scripts/config -e IP_SET_HASH_NETPORT
+- scripts/config -e IP_SET_HASH_NETIFACE
+- scripts/config -e IP_SET_LIST_SET
+- scripts/config -e NF_CONNTRACK_TIMEOUT
+- scripts/config -e NF_CONNTRACK_TIMESTAMP
+- scripts/config -e NF_CONNTRACK_EVENTS
+- scripts/config -e NF_CONNTRACK_LABELS
+- scripts/config -e NETFILTER_NETLINK_ACCT
+- scripts/config -e NETFILTER_NETLINK_QUEUE_CT
+- scripts/config -e NF_CT_PROTO_DCCP
+- scripts/config -e NF_CT_PROTO_GRE
+- scripts/config -e NF_CT_PROTO_SCTP
+- scripts/config -e NF_CT_PROTO_UDPLITE
+- scripts/config -e NF_CT_NETLINK_TIMEOUT
+- scripts/config -e NF_CT_NETLINK_HELPER
+- scripts/config -e NF_CONNTRACK_AMANDA
+- scripts/config -e NF_CONNTRACK_H323
+- scripts/config -e NF_CONNTRACK_BROADCAST
+- scripts/config -e NF_CONNTRACK_NETBIOS_NS
+- scripts/config -e NF_CONNTRACK_SNMP
+- scripts/config -e NF_CONNTRACK_PPTP
+- scripts/config -e NF_CONNTRACK_SANE
+- scripts/config -e NF_CONNTRACK_TFTP
+- scripts/config -e NF_LOG_COMMON
+- scripts/config -e NF_NAT_PROTO_DCCP
+- scripts/config -e NF_NAT_PROTO_UDPLITE
+- scripts/config -e NF_NAT_PROTO_SCTP
+- scripts/config -e NF_NAT_AMANDA
+- scripts/config -e NF_NAT_TFTP
+- scripts/config -e NF_TABLES
+- scripts/config -e NF_TABLES_INET
+- scripts/config -e NFT_COMPAT
+- scripts/config -e NFT_EXTHDR
+- scripts/config -e NFT_META
+- scripts/config -e NFT_CT
+- scripts/config -e NFT_LIMIT
+- scripts/config -e NFT_NAT
+- scripts/config -e NFT_QUEUE
+- scripts/config -e NFT_REJECT
+- scripts/config -e NFT_REJECT_INET
+- scripts/config -e NFT_RBTREE
+- scripts/config -e NFT_HASH
+- scripts/config -e NFT_COUNTER
+- scripts/config -e NFT_LOG
+- scripts/config -e NFT_MASQ
+- scripts/config -e NETFILTER_XT_CONNMARK
+- scripts/config -e NETFILTER_XT_TARGET_AUDIT
+- scripts/config -e NETFILTER_XT_TARGET_CHECKSUM
+- scripts/config -e NETFILTER_XT_TARGET_CLASSIFY
+- scripts/config -e NETFILTER_XT_TARGET_CT
+- scripts/config -e NETFILTER_XT_TARGET_DSCP
+- scripts/config -e NETFILTER_XT_TARGET_HMARK
+- scripts/config -e NETFILTER_XT_TARGET_LED
+- scripts/config -e NETFILTER_XT_TARGET_LOG
+- scripts/config -e NETFILTER_XT_TARGET_NFQUEUE
+- scripts/config -e NETFILTER_XT_TARGET_RATEEST
+- scripts/config -e NETFILTER_XT_TARGET_TPROXY
+- scripts/config -e NETFILTER_XT_TARGET_TCPOPTSTRIP
+- scripts/config -e NETFILTER_XT_TARGET_TEE
+- scripts/config -e NETFILTER_XT_TARGET_TRACE
+- scripts/config -e NETFILTER_XT_TARGET_IDLETIMER
+- scripts/config -e NETFILTER_XT_MATCH_BPF
+- scripts/config -e NETFILTER_XT_MATCH_CLUSTER
+- scripts/config -e NETFILTER_XT_MATCH_COMMENT
+- scripts/config -e NETFILTER_XT_MATCH_CONNBYTES
+- scripts/config -e NETFILTER_XT_MATCH_CONNLABEL
+- scripts/config -e NETFILTER_XT_MATCH_CONNLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_CPU
+- scripts/config -e NETFILTER_XT_MATCH_DCCP
+- scripts/config -e NETFILTER_XT_MATCH_DEVGROUP
+- scripts/config -e NETFILTER_XT_MATCH_DSCP
+- scripts/config -e NETFILTER_XT_MATCH_ESP
+- scripts/config -e NETFILTER_XT_MATCH_HASHLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_HELPER
+- scripts/config -e NETFILTER_XT_MATCH_IPCOMP
+- scripts/config -e NETFILTER_XT_MATCH_IPRANGE
+- scripts/config -e NETFILTER_XT_MATCH_IPVS
+- scripts/config -e NETFILTER_XT_MATCH_L2TP
+- scripts/config -e NETFILTER_XT_MATCH_LENGTH
+- scripts/config -e NETFILTER_XT_MATCH_LIMIT
+- scripts/config -e NETFILTER_XT_MATCH_MAC
+- scripts/config -e NETFILTER_XT_MATCH_MULTIPORT
+- scripts/config -e NETFILTER_XT_MATCH_NFACCT
+- scripts/config -e NETFILTER_XT_MATCH_OSF
+- scripts/config -e NETFILTER_XT_MATCH_OWNER
+- scripts/config -e NETFILTER_XT_MATCH_CGROUP
+- scripts/config -e NETFILTER_XT_MATCH_PHYSDEV
+- scripts/config -e NETFILTER_XT_MATCH_PKTTYPE
+- scripts/config -e NETFILTER_XT_MATCH_QUOTA
+- scripts/config -e NETFILTER_XT_MATCH_RATEEST
+- scripts/config -e NETFILTER_XT_MATCH_REALM
+- scripts/config -e NETFILTER_XT_MATCH_RECENT
+- scripts/config -e NETFILTER_XT_MATCH_SCTP
+- scripts/config -e NETFILTER_XT_MATCH_SOCKET
+- scripts/config -e NETFILTER_XT_MATCH_STATISTIC
+- scripts/config -e NETFILTER_XT_MATCH_STRING
+- scripts/config -e NETFILTER_XT_MATCH_TCPMSS
+- scripts/config -e NETFILTER_XT_MATCH_TIME
+- scripts/config -e NETFILTER_XT_MATCH_U32
+- scripts/config -e IP_VS
+- scripts/config -e BRIDGE_NETFILTER
+- scripts/config -e CRYPTO_CRC32C
+- scripts/config -e CONFIGFS_FS
+- scripts/config -e EXPERT
+- scripts/config -e TARGET_CORE
+- scripts/config -e ISCSI_TARGET
+- scripts/config -e TCM_IBLOCK
+- scripts/config -e TCM_FILEIO
+- scripts/config -e TCM_PSCSI
+- scripts/config -e TCM_USER
+- scripts/config -e CONFIG_UIO
+- scripts/config -e LOOPBACK_TARGET
+- scripts/config -e TCM_FC
+- scripts/config -e LIBFC
+- scripts/config -e SCSI_FC_ATTRS
+- scripts/config -e SCSI_ISCSI_ATTRS
+- scripts/config -e ISCSI_TCP
+- scripts/config -e SCSI_LOWLEVEL
- yes '' | make ARCH=arm oldconfig
build-commands:
- make $MAKEFLAGS ARCH=arm LOADADDR=0x80200000 zImage dtbs
diff --git a/strata/bsp-ppc64-generic.morph b/strata/bsp-ppc64-generic.morph
index 58038d60..82395569 100644
--- a/strata/bsp-ppc64-generic.morph
+++ b/strata/bsp-ppc64-generic.morph
@@ -6,6 +6,6 @@ build-depends:
chunks:
- name: linux-ppc64
morph: strata/bsp-ppc64-generic/linux-ppc64.morph
- repo: upstream:linux
- ref: bfa76d49576599a4b9f9b7a71f23d73d6dcff735
- unpetrify-ref: v3.19
+ repo: upstream:linux-stable
+ ref: 660613d1a4e94144490850b6c3d350331860fac4
+ unpetrify-ref: v3.19.2
diff --git a/strata/bsp-ppc64-generic/linux-ppc64.morph b/strata/bsp-ppc64-generic/linux-ppc64.morph
index 1740a144..cd68c872 100644
--- a/strata/bsp-ppc64-generic/linux-ppc64.morph
+++ b/strata/bsp-ppc64-generic/linux-ppc64.morph
@@ -31,11 +31,14 @@ configure-commands:
- scripts/config -e EXT4_FS_POSIX_ACL
- scripts/config -e EXT4_FS_SECURITY
- scripts/config -d EXT4_DEBUG
+- scripts/config -e XFS_FS
+- scripts/config -e LIBCRC32C
- scripts/config -d JBD_DEBUG
- scripts/config -d JBD2_DEBUG
- scripts/config -e BLK_DEV_LOOP
- scripts/config -d BLK_DEV_CRYPTOLOOP
- scripts/config --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- scripts/config -e DM_SNAPSHOT
- scripts/config -e IKCONFIG
- scripts/config -e IKCONFIG_PROC
- scripts/config -e SECCOMP
@@ -48,6 +51,170 @@ configure-commands:
- scripts/config -e ROOT_NFS
- scripts/config -e PCI
- scripts/config -e TIGON3
+- scripts/config -e BLK_DEV_NBD
+- scripts/config -e BRIDGE_NF_EBTABLES
+- scripts/config -e NETFILTER
+- scripts/config -e NETFILTER_ADVANCED
+- scripts/config -e NETFILTER_XT_MATCH_ADDRTYPE
+- scripts/config -e OPENVSWITCH
+- scripts/config -e OPENVSWITCH_VXLAN
+- scripts/config -e CONFIG_OPENVSWITCH_GRE
+- scripts/config -e NET_CLS_BASIC
+- scripts/config -e NET_SCH_INGRESS
+- scripts/config -e NET_ACT_POLICE
+- scripts/config -e NET_IPGRE_DEMUX
+- scripts/config -e NET_SCH_HTB
+- scripts/config -e NET_SCH_HFSC
+- scripts/config -e VXLAN
+- scripts/config -e VETH
+- scripts/config -e IP_NF_MATCH_AH
+- scripts/config -e IP_NF_MATCH_ECN
+- scripts/config -e IP_NF_MATCH_RPFILTER
+- scripts/config -e IP_NF_MATCH_TTL
+- scripts/config -e IP_NF_TARGET_SYNPROXY
+- scripts/config -e IP_NF_TARGET_NETMAP
+- scripts/config -e IP_NF_TARGET_REDIRECT
+- scripts/config -e IP_NF_TARGET_CLUSTERIP
+- scripts/config -e IP_NF_TARGET_ECN
+- scripts/config -e IP_NF_TARGET_TTL
+- scripts/config -e IP_NF_RAW
+- scripts/config -e IP_NF_SECURITY
+- scripts/config -e IP_NF_ARPTABLES
+- scripts/config -e NETFILTER_NETLINK_QUEUE
+- scripts/config -e SCSI_NETLINK
+- scripts/config -e NETFILTER_XT_TARGET_MARK
+- scripts/config -e NETFILTER_XT_SET
+- scripts/config -e IP_SET
+- scripts/config -e IP_SET_BITMAP_IP
+- scripts/config -e IP_SET_BITMAP_IPMAC
+- scripts/config -e IP_SET_BITMAP_PORT
+- scripts/config -e IP_SET_HASH_IP
+- scripts/config -e IP_SET_HASH_IPMARK
+- scripts/config -e IP_SET_HASH_IPPORT
+- scripts/config -e IP_SET_HASH_IPPORTIP
+- scripts/config -e IP_SET_HASH_IPPORTNET
+- scripts/config -e IP_SET_HASH_MAC
+- scripts/config -e IP_SET_HASH_NETPORTNET
+- scripts/config -e IP_SET_HASH_NET
+- scripts/config -e IP_SET_HASH_NETNET
+- scripts/config -e IP_SET_HASH_NETPORT
+- scripts/config -e IP_SET_HASH_NETIFACE
+- scripts/config -e IP_SET_LIST_SET
+- scripts/config -e NF_CONNTRACK_TIMEOUT
+- scripts/config -e NF_CONNTRACK_TIMESTAMP
+- scripts/config -e NF_CONNTRACK_EVENTS
+- scripts/config -e NF_CONNTRACK_LABELS
+- scripts/config -e NETFILTER_NETLINK_ACCT
+- scripts/config -e NETFILTER_NETLINK_QUEUE_CT
+- scripts/config -e NF_CT_PROTO_DCCP
+- scripts/config -e NF_CT_PROTO_GRE
+- scripts/config -e NF_CT_PROTO_SCTP
+- scripts/config -e NF_CT_PROTO_UDPLITE
+- scripts/config -e NF_CT_NETLINK_TIMEOUT
+- scripts/config -e NF_CT_NETLINK_HELPER
+- scripts/config -e NF_CONNTRACK_AMANDA
+- scripts/config -e NF_CONNTRACK_H323
+- scripts/config -e NF_CONNTRACK_BROADCAST
+- scripts/config -e NF_CONNTRACK_NETBIOS_NS
+- scripts/config -e NF_CONNTRACK_SNMP
+- scripts/config -e NF_CONNTRACK_PPTP
+- scripts/config -e NF_CONNTRACK_SANE
+- scripts/config -e NF_CONNTRACK_TFTP
+- scripts/config -e NF_LOG_COMMON
+- scripts/config -e NF_NAT_PROTO_DCCP
+- scripts/config -e NF_NAT_PROTO_UDPLITE
+- scripts/config -e NF_NAT_PROTO_SCTP
+- scripts/config -e NF_NAT_AMANDA
+- scripts/config -e NF_NAT_TFTP
+- scripts/config -e NF_TABLES
+- scripts/config -e NF_TABLES_INET
+- scripts/config -e NFT_COMPAT
+- scripts/config -e NFT_EXTHDR
+- scripts/config -e NFT_META
+- scripts/config -e NFT_CT
+- scripts/config -e NFT_LIMIT
+- scripts/config -e NFT_NAT
+- scripts/config -e NFT_QUEUE
+- scripts/config -e NFT_REJECT
+- scripts/config -e NFT_REJECT_INET
+- scripts/config -e NFT_RBTREE
+- scripts/config -e NFT_HASH
+- scripts/config -e NFT_COUNTER
+- scripts/config -e NFT_LOG
+- scripts/config -e NFT_MASQ
+- scripts/config -e NETFILTER_XT_CONNMARK
+- scripts/config -e NETFILTER_XT_TARGET_AUDIT
+- scripts/config -e NETFILTER_XT_TARGET_CHECKSUM
+- scripts/config -e NETFILTER_XT_TARGET_CLASSIFY
+- scripts/config -e NETFILTER_XT_TARGET_CT
+- scripts/config -e NETFILTER_XT_TARGET_DSCP
+- scripts/config -e NETFILTER_XT_TARGET_HMARK
+- scripts/config -e NETFILTER_XT_TARGET_LED
+- scripts/config -e NETFILTER_XT_TARGET_LOG
+- scripts/config -e NETFILTER_XT_TARGET_NFQUEUE
+- scripts/config -e NETFILTER_XT_TARGET_RATEEST
+- scripts/config -e NETFILTER_XT_TARGET_TPROXY
+- scripts/config -e NETFILTER_XT_TARGET_TCPOPTSTRIP
+- scripts/config -e NETFILTER_XT_TARGET_TEE
+- scripts/config -e NETFILTER_XT_TARGET_TRACE
+- scripts/config -e NETFILTER_XT_TARGET_IDLETIMER
+- scripts/config -e NETFILTER_XT_MATCH_BPF
+- scripts/config -e NETFILTER_XT_MATCH_CLUSTER
+- scripts/config -e NETFILTER_XT_MATCH_COMMENT
+- scripts/config -e NETFILTER_XT_MATCH_CONNBYTES
+- scripts/config -e NETFILTER_XT_MATCH_CONNLABEL
+- scripts/config -e NETFILTER_XT_MATCH_CONNLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_CPU
+- scripts/config -e NETFILTER_XT_MATCH_DCCP
+- scripts/config -e NETFILTER_XT_MATCH_DEVGROUP
+- scripts/config -e NETFILTER_XT_MATCH_DSCP
+- scripts/config -e NETFILTER_XT_MATCH_ESP
+- scripts/config -e NETFILTER_XT_MATCH_HASHLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_HELPER
+- scripts/config -e NETFILTER_XT_MATCH_IPCOMP
+- scripts/config -e NETFILTER_XT_MATCH_IPRANGE
+- scripts/config -e NETFILTER_XT_MATCH_IPVS
+- scripts/config -e NETFILTER_XT_MATCH_L2TP
+- scripts/config -e NETFILTER_XT_MATCH_LENGTH
+- scripts/config -e NETFILTER_XT_MATCH_LIMIT
+- scripts/config -e NETFILTER_XT_MATCH_MAC
+- scripts/config -e NETFILTER_XT_MATCH_MULTIPORT
+- scripts/config -e NETFILTER_XT_MATCH_NFACCT
+- scripts/config -e NETFILTER_XT_MATCH_OSF
+- scripts/config -e NETFILTER_XT_MATCH_OWNER
+- scripts/config -e NETFILTER_XT_MATCH_CGROUP
+- scripts/config -e NETFILTER_XT_MATCH_PHYSDEV
+- scripts/config -e NETFILTER_XT_MATCH_PKTTYPE
+- scripts/config -e NETFILTER_XT_MATCH_QUOTA
+- scripts/config -e NETFILTER_XT_MATCH_RATEEST
+- scripts/config -e NETFILTER_XT_MATCH_REALM
+- scripts/config -e NETFILTER_XT_MATCH_RECENT
+- scripts/config -e NETFILTER_XT_MATCH_SCTP
+- scripts/config -e NETFILTER_XT_MATCH_SOCKET
+- scripts/config -e NETFILTER_XT_MATCH_STATISTIC
+- scripts/config -e NETFILTER_XT_MATCH_STRING
+- scripts/config -e NETFILTER_XT_MATCH_TCPMSS
+- scripts/config -e NETFILTER_XT_MATCH_TIME
+- scripts/config -e NETFILTER_XT_MATCH_U32
+- scripts/config -e IP_VS
+- scripts/config -e BRIDGE_NETFILTER
+- scripts/config -e CRYPTO_CRC32C
+- scripts/config -e CONFIGFS_FS
+- scripts/config -e EXPERT
+- scripts/config -e TARGET_CORE
+- scripts/config -e ISCSI_TARGET
+- scripts/config -e TCM_IBLOCK
+- scripts/config -e TCM_FILEIO
+- scripts/config -e TCM_PSCSI
+- scripts/config -e TCM_USER
+- scripts/config -e CONFIG_UIO
+- scripts/config -e LOOPBACK_TARGET
+- scripts/config -e TCM_FC
+- scripts/config -e LIBFC
+- scripts/config -e SCSI_FC_ATTRS
+- scripts/config -e SCSI_ISCSI_ATTRS
+- scripts/config -e ISCSI_TCP
+- scripts/config -e SCSI_LOWLEVEL
- yes '' | make oldconfig
build-commands:
- make $MAKEFLAGS ARCH=powerpc zImage
diff --git a/strata/bsp-wandboard.morph b/strata/bsp-wandboard.morph
index 2ab095df..ba704b1b 100644
--- a/strata/bsp-wandboard.morph
+++ b/strata/bsp-wandboard.morph
@@ -11,8 +11,8 @@ chunks:
unpetrify-ref: baserock/morph
- name: linux-armv7-wandboard
morph: strata/bsp-wandboard/linux-armv7-wandboard.morph
- repo: upstream:linux
- ref: bfa76d49576599a4b9f9b7a71f23d73d6dcff735
- unpetrify-ref: v3.19
+ repo: upstream:linux-stable
+ ref: 660613d1a4e94144490850b6c3d350331860fac4
+ unpetrify-ref: v3.19.2
build-depends:
- u-boot@wandboard
diff --git a/strata/bsp-wandboard/linux-armv7-wandboard.morph b/strata/bsp-wandboard/linux-armv7-wandboard.morph
index 15317978..a3a79254 100644
--- a/strata/bsp-wandboard/linux-armv7-wandboard.morph
+++ b/strata/bsp-wandboard/linux-armv7-wandboard.morph
@@ -38,6 +38,7 @@ configure-commands:
- scripts/config -e BLK_DEV_LOOP
- scripts/config -d BLK_DEV_CRYPTOLOOP
- scripts/config --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- scripts/config -e DM_SNAPSHOT
- scripts/config -e IKCONFIG
- scripts/config -e IKCONFIG_PROC
- scripts/config -e SECCOMP
@@ -46,6 +47,7 @@ configure-commands:
- scripts/config -e NFSD_V3
- scripts/config -e VLAN_8021Q
- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e VETH
- yes '' | make oldconfig
build-commands:
- make $MAKEFLAGS ARCH=arm LOADADDR=0x10800000 uImage dtbs
diff --git a/strata/bsp-x86_32-generic.morph b/strata/bsp-x86_32-generic.morph
index 10c4dbe5..41003643 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: bfa76d49576599a4b9f9b7a71f23d73d6dcff735
- unpetrify-ref: v3.19
+ ref: 39a8804455fb23f09157341d3ba7db6d7ae6ee76
+ unpetrify-ref: v4.0
- name: nasm
morph: strata/bsp-x86_32-generic/nasm.morph
repo: upstream:nasm
diff --git a/strata/bsp-x86_32-generic/linux-x86-32-generic.morph b/strata/bsp-x86_32-generic/linux-x86-32-generic.morph
index 593d9a65..a8da9549 100644
--- a/strata/bsp-x86_32-generic/linux-x86-32-generic.morph
+++ b/strata/bsp-x86_32-generic/linux-x86-32-generic.morph
@@ -40,12 +40,15 @@ configure-commands:
- scripts/config -e EXT4_FS_POSIX_ACL
- scripts/config -e EXT4_FS_SECURITY
- scripts/config -d EXT4_DEBUG
+- scripts/config -e XFS_FS
+- scripts/config -e LIBCRC32C
- scripts/config -d JBD_DEBUG
- scripts/config -d JBD2_DEBUG
- scripts/config -e BLK_DEV_LOOP
- scripts/config -d BLK_DEV_CRYPTOLOOP
- scripts/config -e CEPH_FS
- scripts/config --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- scripts/config -e DM_SNAPSHOT
- scripts/config -e VIRTIO
- scripts/config -e VIRTIO_RING
- scripts/config -e VIRTIO_PCI
@@ -62,6 +65,16 @@ configure-commands:
- scripts/config -e R8169
- scripts/config -e 8139TOO
- scripts/config -e 8139CP
+- scripts/config -e ATL1
+- scripts/config -e ATL1C
+- scripts/config -e ATL1E
+- scripts/config -e E100
+- scripts/config -e E1000
+- scripts/config -e E1000E
+- scripts/config -e USB_USBNET
+- scripts/config -e USB_NET_AX8817X
+- scripts/config -e USB_NET_AX88179_178A
+- scripts/config -e USB_NET_DM9601
- scripts/config -e IKCONFIG
- scripts/config -e IKCONFIG_PROC
- scripts/config -e SECCOMP
@@ -73,13 +86,178 @@ configure-commands:
- scripts/config -e BRIDGE
- scripts/config -e VHOST_NET
- scripts/config -e NF_NAT
-- scripts/config -e NF_NAT_IPV4
+- scripts/config -e IP_NF_NAT
- scripts/config -e IP_NF_TARGET_MASQUERADE
- scripts/config -e FB_VESA
- scripts/config -e HOTPLUG_PCI
- scripts/config -e HOTPLUG_PCI_ACPI
- scripts/config -e VLAN_8021Q
- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e BLK_DEV_NBD
+- scripts/config -e BRIDGE_NF_EBTABLES
+- scripts/config -e NETFILTER
+- scripts/config -e NETFILTER_ADVANCED
+- scripts/config -e NETFILTER_XT_MATCH_ADDRTYPE
+- scripts/config -e OPENVSWITCH
+- scripts/config -e OPENVSWITCH_VXLAN
+- scripts/config -e CONFIG_OPENVSWITCH_GRE
+- scripts/config -e NET_CLS_BASIC
+- scripts/config -e NET_SCH_INGRESS
+- scripts/config -e NET_ACT_POLICE
+- scripts/config -e NET_IPGRE_DEMUX
+- scripts/config -e NET_SCH_HTB
+- scripts/config -e NET_SCH_HFSC
+- scripts/config -e VXLAN
+- scripts/config -e VETH
+- scripts/config -e IP_NF_MATCH_AH
+- scripts/config -e IP_NF_MATCH_ECN
+- scripts/config -e IP_NF_MATCH_RPFILTER
+- scripts/config -e IP_NF_MATCH_TTL
+- scripts/config -e IP_NF_TARGET_SYNPROXY
+- scripts/config -e IP_NF_TARGET_NETMAP
+- scripts/config -e IP_NF_TARGET_REDIRECT
+- scripts/config -e IP_NF_TARGET_CLUSTERIP
+- scripts/config -e IP_NF_TARGET_ECN
+- scripts/config -e IP_NF_TARGET_TTL
+- scripts/config -e IP_NF_RAW
+- scripts/config -e IP_NF_SECURITY
+- scripts/config -e IP_NF_ARPTABLES
+- scripts/config -e KVM_INTEL
+- scripts/config -e NETFILTER_NETLINK_QUEUE
+- scripts/config -e SCSI_NETLINK
+- scripts/config -e NETFILTER_XT_TARGET_MARK
+- scripts/config -e NETFILTER_XT_SET
+- scripts/config -e IP_SET
+- scripts/config -e IP_SET_BITMAP_IP
+- scripts/config -e IP_SET_BITMAP_IPMAC
+- scripts/config -e IP_SET_BITMAP_PORT
+- scripts/config -e IP_SET_HASH_IP
+- scripts/config -e IP_SET_HASH_IPMARK
+- scripts/config -e IP_SET_HASH_IPPORT
+- scripts/config -e IP_SET_HASH_IPPORTIP
+- scripts/config -e IP_SET_HASH_IPPORTNET
+- scripts/config -e IP_SET_HASH_MAC
+- scripts/config -e IP_SET_HASH_NETPORTNET
+- scripts/config -e IP_SET_HASH_NET
+- scripts/config -e IP_SET_HASH_NETNET
+- scripts/config -e IP_SET_HASH_NETPORT
+- scripts/config -e IP_SET_HASH_NETIFACE
+- scripts/config -e IP_SET_LIST_SET
+- scripts/config -e NF_CONNTRACK_TIMEOUT
+- scripts/config -e NF_CONNTRACK_TIMESTAMP
+- scripts/config -e NF_CONNTRACK_EVENTS
+- scripts/config -e NF_CONNTRACK_LABELS
+- scripts/config -e NETFILTER_NETLINK_ACCT
+- scripts/config -e NETFILTER_NETLINK_QUEUE_CT
+- scripts/config -e NF_CT_PROTO_DCCP
+- scripts/config -e NF_CT_PROTO_GRE
+- scripts/config -e NF_CT_PROTO_SCTP
+- scripts/config -e NF_CT_PROTO_UDPLITE
+- scripts/config -e NF_CT_NETLINK_TIMEOUT
+- scripts/config -e NF_CT_NETLINK_HELPER
+- scripts/config -e NF_CONNTRACK_AMANDA
+- scripts/config -e NF_CONNTRACK_H323
+- scripts/config -e NF_CONNTRACK_BROADCAST
+- scripts/config -e NF_CONNTRACK_NETBIOS_NS
+- scripts/config -e NF_CONNTRACK_SNMP
+- scripts/config -e NF_CONNTRACK_PPTP
+- scripts/config -e NF_CONNTRACK_SANE
+- scripts/config -e NF_CONNTRACK_TFTP
+- scripts/config -e NF_LOG_COMMON
+- scripts/config -e NF_NAT_PROTO_DCCP
+- scripts/config -e NF_NAT_PROTO_UDPLITE
+- scripts/config -e NF_NAT_PROTO_SCTP
+- scripts/config -e NF_NAT_AMANDA
+- scripts/config -e NF_NAT_TFTP
+- scripts/config -e NF_TABLES
+- scripts/config -e NF_TABLES_INET
+- scripts/config -e NFT_COMPAT
+- scripts/config -e NFT_EXTHDR
+- scripts/config -e NFT_META
+- scripts/config -e NFT_CT
+- scripts/config -e NFT_LIMIT
+- scripts/config -e NFT_NAT
+- scripts/config -e NFT_QUEUE
+- scripts/config -e NFT_REJECT
+- scripts/config -e NFT_REJECT_INET
+- scripts/config -e NFT_RBTREE
+- scripts/config -e NFT_HASH
+- scripts/config -e NFT_COUNTER
+- scripts/config -e NFT_LOG
+- scripts/config -e NFT_MASQ
+- scripts/config -e NETFILTER_XT_CONNMARK
+- scripts/config -e NETFILTER_XT_TARGET_AUDIT
+- scripts/config -e NETFILTER_XT_TARGET_CHECKSUM
+- scripts/config -e NETFILTER_XT_TARGET_CLASSIFY
+- scripts/config -e NETFILTER_XT_TARGET_CT
+- scripts/config -e NETFILTER_XT_TARGET_DSCP
+- scripts/config -e NETFILTER_XT_TARGET_HMARK
+- scripts/config -e NETFILTER_XT_TARGET_LED
+- scripts/config -e NETFILTER_XT_TARGET_LOG
+- scripts/config -e NETFILTER_XT_TARGET_NFQUEUE
+- scripts/config -e NETFILTER_XT_TARGET_RATEEST
+- scripts/config -e NETFILTER_XT_TARGET_TPROXY
+- scripts/config -e NETFILTER_XT_TARGET_TCPOPTSTRIP
+- scripts/config -e NETFILTER_XT_TARGET_TEE
+- scripts/config -e NETFILTER_XT_TARGET_TRACE
+- scripts/config -e NETFILTER_XT_TARGET_IDLETIMER
+- scripts/config -e NETFILTER_XT_MATCH_BPF
+- scripts/config -e NETFILTER_XT_MATCH_CLUSTER
+- scripts/config -e NETFILTER_XT_MATCH_COMMENT
+- scripts/config -e NETFILTER_XT_MATCH_CONNBYTES
+- scripts/config -e NETFILTER_XT_MATCH_CONNLABEL
+- scripts/config -e NETFILTER_XT_MATCH_CONNLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_CPU
+- scripts/config -e NETFILTER_XT_MATCH_DCCP
+- scripts/config -e NETFILTER_XT_MATCH_DEVGROUP
+- scripts/config -e NETFILTER_XT_MATCH_DSCP
+- scripts/config -e NETFILTER_XT_MATCH_ESP
+- scripts/config -e NETFILTER_XT_MATCH_HASHLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_HELPER
+- scripts/config -e NETFILTER_XT_MATCH_IPCOMP
+- scripts/config -e NETFILTER_XT_MATCH_IPRANGE
+- scripts/config -e NETFILTER_XT_MATCH_IPVS
+- scripts/config -e NETFILTER_XT_MATCH_L2TP
+- scripts/config -e NETFILTER_XT_MATCH_LENGTH
+- scripts/config -e NETFILTER_XT_MATCH_LIMIT
+- scripts/config -e NETFILTER_XT_MATCH_MAC
+- scripts/config -e NETFILTER_XT_MATCH_MULTIPORT
+- scripts/config -e NETFILTER_XT_MATCH_NFACCT
+- scripts/config -e NETFILTER_XT_MATCH_OSF
+- scripts/config -e NETFILTER_XT_MATCH_OWNER
+- scripts/config -e NETFILTER_XT_MATCH_CGROUP
+- scripts/config -e NETFILTER_XT_MATCH_PHYSDEV
+- scripts/config -e NETFILTER_XT_MATCH_PKTTYPE
+- scripts/config -e NETFILTER_XT_MATCH_QUOTA
+- scripts/config -e NETFILTER_XT_MATCH_RATEEST
+- scripts/config -e NETFILTER_XT_MATCH_REALM
+- scripts/config -e NETFILTER_XT_MATCH_RECENT
+- scripts/config -e NETFILTER_XT_MATCH_SCTP
+- scripts/config -e NETFILTER_XT_MATCH_SOCKET
+- scripts/config -e NETFILTER_XT_MATCH_STATISTIC
+- scripts/config -e NETFILTER_XT_MATCH_STRING
+- scripts/config -e NETFILTER_XT_MATCH_TCPMSS
+- scripts/config -e NETFILTER_XT_MATCH_TIME
+- scripts/config -e NETFILTER_XT_MATCH_U32
+- scripts/config -e IP_VS
+- scripts/config -e BRIDGE_NETFILTER
+- scripts/config -e CRYPTO_CRC32C
+- scripts/config -e CONFIGFS_FS
+- scripts/config -e EXPERT
+- scripts/config -e TARGET_CORE
+- scripts/config -e ISCSI_TARGET
+- scripts/config -e TCM_IBLOCK
+- scripts/config -e TCM_FILEIO
+- scripts/config -e TCM_PSCSI
+- scripts/config -e TCM_USER
+- scripts/config -e CONFIG_UIO
+- scripts/config -e LOOPBACK_TARGET
+- scripts/config -e TCM_FC
+- scripts/config -e LIBFC
+- scripts/config -e SCSI_FC_ATTRS
+- scripts/config -e SCSI_ISCSI_ATTRS
+- scripts/config -e ISCSI_TCP
+- scripts/config -e SCSI_LOWLEVEL
- yes '' | make oldconfig
build-commands:
- make $MAKEFLAGS
diff --git a/strata/bsp-x86_64-generic.morph b/strata/bsp-x86_64-generic.morph
index 749e3722..799af9d2 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: bfa76d49576599a4b9f9b7a71f23d73d6dcff735
- unpetrify-ref: v3.19
+ ref: 39a8804455fb23f09157341d3ba7db6d7ae6ee76
+ unpetrify-ref: v4.0
- name: nasm
morph: strata/bsp-x86_64-generic/nasm.morph
repo: upstream:nasm
diff --git a/strata/bsp-x86_64-generic/linux-x86-64-generic.morph b/strata/bsp-x86_64-generic/linux-x86-64-generic.morph
index fe0721cc..d79b981d 100644
--- a/strata/bsp-x86_64-generic/linux-x86-64-generic.morph
+++ b/strata/bsp-x86_64-generic/linux-x86-64-generic.morph
@@ -40,12 +40,17 @@ configure-commands:
- scripts/config -e EXT4_FS_POSIX_ACL
- scripts/config -e EXT4_FS_SECURITY
- scripts/config -d EXT4_DEBUG
+- scripts/config -e XFS_FS
+- scripts/config -e LIBCRC32C
- scripts/config -d JBD_DEBUG
- scripts/config -d JBD2_DEBUG
- scripts/config -e BLK_DEV_LOOP
- scripts/config -d BLK_DEV_CRYPTOLOOP
- scripts/config -e CEPH_FS
+- scripts/config -e OVERLAY_FS
+- scripts/config -e FUSE_FS
- scripts/config --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- scripts/config -e DM_SNAPSHOT
- scripts/config -e VIRTIO
- scripts/config -e VIRTIO_RING
- scripts/config -e VIRTIO_PCI
@@ -62,6 +67,16 @@ configure-commands:
- scripts/config -e R8169
- scripts/config -e 8139TOO
- scripts/config -e 8139CP
+- scripts/config -e ATL1
+- scripts/config -e ATL1C
+- scripts/config -e ATL1E
+- scripts/config -e E100
+- scripts/config -e E1000
+- scripts/config -e E1000E
+- scripts/config -e USB_USBNET
+- scripts/config -e USB_NET_AX8817X
+- scripts/config -e USB_NET_AX88179_178A
+- scripts/config -e USB_NET_DM9601
- scripts/config -e IKCONFIG
- scripts/config -e IKCONFIG_PROC
- scripts/config -e SECCOMP
@@ -73,13 +88,178 @@ configure-commands:
- scripts/config -e BRIDGE
- scripts/config -e VHOST_NET
- scripts/config -e NF_NAT
-- scripts/config -e NF_NAT_IPV4
+- scripts/config -e IP_NF_NAT
- scripts/config -e IP_NF_TARGET_MASQUERADE
- scripts/config -e FB_VESA
- scripts/config -e HOTPLUG_PCI
- scripts/config -e HOTPLUG_PCI_ACPI
- scripts/config -e VLAN_8021Q
- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e BLK_DEV_NBD
+- scripts/config -e BRIDGE_NF_EBTABLES
+- scripts/config -e NETFILTER
+- scripts/config -e NETFILTER_ADVANCED
+- scripts/config -e NETFILTER_XT_MATCH_ADDRTYPE
+- scripts/config -e OPENVSWITCH
+- scripts/config -e OPENVSWITCH_VXLAN
+- scripts/config -e CONFIG_OPENVSWITCH_GRE
+- scripts/config -e NET_CLS_BASIC
+- scripts/config -e NET_SCH_INGRESS
+- scripts/config -e NET_ACT_POLICE
+- scripts/config -e NET_IPGRE_DEMUX
+- scripts/config -e NET_SCH_HTB
+- scripts/config -e NET_SCH_HFSC
+- scripts/config -e VXLAN
+- scripts/config -e VETH
+- scripts/config -e IP_NF_MATCH_AH
+- scripts/config -e IP_NF_MATCH_ECN
+- scripts/config -e IP_NF_MATCH_RPFILTER
+- scripts/config -e IP_NF_MATCH_TTL
+- scripts/config -e IP_NF_TARGET_SYNPROXY
+- scripts/config -e IP_NF_TARGET_NETMAP
+- scripts/config -e IP_NF_TARGET_REDIRECT
+- scripts/config -e IP_NF_TARGET_CLUSTERIP
+- scripts/config -e IP_NF_TARGET_ECN
+- scripts/config -e IP_NF_TARGET_TTL
+- scripts/config -e IP_NF_RAW
+- scripts/config -e IP_NF_SECURITY
+- scripts/config -e IP_NF_ARPTABLES
+- scripts/config -e KVM_INTEL
+- scripts/config -e NETFILTER_NETLINK_QUEUE
+- scripts/config -e SCSI_NETLINK
+- scripts/config -e NETFILTER_XT_TARGET_MARK
+- scripts/config -e NETFILTER_XT_SET
+- scripts/config -e IP_SET
+- scripts/config -e IP_SET_BITMAP_IP
+- scripts/config -e IP_SET_BITMAP_IPMAC
+- scripts/config -e IP_SET_BITMAP_PORT
+- scripts/config -e IP_SET_HASH_IP
+- scripts/config -e IP_SET_HASH_IPMARK
+- scripts/config -e IP_SET_HASH_IPPORT
+- scripts/config -e IP_SET_HASH_IPPORTIP
+- scripts/config -e IP_SET_HASH_IPPORTNET
+- scripts/config -e IP_SET_HASH_MAC
+- scripts/config -e IP_SET_HASH_NETPORTNET
+- scripts/config -e IP_SET_HASH_NET
+- scripts/config -e IP_SET_HASH_NETNET
+- scripts/config -e IP_SET_HASH_NETPORT
+- scripts/config -e IP_SET_HASH_NETIFACE
+- scripts/config -e IP_SET_LIST_SET
+- scripts/config -e NF_CONNTRACK_TIMEOUT
+- scripts/config -e NF_CONNTRACK_TIMESTAMP
+- scripts/config -e NF_CONNTRACK_EVENTS
+- scripts/config -e NF_CONNTRACK_LABELS
+- scripts/config -e NETFILTER_NETLINK_ACCT
+- scripts/config -e NETFILTER_NETLINK_QUEUE_CT
+- scripts/config -e NF_CT_PROTO_DCCP
+- scripts/config -e NF_CT_PROTO_GRE
+- scripts/config -e NF_CT_PROTO_SCTP
+- scripts/config -e NF_CT_PROTO_UDPLITE
+- scripts/config -e NF_CT_NETLINK_TIMEOUT
+- scripts/config -e NF_CT_NETLINK_HELPER
+- scripts/config -e NF_CONNTRACK_AMANDA
+- scripts/config -e NF_CONNTRACK_H323
+- scripts/config -e NF_CONNTRACK_BROADCAST
+- scripts/config -e NF_CONNTRACK_NETBIOS_NS
+- scripts/config -e NF_CONNTRACK_SNMP
+- scripts/config -e NF_CONNTRACK_PPTP
+- scripts/config -e NF_CONNTRACK_SANE
+- scripts/config -e NF_CONNTRACK_TFTP
+- scripts/config -e NF_LOG_COMMON
+- scripts/config -e NF_NAT_PROTO_DCCP
+- scripts/config -e NF_NAT_PROTO_UDPLITE
+- scripts/config -e NF_NAT_PROTO_SCTP
+- scripts/config -e NF_NAT_AMANDA
+- scripts/config -e NF_NAT_TFTP
+- scripts/config -e NF_TABLES
+- scripts/config -e NF_TABLES_INET
+- scripts/config -e NFT_COMPAT
+- scripts/config -e NFT_EXTHDR
+- scripts/config -e NFT_META
+- scripts/config -e NFT_CT
+- scripts/config -e NFT_LIMIT
+- scripts/config -e NFT_NAT
+- scripts/config -e NFT_QUEUE
+- scripts/config -e NFT_REJECT
+- scripts/config -e NFT_REJECT_INET
+- scripts/config -e NFT_RBTREE
+- scripts/config -e NFT_HASH
+- scripts/config -e NFT_COUNTER
+- scripts/config -e NFT_LOG
+- scripts/config -e NFT_MASQ
+- scripts/config -e NETFILTER_XT_CONNMARK
+- scripts/config -e NETFILTER_XT_TARGET_AUDIT
+- scripts/config -e NETFILTER_XT_TARGET_CHECKSUM
+- scripts/config -e NETFILTER_XT_TARGET_CLASSIFY
+- scripts/config -e NETFILTER_XT_TARGET_CT
+- scripts/config -e NETFILTER_XT_TARGET_DSCP
+- scripts/config -e NETFILTER_XT_TARGET_HMARK
+- scripts/config -e NETFILTER_XT_TARGET_LED
+- scripts/config -e NETFILTER_XT_TARGET_LOG
+- scripts/config -e NETFILTER_XT_TARGET_NFQUEUE
+- scripts/config -e NETFILTER_XT_TARGET_RATEEST
+- scripts/config -e NETFILTER_XT_TARGET_TPROXY
+- scripts/config -e NETFILTER_XT_TARGET_TCPOPTSTRIP
+- scripts/config -e NETFILTER_XT_TARGET_TEE
+- scripts/config -e NETFILTER_XT_TARGET_TRACE
+- scripts/config -e NETFILTER_XT_TARGET_IDLETIMER
+- scripts/config -e NETFILTER_XT_MATCH_BPF
+- scripts/config -e NETFILTER_XT_MATCH_CLUSTER
+- scripts/config -e NETFILTER_XT_MATCH_COMMENT
+- scripts/config -e NETFILTER_XT_MATCH_CONNBYTES
+- scripts/config -e NETFILTER_XT_MATCH_CONNLABEL
+- scripts/config -e NETFILTER_XT_MATCH_CONNLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_CPU
+- scripts/config -e NETFILTER_XT_MATCH_DCCP
+- scripts/config -e NETFILTER_XT_MATCH_DEVGROUP
+- scripts/config -e NETFILTER_XT_MATCH_DSCP
+- scripts/config -e NETFILTER_XT_MATCH_ESP
+- scripts/config -e NETFILTER_XT_MATCH_HASHLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_HELPER
+- scripts/config -e NETFILTER_XT_MATCH_IPCOMP
+- scripts/config -e NETFILTER_XT_MATCH_IPRANGE
+- scripts/config -e NETFILTER_XT_MATCH_IPVS
+- scripts/config -e NETFILTER_XT_MATCH_L2TP
+- scripts/config -e NETFILTER_XT_MATCH_LENGTH
+- scripts/config -e NETFILTER_XT_MATCH_LIMIT
+- scripts/config -e NETFILTER_XT_MATCH_MAC
+- scripts/config -e NETFILTER_XT_MATCH_MULTIPORT
+- scripts/config -e NETFILTER_XT_MATCH_NFACCT
+- scripts/config -e NETFILTER_XT_MATCH_OSF
+- scripts/config -e NETFILTER_XT_MATCH_OWNER
+- scripts/config -e NETFILTER_XT_MATCH_CGROUP
+- scripts/config -e NETFILTER_XT_MATCH_PHYSDEV
+- scripts/config -e NETFILTER_XT_MATCH_PKTTYPE
+- scripts/config -e NETFILTER_XT_MATCH_QUOTA
+- scripts/config -e NETFILTER_XT_MATCH_RATEEST
+- scripts/config -e NETFILTER_XT_MATCH_REALM
+- scripts/config -e NETFILTER_XT_MATCH_RECENT
+- scripts/config -e NETFILTER_XT_MATCH_SCTP
+- scripts/config -e NETFILTER_XT_MATCH_SOCKET
+- scripts/config -e NETFILTER_XT_MATCH_STATISTIC
+- scripts/config -e NETFILTER_XT_MATCH_STRING
+- scripts/config -e NETFILTER_XT_MATCH_TCPMSS
+- scripts/config -e NETFILTER_XT_MATCH_TIME
+- scripts/config -e NETFILTER_XT_MATCH_U32
+- scripts/config -e IP_VS
+- scripts/config -e BRIDGE_NETFILTER
+- scripts/config -e CRYPTO_CRC32C
+- scripts/config -e CONFIGFS_FS
+- scripts/config -e EXPERT
+- scripts/config -e TARGET_CORE
+- scripts/config -e ISCSI_TARGET
+- scripts/config -e TCM_IBLOCK
+- scripts/config -e TCM_FILEIO
+- scripts/config -e TCM_PSCSI
+- scripts/config -e TCM_USER
+- scripts/config -e CONFIG_UIO
+- scripts/config -e LOOPBACK_TARGET
+- scripts/config -e TCM_FC
+- scripts/config -e LIBFC
+- scripts/config -e SCSI_FC_ATTRS
+- scripts/config -e SCSI_ISCSI_ATTRS
+- scripts/config -e ISCSI_TCP
+- scripts/config -e SCSI_LOWLEVEL
- yes '' | make oldconfig
build-commands:
- make $MAKEFLAGS
diff --git a/strata/build-essential.morph b/strata/build-essential.morph
index 651506e1..23461353 100644
--- a/strata/build-essential.morph
+++ b/strata/build-essential.morph
@@ -34,6 +34,13 @@ description: |
PLEASE KEEP THE REFS IN 'armv7lhf-cross-toolchain' STRATUM UP TO DATE WITH
THIS ONE!
+
+ Please note that the chunk 'build-depends' field is treated differently in
+ this stratum to how other strata in definitions.git use it. Other strata
+ rely on the fact that dependencies of a dependency (called 'transitive
+ dependencies') are implicitly included in the staging area. Within
+ build-essential, some chunks list transitive dependencies explicitly to
+ make clearer what is going on.
products:
- artifact: build-essential-minimal
include:
@@ -60,8 +67,8 @@ chunks:
- name: stage2-linux-api-headers
morph: strata/build-essential/stage2-linux-api-headers.morph
repo: upstream:linux
- ref: bfa76d49576599a4b9f9b7a71f23d73d6dcff735
- unpetrify-ref: v3.19
+ ref: 39a8804455fb23f09157341d3ba7db6d7ae6ee76
+ unpetrify-ref: v4.0
build-depends:
- stage1-binutils
- stage1-gcc
@@ -70,8 +77,8 @@ chunks:
- name: stage2-glibc
morph: strata/build-essential/stage2-glibc.morph
repo: upstream:glibc
- ref: 52cf9a0153c14df4f6ae3bd0e1e6cc5d171e586c
- unpetrify-ref: baserock/glibc-2.20
+ ref: 4e42b5b8f89f0e288e68be7ad70f9525aebc2cff
+ unpetrify-ref: glibc-2.21
build-depends:
- stage1-binutils
- stage1-gcc
@@ -86,6 +93,7 @@ chunks:
build-depends:
- stage1-binutils
- stage1-gcc
+ - stage2-linux-api-headers
- stage2-glibc
build-mode: bootstrap
prefix: /tools
@@ -97,6 +105,7 @@ chunks:
build-depends:
- stage1-binutils
- stage1-gcc
+ - stage2-linux-api-headers
- stage2-glibc
build-mode: bootstrap
prefix: /tools
@@ -108,6 +117,7 @@ chunks:
build-depends:
- stage1-binutils
- stage1-gcc
+ - stage2-linux-api-headers
- stage2-glibc
build-mode: bootstrap
prefix: /tools
@@ -119,6 +129,7 @@ chunks:
build-depends:
- stage1-binutils
- stage1-gcc
+ - stage2-linux-api-headers
- stage2-glibc
- stage2-gcc-fixed-headers
- stage2-libstdc++
@@ -132,6 +143,7 @@ chunks:
build-depends:
- stage1-binutils
- stage1-gcc
+ - stage2-linux-api-headers
- stage2-glibc
build-mode: bootstrap
prefix: /tools
@@ -152,11 +164,12 @@ chunks:
- name: stage2-gawk
morph: strata/build-essential/stage2-gawk.morph
repo: upstream:gawk
- ref: dc5af665700d9b04fdf9c18930526d28eef5d5d9
- unpetrify-ref: gawk-4.1.1
+ ref: 925f9363c4b0a5bb9375298afcdcf404efb32587
+ unpetrify-ref: gawk-4.1-stable
build-depends:
- stage1-binutils
- stage1-gcc
+ - stage2-linux-api-headers
- stage2-glibc
build-mode: bootstrap
prefix: /tools
@@ -168,14 +181,15 @@ chunks:
build-depends:
- stage1-binutils
- stage1-gcc
+ - stage2-linux-api-headers
- stage2-glibc
build-mode: bootstrap
prefix: /tools
- name: stage2-reset-specs
morph: strata/build-essential/stage2-reset-specs.morph
repo: upstream:glibc
- ref: 52cf9a0153c14df4f6ae3bd0e1e6cc5d171e586c
- unpetrify-ref: baserock/glibc-2.20
+ ref: 4e42b5b8f89f0e288e68be7ad70f9525aebc2cff
+ unpetrify-ref: glibc-2.21
build-depends:
- stage1-binutils
- stage1-gcc
@@ -201,8 +215,8 @@ chunks:
- name: linux-api-headers
morph: strata/build-essential/linux-api-headers.morph
repo: upstream:linux
- ref: bfa76d49576599a4b9f9b7a71f23d73d6dcff735
- unpetrify-ref: v3.19
+ ref: 39a8804455fb23f09157341d3ba7db6d7ae6ee76
+ unpetrify-ref: v4.0
build-depends:
- stage2-binutils
- stage2-busybox
@@ -216,8 +230,8 @@ chunks:
- name: glibc
morph: strata/build-essential/glibc.morph
repo: upstream:glibc
- ref: 52cf9a0153c14df4f6ae3bd0e1e6cc5d171e586c
- unpetrify-ref: baserock/glibc-2.20
+ ref: 4e42b5b8f89f0e288e68be7ad70f9525aebc2cff
+ unpetrify-ref: glibc-2.21
build-depends:
- stage2-binutils
- stage2-busybox
@@ -311,7 +325,9 @@ chunks:
- stage2-busybox
- stage2-glibc
- stage2-fhs-dirs
+ - stage2-gawk
- stage2-gcc
+ - stage2-linux-api-headers
- stage2-make
- stage2-reset-specs
- glibc
@@ -333,6 +349,7 @@ chunks:
- glibc
- zlib
- m4-tarball
+ - linux-api-headers
artifacts:
gcc-libs: build-essential-minimal
- name: make
diff --git a/strata/build-essential/glibc.morph b/strata/build-essential/glibc.morph
index 3b80452a..73c518cf 100644
--- a/strata/build-essential/glibc.morph
+++ b/strata/build-essential/glibc.morph
@@ -55,7 +55,7 @@ configure-commands:
$ARCH_FLAGS \
--prefix="$PREFIX" \
--disable-profile \
- --enable-kernel=2.6.25 \
+ --enable-kernel=3.0.0 \
--without-cvs \
--without-selinux \
--enable-obsolete-rpc
@@ -89,5 +89,3 @@ install-commands:
include /etc/ld.so.conf.d/*.conf
EOF
- install -m 644 -o root -g root ld.so.conf "$DESTDIR/etc/ld.so.conf"
-- case "$MORPH_ARCH" in armv7*hf*) ln -s ld-2.20.so "$DESTDIR/lib/ld-linux.so.3" ;;
- esac
diff --git a/strata/build-essential/stage2-glibc.morph b/strata/build-essential/stage2-glibc.morph
index 9ca0d4c1..d951f0c5 100644
--- a/strata/build-essential/stage2-glibc.morph
+++ b/strata/build-essential/stage2-glibc.morph
@@ -31,7 +31,41 @@ install-commands:
include /etc/ld.so.conf.d/*.conf
EOF
- install -m 644 -o root -g root ld.so.conf "$DESTDIR/etc/ld.so.conf"
-- sh stage2-glibc-fix-specs
+- |
+ # Fix up GCC to handle the sysroot containing glibc being in a different
+ # location for each chunk build.
+ #
+ # For headers, it's enough to pass -B in the CPPFLAGS. This would work for
+ # the startup files (crt*.o) as well, except where libtool is involved (in
+ # which case it strips -B out of your LDFLAGS before calling GCC). We get
+ # around this by making GCC locate them relative to the environment variable
+ # STAGE2_SYSROOT, which we can then set along with CPPFLAGS in each stage 2
+ # chunk build.
+ #
+ # We also force the use of the program loader at PREFIX/lib/ld.so instead
+ # of its usual home in /lib or /lib64, which is necessary for the output of
+ # stage 2 to work as a chroot when building stage 3.
+
+ sysroot="$(dirname "$(pwd)")"
+ specs_dir="$(dirname $($TARGET_STAGE1-gcc --print-libgcc-file-name))"
+ target_specs_dir="$DESTDIR/${specs_dir#$sysroot}"
+ mkdir -p "$target_specs_dir"
+
+ $TARGET_STAGE1-gcc -dumpspecs |
+ sed -e "s@[gMS]\?crt[1in].o%s@%:getenv(STAGE2_SYSROOT $PREFIX/lib/&)@g" \
+ -e "s@/lib\(64\)\?/ld@$PREFIX/lib/ld@g" \
+ > "$target_specs_dir/specs-for-sysroot"
+
+ # NASTY HACK #
+ # We create a symlink to the actual specs here, so that later the
+ # symlink can be replaced with a dangling link.
+ #
+ # This is necessary as we need to have gcc use its internal specs,
+ # which can differ to the specs generated by `gcc -dumpspecs`.
+ #
+ # The dangling symlink will not make it onto the final system, just
+ # like all other bootstrap only components.
+ ln -s specs-for-sysroot "$target_specs_dir/specs"
- install -d $DESTDIR/lib
- |
cpu=$(echo $TARGET | cut -d '-' -f 1)
@@ -46,5 +80,7 @@ install-commands:
"$DESTDIR/lib64/ld64.so.1" ;;
*)
loader=$(basename $(ls "$DESTDIR$PREFIX"/lib/ld-linux*))
+ [ -z $loader ] && loader=$(basename $(ls "$DESTDIR$PREFIX"/lib/ld.so*))
+ [ -z $loader ] && ( echo "Bug in stage2-glibc ld.so symlinks" ; exit 1 )
ln -s "$PREFIX/lib/$loader" "$DESTDIR/lib/$loader"
esac
diff --git a/strata/ceph-service/ceph.morph b/strata/ceph-service/ceph.morph
index 814fe22c..931bda3b 100644
--- a/strata/ceph-service/ceph.morph
+++ b/strata/ceph-service/ceph.morph
@@ -9,10 +9,10 @@ install-commands:
- make install
- 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 -m 644 systemd/ceph-mon@.service "$DESTDIR"/etc/systemd/system/ceph-mon@.service
+- install -D -m 644 systemd/ceph-osd@.service "$DESTDIR"/etc/systemd/system/ceph-osd@.service
+- install -D -m 644 systemd/ceph-mds@.service "$DESTDIR"/etc/systemd/system/ceph-mds@.service
+- install -D -m 644 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
diff --git a/strata/cloudinit-support.morph b/strata/cloudinit-support.morph
index 1c752e58..92d6f03d 100644
--- a/strata/cloudinit-support.morph
+++ b/strata/cloudinit-support.morph
@@ -7,10 +7,6 @@ build-depends:
- morph: strata/python-common.morph
- morph: strata/foundation.morph
chunks:
-- name: configobj
- repo: upstream:configobj
- ref: 935a78736e4eb43b9fafae87f5e9902328673f63
- unpetrify-ref: baserock/morph
- name: python-cheetah
repo: upstream:python-cheetah
ref: 831aa6b99d9b4fb012ee644d8e80e0bc0eb6d6ed
@@ -26,5 +22,4 @@ chunks:
unpetrify-ref: baserock/morph
build-depends:
- boto
- - configobj
- python-cheetah
diff --git a/strata/core.morph b/strata/core.morph
index 263eac60..861cecfb 100644
--- a/strata/core.morph
+++ b/strata/core.morph
@@ -12,8 +12,8 @@ chunks:
- name: cmake
morph: strata/core/cmake.morph
repo: upstream:cmake
- ref: 0b3781e4c497566acaa504d4106d11c02a642501
- unpetrify-ref: v2.8.12.2
+ ref: 732d8a467ab8a295b1bbf580f865980f8a1a9b29
+ unpetrify-ref: v3.2.1
- name: gdbm
morph: strata/core/gdbm.morph
repo: upstream:gdbm-tarball
@@ -81,8 +81,8 @@ chunks:
- name: openssl-new
morph: strata/core/openssl-new.morph
repo: upstream:openssl-new
- ref: 872e681c00a713e840ebed77a4e05fa0e181f16f
- unpetrify-ref: OpenSSL_1_0_1j
+ ref: 506c1068801fdeef5cb00f2053854bf56150fb6d
+ unpetrify-ref: OpenSSL_1_0_1m
build-depends:
- perl
- name: bzip2
@@ -108,6 +108,12 @@ chunks:
- sqlite3
- ncurses
- readline
+- name: cython
+ repo: upstream:cython
+ ref: 4dd8e762fa51d01775506fbbc102c45dbcea065d
+ unpetrify-ref: 0.22
+ build-depends:
+ - cpython
- name: libtool-tarball
morph: strata/core/libtool-tarball.morph
repo: upstream:libtool-tarball
@@ -199,6 +205,7 @@ chunks:
build-depends:
- autoconf-tarball
- automake
+ - bash
- flex
- gettext-tarball
- git
@@ -239,15 +246,6 @@ chunks:
- git
- libtool-tarball
- pkg-config
-- name: nano
- morph: strata/core/nano.morph
- repo: upstream:nano-tarball
- ref: 8b74abeb02c01ddc768c465a826360cf33cec063
- unpetrify-ref: baserock/morph
- build-depends:
- - ncurses
- - automake
- - gettext-tarball
- name: bc
repo: upstream:bc-tarball
ref: 0956d119432ff6a2e85bae1fa336df799cad70b0
@@ -282,3 +280,7 @@ chunks:
- libtool-tarball
- automake
- libxml2
+- name: gnome-common
+ repo: upstream:gnome-common
+ ref: 2bffd7e1a94c5d96a1121ae2243c3615e1aa7766
+ unpetrify-ref: 3.7.4
diff --git a/strata/core/bison.morph b/strata/core/bison.morph
index 5f50fe89..7c7fffd9 100644
--- a/strata/core/bison.morph
+++ b/strata/core/bison.morph
@@ -2,4 +2,4 @@ name: bison
kind: chunk
build-system: autotools
pre-configure-commands:
-- ./bootstrap --skip-po
+- bash bootstrap --skip-po
diff --git a/strata/core/nano.morph b/strata/core/nano.morph
deleted file mode 100644
index 6a55dc2d..00000000
--- a/strata/core/nano.morph
+++ /dev/null
@@ -1,4 +0,0 @@
-name: nano
-kind: chunk
-pre-configure-commands:
-- autoreconf -ivf
diff --git a/strata/coreutils-common.morph b/strata/coreutils-common.morph
index f226f50b..430e3fe5 100644
--- a/strata/coreutils-common.morph
+++ b/strata/coreutils-common.morph
@@ -26,3 +26,10 @@ chunks:
unpetrify-ref: baserock/v3.3
build-depends:
- coreutils
+- name: tar
+ morph: strata/coreutils-common/tar.morph
+ repo: upstream:tar
+ ref: 9a58d148c26c220cb1b163c71e7a51a2e41f6b37
+ unpetrify-ref: baserock/release_1_28
+ build-depends:
+ - coreutils
diff --git a/strata/coreutils-common/tar.morph b/strata/coreutils-common/tar.morph
new file mode 100644
index 00000000..3c60a193
--- /dev/null
+++ b/strata/coreutils-common/tar.morph
@@ -0,0 +1,11 @@
+name: tar
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- bash bootstrap --skip-po
+configure-commands:
+- |
+ `# [1]` env FORCE_UNSAFE_CONFIGURE=1 \
+ ./configure --prefix="$PREFIX" \
+ `# [2]` --disable-gcc-warnings \
+ `# [3]` --bindir=/bin
diff --git a/strata/databases/memcached.morph b/strata/databases/memcached.morph
index f1cb287e..e81a8be1 100644
--- a/strata/databases/memcached.morph
+++ b/strata/databases/memcached.morph
@@ -8,7 +8,7 @@ configure-commands:
- ./configure --prefix="$PREFIX"
install-commands:
- make install
-- install -D -m 755 scripts/memcached.service "$DESTDIR$PREFIX"/lib/systemd/system/memcached.service
+- install -D -m 644 scripts/memcached.service "$DESTDIR$PREFIX"/lib/systemd/system/memcached.service
post-install-commands:
- mkdir -p "$DESTDIR"/etc/sysconfig
- |
diff --git a/strata/devtools.morph b/strata/devtools.morph
index 9a295db5..5fb93c1d 100644
--- a/strata/devtools.morph
+++ b/strata/devtools.morph
@@ -6,8 +6,14 @@ description: |
stratum should not have any dependants (please don't build-depend on this
stratum)
build-depends:
-- morph: strata/foundation.morph
+- morph: strata/core.morph
+- morph: strata/python-core.morph
chunks:
+- name: nano
+ morph: strata/devtools/nano.morph
+ repo: upstream:nano-tarball
+ ref: fb040ea36cb8e2158ccd9100600652f94ae90af1
+ unpetrify-ref: baserock/morph
- name: vim
morph: strata/devtools/vim.morph
repo: upstream:vim
@@ -26,3 +32,7 @@ chunks:
repo: upstream:less
ref: 09a405d8f652b56944c93ebf5c673cdfe5319b04
unpetrify-ref: baserock/morph
+- name: git-review
+ repo: upstream:git-review
+ ref: 79262a52301c146a6b60d09a828661a83a5f5ba7
+ unpetrify-ref: master
diff --git a/strata/devtools/nano.morph b/strata/devtools/nano.morph
new file mode 100644
index 00000000..3eeee120
--- /dev/null
+++ b/strata/devtools/nano.morph
@@ -0,0 +1,16 @@
+name: nano
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --sysconfdir=/etc
+post-install-commands:
+- |
+ cat <<EOF >> nanorc
+ set smooth
+ include /usr/share/nano/c.nanorc
+ include /usr/share/nano/patch.nanorc
+ include /usr/share/nano/python.nanorc
+ include /usr/share/nano/sh.nanorc
+ EOF
+- mkdir -p "$DESTDIR"/etc
+- install -m 644 nanorc "$DESTDIR"/etc/nanorc
diff --git a/strata/foundation.morph b/strata/foundation.morph
index 7bcfc77d..cc58de5a 100644
--- a/strata/foundation.morph
+++ b/strata/foundation.morph
@@ -4,6 +4,10 @@ description: Basic userland runtime system
build-depends:
- morph: strata/coreutils-common.morph
chunks:
+- name: bash-completion
+ repo: upstream:bash-completion
+ ref: 3085c7e12179817a02a611016606391295c69942
+ unpetrify-ref: 2.1
- name: attr
morph: strata/foundation/attr.morph
repo: upstream:attr
@@ -43,19 +47,21 @@ chunks:
unpetrify-ref: baserock/morph
- name: glib
repo: upstream:glib
- ref: 4125415e7f4d1213fc7122beac0d91af08e37b28
+ ref: 966ffb16f6bd54cb3d928a55d00d0eda73592094
+ unpetrify-ref: 2.44.0
build-depends:
- libffi
- name: gobject-introspection
repo: upstream:gobject-introspection
- ref: a543d8563f8e9ca059afb7218c63496f577cd0fc
+ ref: c0243e116c5e261c262dded9f4d7726a770c5a19
+ unpetrify-ref: GOBJECT_INTROSPECTION_1_44_0
build-depends:
- glib
- name: dbus-pre
morph: strata/foundation/dbus-pre.morph
repo: upstream:dbus
- ref: ff01faa12daa3481d6a3d2936929c5a2a1fe6fb5
- unpetrify-ref: baserock/genivi/dbus-1.8.8
+ ref: 3c055572ced8f63eb9756caa4b1a19225f22e6ff
+ unpetrify-ref: baserock/dbus-1.8.16-1-g3c05557/genivi/J-1.0
build-depends:
- glib
- name: libgpg-error
@@ -74,8 +80,8 @@ chunks:
- name: systemd
morph: strata/foundation/systemd.morph
repo: upstream:systemd
- ref: a88abde72169ddc2df77df3fa5bed30725022253
- unpetrify-ref: v219
+ ref: d736e4f3e76daca4ab1b1fc444737e5ee20a27cd
+ unpetrify-ref: baserock/v219-314-gd736e4f-network_fixes
build-depends:
- dbus-pre
- gobject-introspection
@@ -130,8 +136,8 @@ chunks:
- name: dbus
morph: strata/foundation/dbus.morph
repo: upstream:dbus
- ref: ff01faa12daa3481d6a3d2936929c5a2a1fe6fb5
- unpetrify-ref: baserock/genivi/dbus-1.8.8
+ ref: 3c055572ced8f63eb9756caa4b1a19225f22e6ff
+ unpetrify-ref: baserock/dbus-1.8.16-1-g3c05557/genivi/J-1.0
build-depends:
- glib
- systemd
diff --git a/strata/foundation/acl.morph b/strata/foundation/acl.morph
index 4489f5d5..c742d8ae 100644
--- a/strata/foundation/acl.morph
+++ b/strata/foundation/acl.morph
@@ -1,4 +1,6 @@
name: acl
kind: chunk
+build-commands:
+- make
install-commands:
- make DESTDIR="$DESTDIR" install-dev
diff --git a/strata/foundation/kmod.morph b/strata/foundation/kmod.morph
index 12ac8692..2f80dfc3 100644
--- a/strata/foundation/kmod.morph
+++ b/strata/foundation/kmod.morph
@@ -5,15 +5,23 @@ configure-commands:
- sed -i -e'/SUBDIRS/{s/\S*doc\S*//;s/\S*man\S*//}' Makefile.am
- sed -i -e'/AC_CONFIG_FILES(\[/,/])/{/docs/d}' configure.ac
- autoreconf -fiv
-- ./configure --prefix=/usr --bindir=/bin --libdir=/lib --sysconfdir=/etc --without-xz
- --with-zlib --disable-manpages
+- |
+ ./configure --prefix="$PREFIX" --bindir="$PREFIX"/bin \
+ --libdir="$PREFIX"/lib --sysconfdir=/etc \
+ --without-xz --with-zlib \
+ --disable-manpages --enable-python
build-commands:
- make
install-commands:
-- make DESTDIR="$DESTDIR" pkgconfigdir=/usr/lib/pkgconfig install
-- ln -s kmod "$DESTDIR"/bin/modprobe
-- ln -s kmod "$DESTDIR"/bin/lsmod
-- ln -s kmod "$DESTDIR"/bin/rmmod
-- ln -s kmod "$DESTDIR"/bin/insmod
-- ln -s kmod "$DESTDIR"/bin/modinfo
-- ln -s kmod "$DESTDIR"/bin/depmod
+- make DESTDIR="$DESTDIR" pkgconfigdir="$PREFIX"/lib/pkgconfig install
+- |
+ if [ -h /sbin ]; then
+ for app in modprobe lsmod rmmod insmod modinfo depmod; do
+ ln -sf kmod "$DESTDIR$PREFIX/bin/$app"
+ done
+ else
+ install -d "$DESTDIR"/sbin
+ for app in modprobe lsmod rmmod insmod modinfo depmod; do
+ ln -sf ../"$PREFIX"/bin/kmod "$DESTDIR/sbin/$app"
+ done
+ fi
diff --git a/strata/foundation/rsync.morph b/strata/foundation/rsync.morph
index fb10f94e..54337412 100644
--- a/strata/foundation/rsync.morph
+++ b/strata/foundation/rsync.morph
@@ -6,4 +6,4 @@ build-commands:
- make
install-commands:
- make install
-- install -D -m 755 packaging/systemd/rsync.service "$DESTDIR$PREFIX"/lib/systemd/system/rsync.service
+- install -D -m 644 packaging/systemd/rsync.service "$DESTDIR$PREFIX"/lib/systemd/system/rsync.service
diff --git a/strata/foundation/systemd.morph b/strata/foundation/systemd.morph
index 81db9acd..c53cef39 100644
--- a/strata/foundation/systemd.morph
+++ b/strata/foundation/systemd.morph
@@ -3,9 +3,11 @@ kind: chunk
build-system: autotools
configure-commands:
- sh autogen.sh
-- ./configure --prefix="$PREFIX" --enable-xz --disable-manpages --sysconfdir=/etc
- --localstatedir=/var --libdir="$PREFIX/lib" --libexecdir="$PREFIX/libexec" --with-rootprefix=
- --with-rootlibdir=/lib
+- |
+ ./configure --prefix="$PREFIX" --enable-xz --disable-manpages \
+ --disable-tests --sysconfdir=/etc --localstatedir=/var \
+ --libdir="$PREFIX/lib" --libexecdir="$PREFIX/libexec" \
+ --with-rootprefix= --with-rootlibdir=/lib
install-commands:
- make DESTDIR="$DESTDIR" install
- mkdir -p "$DESTDIR"/sbin
diff --git a/strata/gtk-deps.morph b/strata/gtk-deps.morph
index 0493245f..06110cdc 100644
--- a/strata/gtk-deps.morph
+++ b/strata/gtk-deps.morph
@@ -15,10 +15,6 @@ chunks:
repo: upstream:shared-mime-info
ref: c136fc2578aa8f7c0e098008da18d324033eb991
unpetrify-ref: Release-1-4
-- name: gnome-common
- repo: upstream:gnome-common
- ref: d213283fcb5228d05eb2c796579f18240e8467e8
- unpetrify-ref: 3.12.0
- name: gdk-pixbuf
morph: strata/gtk-deps/gdk-pixbuf.morph
repo: upstream:gdk-pixbuf
@@ -26,10 +22,8 @@ chunks:
unpetrify-ref: 2.30.8
- name: atk
repo: upstream:atk
- ref: 2fb9411c3f32adb7ee421b59e36d2e0aa2f30253
- unpetrify-ref: ATK_2_15_4
- build-depends:
- - gnome-common
+ ref: 3f9e43b94364053fd16eb53391667d161d0dae12
+ unpetrify-ref: ATK_2_16_0
- name: at-spi2-core
repo: upstream:at-spi2-core
ref: 96c2842088008670e72739ea7921d654487a57fb
diff --git a/strata/gtk2.morph b/strata/gtk2.morph
index 4a19606a..dd2f30fa 100644
--- a/strata/gtk2.morph
+++ b/strata/gtk2.morph
@@ -8,4 +8,5 @@ chunks:
- name: gtk+
morph: strata/gtk2/gtk+.morph
repo: upstream:gtk+
- ref: fbf38d16bcc26630f0f721d266509f5bc292f606
+ ref: e6333a1a374591fef456f7fe73942226b5b8b388
+ unpetrify-ref: 2.24.27
diff --git a/strata/gtk3.morph b/strata/gtk3.morph
index 826555a0..f03417a2 100644
--- a/strata/gtk3.morph
+++ b/strata/gtk3.morph
@@ -12,7 +12,7 @@ chunks:
- name: gtk3
morph: strata/gtk3/gtk3.morph
repo: upstream:gtk+
- ref: da163469f9d344190f69bfc163517154af0e2dab
- unpetrify-ref: 3.15.4
+ ref: a816ccd4968f1e221b92bfd1e2b2dc27703d6db5
+ unpetrify-ref: 3.16.0
build-depends:
- libepoxy
diff --git a/strata/initramfs-utils.morph b/strata/initramfs-utils.morph
index 35bc78cd..6df77c96 100644
--- a/strata/initramfs-utils.morph
+++ b/strata/initramfs-utils.morph
@@ -7,5 +7,5 @@ chunks:
- name: initramfs-scripts
morph: strata/initramfs-utils/initramfs-scripts.morph
repo: baserock:baserock/initramfs-scripts
- ref: a97dea93d28ba272613029e46a8a0b1f699729d8
+ ref: 062c5d3aece2e308aa7fc03acab1b3b6dd4270b2
unpetrify-ref: master
diff --git a/strata/installer-utils.morph b/strata/installer-utils.morph
index fe6c65fe..ddc714b6 100644
--- a/strata/installer-utils.morph
+++ b/strata/installer-utils.morph
@@ -7,5 +7,5 @@ chunks:
- name: installer-scripts
morph: strata/installer-utils/installer-scripts.morph
repo: baserock:baserock/installer-scripts
- ref: master
+ ref: a1629ded9eb499b55b547cd8caa0ade8233b32f4
unpetrify-ref: master
diff --git a/strata/mesa-common.morph b/strata/mesa-common.morph
index 8967446c..28c0cef3 100644
--- a/strata/mesa-common.morph
+++ b/strata/mesa-common.morph
@@ -8,5 +8,5 @@ chunks:
- name: mesa
morph: strata/mesa-common/mesa.morph
repo: upstream:mesa
- ref: 1a9cc5f50db5d27530a3449743b43aac389d781f
- unpetrify-ref: mesa-10.3.3
+ ref: f7d157a4f011fd5ace94f55c8674be4b12d86f95
+ unpetrify-ref: baserock/mesa-10.3.7-2-gf7d157a/fstat_fix
diff --git a/strata/morph-utils.morph b/strata/morph-utils.morph
index 6aeafb1b..8566d428 100644
--- a/strata/morph-utils.morph
+++ b/strata/morph-utils.morph
@@ -4,6 +4,8 @@ build-depends:
- morph: strata/core.morph
- morph: strata/python-cliapp.morph
- morph: strata/python-wsgi.morph
+- morph: strata/python-core.morph
+- morph: strata/ostree-core.morph
chunks:
- name: python-ttystatus
morph: strata/morph-utils/python-ttystatus.morph
@@ -36,6 +38,11 @@ chunks:
repo: upstream:python-packages/pylru
ref: 221dd259f5c34562c835611d1cf62384b9019da4
unpetrify-ref: master
+- name: pygobject
+ morph: strata/virtualization/pygobject.morph
+ repo: upstream:pygobject
+ ref: 276341d7ddab180020c31e6837bd28fd25784de0
+ unpetrify-ref: baserock/morph
- name: morph
repo: baserock:baserock/morph
ref: 60aedc8d97679159678e7ebad2f2d81768e9736a
@@ -43,4 +50,5 @@ chunks:
build-depends:
- cmdtest
- pyfilesystem
+ - pygobject
- pylru
diff --git a/strata/ntpd.morph b/strata/ntpd.morph
index e2ccc84a..969e3d85 100644
--- a/strata/ntpd.morph
+++ b/strata/ntpd.morph
@@ -5,5 +5,5 @@ build-depends:
chunks:
- name: ntpd
repo: upstream:ntp
- ref: d4b7cd9723cce9561fa15f74b90b85a3a61b5ef8
- unpetrify-ref: ntp-dev-4.2.7p482
+ ref: b2ccf8dd31d1457ae9f0ae270054117179220370
+ unpetrify-ref: ntp-4.2.8p2
diff --git a/strata/ostree-core.morph b/strata/ostree-core.morph
new file mode 100644
index 00000000..ad60bd02
--- /dev/null
+++ b/strata/ostree-core.morph
@@ -0,0 +1,22 @@
+name: ostree-core
+kind: stratum
+build-depends:
+- morph: strata/tools.morph
+- morph: strata/core.morph
+chunks:
+- name: libgsystem
+ repo: upstream:libgsystem
+ ref: 8231b8ad4a4ee35e4b11fae5f6e7cddabf1c51ae
+ unpetrify-ref: master
+- name: libsoup
+ morph: strata/virtualization/libsoup.morph
+ repo: upstream:libsoup
+ ref: ce764489e358bad6b49418f5c8bc7b25a4b1815e
+ unpetrify-ref: baserock/morph
+- name: ostree
+ repo: upstream:ostree
+ ref: c9704e9802dfeda9b5a138535c59e98df3dd7196
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - libgsystem
+ - libsoup
diff --git a/strata/patch-manager-gerrit.morph b/strata/patch-manager-gerrit.morph
deleted file mode 100644
index 60e6d6cd..00000000
--- a/strata/patch-manager-gerrit.morph
+++ /dev/null
@@ -1,10 +0,0 @@
-name: patch-manager-gerrit
-kind: stratum
-build-depends:
-- morph: strata/tools.morph
-chunks:
-- name: gerrit-installation-binaries
- morph: strata/patch-manager-gerrit/gerrit-installation-binaries.morph
- repo: github:franred/gerrit-installation-binaries
- ref: ef262c635890f19eaff8ef6bbd831ee9b0d8693e
- unpetrify-ref: master
diff --git a/strata/patch-manager-gerrit/gerrit-installation-binaries.morph b/strata/patch-manager-gerrit/gerrit-installation-binaries.morph
deleted file mode 100644
index c604112e..00000000
--- a/strata/patch-manager-gerrit/gerrit-installation-binaries.morph
+++ /dev/null
@@ -1,27 +0,0 @@
-name: gerrit-installation-binaries
-kind: chunk
-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
-- mkdir -p "$DESTDIR$PREFIX"/share/gerrit
-- cp gerrit-2.9.war "$DESTDIR$PREFIX"/share/gerrit
-- 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/
-system-integration:
- gerrit-installation-binaries-misc:
- 01-adduser:
- - adduser -D -h /home/gerrit2 -g 'Gerrit Administrator' -s /bin/sh gerrit2
- 02-install-gerrit:
- - |
- install -D /usr/share/gerrit/gerrit-2.9.war /home/gerrit2/gerrit/gerrit-2.9.war \
- -o gerrit2 -g gerrit2 -m 644
- chown gerrit2 /home/gerrit2/gerrit
- sudo LD_LIBRARY_PATH=/usr/jdk1.8.0_20/jre/lib/amd64/jli \
- -u gerrit2 java -jar /home/gerrit2/gerrit/gerrit-2.9.war \
- init --batch -d /home/gerrit2/gerrit/.gerrit_controller \
- --no-auto-start
- sed -i "s|canonicalWebUrl =.*|canonicalWebUrl = http://localhost:8080|g" \
- /home/gerrit2/gerrit/.gerrit_controller/etc/gerrit.config
diff --git a/strata/python-cliapp.morph b/strata/python-cliapp.morph
index ff6fda3e..495a6a2e 100644
--- a/strata/python-cliapp.morph
+++ b/strata/python-cliapp.morph
@@ -6,7 +6,7 @@ build-depends:
- morph: strata/python-core.morph
chunks:
- name: python-coveragepy
- morph: strata/morph-utils/python-coveragepy.morph
+ morph: strata/python-cliapp/python-coveragepy.morph
repo: upstream:python-coveragepy
ref: 77d2e3bfd8fb325092aaed37ba1378054d182d19
unpetrify-ref: baserock/morph
diff --git a/strata/python-common.morph b/strata/python-common.morph
index 5879febd..96d65330 100644
--- a/strata/python-common.morph
+++ b/strata/python-common.morph
@@ -44,3 +44,7 @@ chunks:
repo: upstream:python-prettytable
ref: 7a48f1e84049577370cf28632a75d2fd01e4142d
unpetrify-ref: master
+- name: configobj
+ repo: upstream:configobj-git
+ ref: 9d2aab01c77dce600b296ba9da1163cc0bbc14e0
+ unpetrify-ref: v5.0.6
diff --git a/strata/python-core.morph b/strata/python-core.morph
index 481f11bf..f7ba06c1 100644
--- a/strata/python-core.morph
+++ b/strata/python-core.morph
@@ -36,13 +36,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends:
- python-setuptools
-- name: cython
- repo: upstream:cython
- ref: 4dd8e762fa51d01775506fbbc102c45dbcea065d
- unpetrify-ref: 0.22
- name: python-lxml
repo: upstream:python-lxml
ref: 14505bc62f5f1fc9fb0ff007955f3e67ab4562bb
unpetrify-ref: lxml-3.4.0
- build-depends:
- - cython
diff --git a/strata/python-tools.morph b/strata/python-tools.morph
index ee138a61..3b254df9 100644
--- a/strata/python-tools.morph
+++ b/strata/python-tools.morph
@@ -3,9 +3,21 @@ kind: stratum
description: 'A stratum for non-essential python tools: useful python tools that we
don''t want to include in core.'
build-depends:
-- morph: strata/core.morph
+- morph: strata/python-core.morph
chunks:
- name: virtualenv
repo: upstream:python-packages/virtualenv
ref: 9205ff46a67130e8835f14bb4f802fd59e7dcf2c
unpetrify-ref: 12.0.5
+- name: astroid
+ repo: upstream:python-packages/astroid
+ ref: 194dc114a33b80b4bfbbeb73f36712848f696025
+ unpetrify-ref: astroid-1.3.5
+- name: logilab-common
+ repo: upstream:python-packages/logilab-common
+ ref: d1d8f793af6d015d885b9ea67b5741d5a093e2f4
+ unpetrify-ref: logilab-common-version-0.62.0
+- name: pylint
+ repo: upstream:python-packages/pylint
+ ref: ba998d7a4e5fce0ea3a3e701ff446bbe4ca406b5
+ unpetrify-ref: pylint-1.4.2
diff --git a/strata/qt5-tools-qtmultimedia.morph b/strata/qt5-tools-qtmultimedia.morph
index 92bfcde9..d30acdcc 100644
--- a/strata/qt5-tools-qtmultimedia.morph
+++ b/strata/qt5-tools-qtmultimedia.morph
@@ -8,5 +8,5 @@ chunks:
- name: qtmultimedia
morph: strata/qt5-tools/qtmultimedia-gstreamer.morph
repo: upstream:qt5/qtmultimedia
- ref: b3c2dca466042cf362ffb8d803bf05c9b8a0f95f
- unpetrify-ref: v5.3.2
+ ref: 8b1ee1724071cc4bbe8cefe195e375ef583d9d7f
+ unpetrify-ref: v5.4.0
diff --git a/strata/qt5-tools-qtwebkit.morph b/strata/qt5-tools-qtwebkit.morph
index 3e350d1a..cd148001 100644
--- a/strata/qt5-tools-qtwebkit.morph
+++ b/strata/qt5-tools-qtwebkit.morph
@@ -9,26 +9,26 @@ chunks:
- name: qtwebkit
morph: strata/qt5-tools/qtwebkit.morph
repo: upstream:qt5/qtwebkit
- ref: 13f80d34ae84c3231118c8013beee55badab8929
- unpetrify-ref: v5.3.2
+ ref: f9966f351678351ee6b971d7b6b25a4987407e46
+ unpetrify-ref: '5.4'
- name: qtwebkit-examples
morph: strata/qt5-tools/qtwebkit-examples.morph
repo: upstream:qt5/qtwebkit-examples
- ref: bce5056b9e16a943357e362455a46685d3f22093
- unpetrify-ref: v5.3.2
+ ref: 70bd4d5253f134bf48a30544030bb832f1eba8b3
+ unpetrify-ref: v5.4.0
build-depends:
- qtwebkit
- name: qttools
morph: strata/qt5-tools/qttools.morph
repo: upstream:qt5/qttools
- ref: 8c79a098b8b7da4832ebca1884ee833a2c2078a7
- unpetrify-ref: v5.3.2
+ ref: 5060a0ec7dcb26826b19eefbd6063efcbde6101f
+ unpetrify-ref: v5.4.0
build-depends:
- qtwebkit
- name: qttranslations
morph: strata/qt5-tools/qttranslations.morph
repo: upstream:qt5/qttranslations
- ref: cf4d6f7e73bb410ed0aa3d64dffb2b6b242cdfe0
- unpetrify-ref: v5.3.2
+ ref: 3aad4ab4718d4bf952275a07e406e93eb6a22eed
+ unpetrify-ref: v5.4.0
build-depends:
- qttools
diff --git a/strata/qt5-tools.morph b/strata/qt5-tools.morph
index f97aa206..7fb8403e 100644
--- a/strata/qt5-tools.morph
+++ b/strata/qt5-tools.morph
@@ -13,37 +13,37 @@ chunks:
- name: qtbase
morph: strata/qt5-tools/qtbase.morph
repo: upstream:qt5/qtbase
- ref: 05670f586ffe05425b7542a27fcca31bddf231aa
- unpetrify-ref: v5.3.2
+ ref: 5367fa356233da4c0f28172a8f817791525f5457
+ unpetrify-ref: v5.4.0
build-depends:
- icu
- name: qtsvg
morph: strata/qt5-tools/qtsvg.morph
repo: upstream:qt5/qtsvg
- ref: 35a2f0880831d38c60d2b4820dac808f48f6f3a8
- unpetrify-ref: v5.3.2
+ ref: eece19e62638409b479cabcbb985978d61d84307
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- name: qtscript
morph: strata/qt5-tools/qtscript.morph
repo: upstream:qt5/qtscript
- ref: 71f6dee8791c95fd862ca3651d7f4b7d6b9f440e
- unpetrify-ref: v5.3.2
+ ref: 1371263991489f11774250aa609ace0b12415186
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- name: qtdeclarative
morph: strata/qt5-tools/qtdeclarative.morph
repo: upstream:qt5/qtdeclarative
- ref: a67aa6abc6a406b00ef58a7e07fd39012bfa3eb1
- unpetrify-ref: v5.3.2
+ ref: fdf004803d036583f58ceb832803cfe39c6ba6d8
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- qtscript
- name: qtquick1
morph: strata/qt5-tools/qtquick1.morph
repo: upstream:qt5/qtquick1
- ref: 8e7fa2b5aa2e2e4371c4b73926d0e6ad2ebdbd96
- unpetrify-ref: v5.3.2
+ ref: 1f92491bd95abc642dcd882846884a5271c8ba16
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- qtscript
@@ -59,79 +59,79 @@ chunks:
- name: qtquickcontrols
morph: strata/qt5-tools/qtquickcontrols.morph
repo: upstream:qt5/qtquickcontrols
- ref: bc91574cca8b6f24968ab4e1cc11fe1fd10f3061
- unpetrify-ref: v5.3.2
+ ref: ea099e341b5f8845be56f81b22e44a8b6cb227a2
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- qtdeclarative
- name: qtsensors
morph: strata/qt5-tools/qtsensors.morph
repo: upstream:qt5/qtsensors
- ref: fd3e65ef5ab6eb8e4b5bdad380d1f6862799856c
- unpetrify-ref: v5.3.2
+ ref: 10702cfa8ce803e0911306284c246a879d865f1d
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- name: qtserialport
morph: strata/qt5-tools/qtserialport.morph
repo: upstream:qt5/qtserialport
- ref: 286d64c202f461cb8ff5a4cc4c2320af8195b8f0
- unpetrify-ref: v5.3.2
+ ref: 9aef6c3c8ff97b7998bdd813f7c7f3d845b2a53f
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- name: qtx11extras
morph: strata/qt5-tools/qtx11extras.morph
repo: upstream:qt5/qtx11extras
- ref: 2d84caf5ef1b5dace0d678df4581db3c955be6ee
- unpetrify-ref: v5.3.2
+ ref: a21bbb45019e1bbc7b583811ff2e84757082a01a
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- name: qtxmlpatterns
morph: strata/qt5-tools/qtxmlpatterns.morph
repo: upstream:qt5/qtxmlpatterns
- ref: 78c2367e22d87b529610117f5b6abef6934abdcf
- unpetrify-ref: v5.3.2
+ ref: 2e8b90b33d1d8dce4acdb6a116a227f2a5d3e044
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- name: qtdoc
morph: strata/qt5-tools/qtdoc.morph
repo: upstream:qt5/qtdoc
- ref: 688019893d2cbd9ccdc4d75c550bca4530a46ee4
- unpetrify-ref: v5.3.2
+ ref: 251f5eaa2dae740c0d0217893038a3f5bab2bca3
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- name: qtgraphicaleffects
morph: strata/qt5-tools/qtgraphicaleffects.morph
repo: upstream:qt5/qtgraphicaleffects
- ref: 82abf6975b6737259ee656564e5ec7f8ad1d0508
- unpetrify-ref: v5.3.2
+ ref: 9e9600d92224084f7942a6bd83b926c630a29747
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- qtdeclarative
- name: qtimageformats
morph: strata/qt5-tools/qtimageformats.morph
repo: upstream:qt5/qtimageformats
- ref: 85e621e3ecf449bb0587bd4da97ca66179b24f31
- unpetrify-ref: v5.3.2
+ ref: fdc7026fb7d098abbf135fd5e7d2cf00884f9235
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- name: qtconnectivity
morph: strata/qt5-tools/qtconnectivity.morph
repo: upstream:qt5/qtconnectivity
- ref: 8a33a9b43dcc5e7f9a77237a660a3759286e6b86
- unpetrify-ref: v5.3.2
+ ref: 5d405d07fb51502d0bfab08f4d74aa5eba365bab
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- name: qtlocation
morph: strata/qt5-tools/qtlocation.morph
repo: upstream:qt5/qtlocation
- ref: a36d9e67e3b8168cb4d1eb76eda96ebb8242fd20
- unpetrify-ref: v5.3.2
+ ref: 7791dd790d2b15751b703db70a5fceb31d3fd99f
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
- name: qtwebsockets
morph: strata/qt5-tools/qtwebsockets.morph
repo: upstream:qt5/qtwebsockets
- ref: 00f77bdc5beb62e980216cfee906ab7aa1d1c4f7
- unpetrify-ref: v5.3.2
+ ref: d1c9ede19976767393fe5db2f396c0c18d6fbced
+ unpetrify-ref: v5.4.0
build-depends:
- qtbase
diff --git a/strata/qt5-tools/icu.morph b/strata/qt5-tools/icu.morph
index 37dec07e..f9532f04 100644
--- a/strata/qt5-tools/icu.morph
+++ b/strata/qt5-tools/icu.morph
@@ -1,6 +1,7 @@
name: icu
kind: chunk
configure-commands:
+- sed -e 's/LDFLAGSICUDT/#LDFLAGSICUDT/' -i source/config/mh-linux
- cd source; ./runConfigureICU Linux --prefix=/usr
build-commands:
- cd source; unset TARGET ; make
diff --git a/strata/swift.morph b/strata/swift.morph
new file mode 100644
index 00000000..dbeec87e
--- /dev/null
+++ b/strata/swift.morph
@@ -0,0 +1,44 @@
+name: swift
+kind: stratum
+description: Distributed object storage
+build-depends:
+- morph: strata/openstack-common.morph
+chunks:
+- name: dnspython
+ repo: upstream:python-packages/dnspython
+ ref: e1369c62d14f82b80ef11197a490ace5d43bb3f3
+ unpetrify-ref: v1.12.0
+- name: greenlet
+ repo: upstream:python-packages/greenlet
+ ref: 42b65a7b67dfabd180625155cd4fcd8e51917fe2
+ unpetrify-ref: 0.4.5
+- name: eventlet
+ repo: upstream:python-packages/eventlet
+ ref: 8d2474197de4827a7bca9c33e71a82573b6fc721
+ unpetrify-ref: v0.15.2
+ build-depends:
+ - greenlet
+- name: netifaces
+ repo: upstream:python-packages/netifaces
+ ref: 885b200ba717df87f6e8044ec8c66c677c949bcb
+ unpetrify-ref: release_0_10_4
+- name: pastedeploy
+ repo: upstream:python-packages/pastedeploy
+ ref: 5ad87be617c2cc1dd31625688172e964db2756dc
+ unpetrify-ref: 1.5.2
+- name: xattr
+ morph: strata/swift/xattr.morph
+ repo: upstream:python-packages/xattr
+ ref: dd10d44e3eb9a1d2303c1f7d5126c099d56e97fc
+ unpetrify-ref: v0.7.6
+- name: swift
+ repo: upstream:openstack/swift
+ ref: 2e8261a4dc0d0af0c4a46478b81e167bcf02220b
+ unpetrify-ref: 2.2.0
+ build-depends:
+ - dnspython
+ - eventlet
+ - greenlet
+ - netifaces
+ - pastedeploy
+ - xattr
diff --git a/strata/swift/xattr.morph b/strata/swift/xattr.morph
new file mode 100644
index 00000000..65f47dae
--- /dev/null
+++ b/strata/swift/xattr.morph
@@ -0,0 +1,8 @@
+name: xattr
+kind: chunk
+configure-commands:
+- cp -r /usr/lib/python2.7/site-packages/cffi .
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/strata/tools.morph b/strata/tools.morph
index 2bbf7bfa..e6449631 100644
--- a/strata/tools.morph
+++ b/strata/tools.morph
@@ -38,8 +38,8 @@ chunks:
unpetrify-ref: baserock/bootstrap
- name: vala
repo: upstream:vala
- ref: 682eba5880fbd76402dec10118883da913a7b255
- unpetrify-ref: 0.26.2
+ ref: 5f6ebe007050be12bdc4aa7c902ae4059f28874a
+ unpetrify-ref: 0.28.0
build-depends:
- vala-bootstrap
- name: u-boot
@@ -62,10 +62,10 @@ chunks:
ref: a4769dc7999b53260325fb89945bef85714fb338
unpetrify-ref: baserock/morph
- name: procps-ng
+ morph: strata/tools/procps-ng.morph
repo: upstream:procps-ng
ref: 85fff468fa263cdd2ff1c0144579527c32333695
unpetrify-ref: v3.3.9
- prefix: /
- name: ipmitool
morph: strata/tools/ipmitool.morph
repo: upstream:ipmitool
@@ -73,3 +73,20 @@ chunks:
unpetrify-ref: IPMITOOL_1_8_14
build-depends:
- file
+- name: libpcap
+ morph: strata/tools/libpcap.morph
+ repo: upstream:libpcap
+ ref: 098a643f817e8a9929c70dfba157e4d399398375
+ unpetrify-ref: libpcap-1.7
+- name: tcpdump
+ morph: strata/tools/tcpdump.morph
+ repo: upstream:tcpdump
+ ref: 8aa5edea1b8846740514dee4158b6c707d38fc13
+ unpetrify-ref: tcpdump-4.7
+ build-depends:
+ - libpcap
+- name: parted
+ morph: strata/tools/parted.morph
+ repo: upstream:parted
+ ref: 0477d5ac971681b36cb2d2a97d1de8afd2a696d3
+ unpetrify-ref: baserock/v3.2
diff --git a/strata/tools/libpcap.morph b/strata/tools/libpcap.morph
new file mode 100644
index 00000000..7c5ee932
--- /dev/null
+++ b/strata/tools/libpcap.morph
@@ -0,0 +1,3 @@
+name: libpcap
+kind: chunk
+build-system: autotools
diff --git a/strata/tools/lsof.morph b/strata/tools/lsof.morph
index 5fabcd64..38183ae6 100644
--- a/strata/tools/lsof.morph
+++ b/strata/tools/lsof.morph
@@ -1,7 +1,7 @@
name: lsof
kind: chunk
configure-commands:
-- tar xf lsof_*_src.tar
+- tar xf lsof_*_src.tar --no-same-owner
- cd lsof_*_src/ && ./Configure -n linux
build-commands:
- cd lsof_*_src/ && make
diff --git a/strata/tools/parted.morph b/strata/tools/parted.morph
new file mode 100644
index 00000000..65939a90
--- /dev/null
+++ b/strata/tools/parted.morph
@@ -0,0 +1,9 @@
+name: parted
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./bootstrap --skip-po --no-git --gnulib-srcdir=gnulib
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-device-mapper
+build-commands:
+- make WERROR_CFLAGS=""
diff --git a/strata/tools/procps-ng.morph b/strata/tools/procps-ng.morph
new file mode 100644
index 00000000..690655b7
--- /dev/null
+++ b/strata/tools/procps-ng.morph
@@ -0,0 +1,16 @@
+name: procps-ng
+kind: chunk
+description: |
+ Process management tools.
+
+ procps-ng is a fork of the original procps project.
+build-system: autotools
+configure-commands:
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --prefix="$PREFIX" --exec-prefix=/
+post-install-commands:
+- |
+ usr_binaries="free pidof pmap slabtop top vmstat watch pgrep pkill pwdx tload uptime w"
+ for file in $usr_binaries; do
+ ln -sf "$PREFIX"/bin/$file "$DESTDIR"/bin/$file
+ done
diff --git a/strata/tools/tcpdump.morph b/strata/tools/tcpdump.morph
new file mode 100644
index 00000000..7a974dab
--- /dev/null
+++ b/strata/tools/tcpdump.morph
@@ -0,0 +1,3 @@
+name: tcpdump
+kind: chunk
+build-system: autotools
diff --git a/strata/virtualization.morph b/strata/virtualization.morph
index ef163561..23f814a7 100644
--- a/strata/virtualization.morph
+++ b/strata/virtualization.morph
@@ -45,6 +45,11 @@ chunks:
repo: upstream:dmidecode
ref: 47a0aa5d6696a83922ee70279b7253a4e55947d5
unpetrify-ref: master
+- name: ebtables
+ morph: strata/virtualization/ebtables.morph
+ repo: upstream:ebtables
+ ref: f4bdc80ae8c1a79b4ab5dcb8431ad85aea618d66
+ unpetrify-ref: master
- name: libvirt
morph: strata/virtualization/libvirt.morph
repo: upstream:libvirt
@@ -57,6 +62,7 @@ chunks:
- xml-catalog
- yajl
- dmidecode
+ - ebtables
- name: pycurl
repo: upstream:pycurl
ref: 5ca370827d88817eeca3c56cbb37e4ddccc16c6e
@@ -107,11 +113,6 @@ chunks:
build-depends:
- libvirt-python
- libosinfo
-- name: ebtables
- morph: strata/virtualization/ebtables.morph
- repo: upstream:ebtables
- ref: f4bdc80ae8c1a79b4ab5dcb8431ad85aea618d66
- unpetrify-ref: master
- name: openvswitch
morph: strata/virtualization/openvswitch.morph
repo: upstream:openvswitch
diff --git a/strata/virtualization/openvswitch.morph b/strata/virtualization/openvswitch.morph
index 847c69ff..06480827 100644
--- a/strata/virtualization/openvswitch.morph
+++ b/strata/virtualization/openvswitch.morph
@@ -1,10 +1,11 @@
name: openvswitch
kind: chunk
+build-system: autotools
pre-configure-commands:
- ./boot.sh
configure-commands:
-- ./configure --enable-ssl
-build-commands:
-- make
-install-commands:
-- make install DESTDIR="$DESTDIR" prefix="$PREFIX"
+- |
+ ./configure --prefix="$PREFIX" \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --enable-ssl
diff --git a/strata/webtools.morph b/strata/webtools.morph
index 1a460705..17a1abda 100644
--- a/strata/webtools.morph
+++ b/strata/webtools.morph
@@ -14,11 +14,6 @@ chunks:
repo: upstream:libgit2
ref: 4b0a36e881506a02b43a4ae3c19c93c919b36eeb
unpetrify-ref: master
-- name: tar
- morph: strata/webtools/tar.morph
- repo: upstream:tar
- ref: 9a58d148c26c220cb1b163c71e7a51a2e41f6b37
- unpetrify-ref: baserock/release_1_28
- name: nginx
morph: strata/webtools/nginx.morph
repo: upstream:nginx
diff --git a/strata/webtools/tar.morph b/strata/webtools/tar.morph
deleted file mode 100644
index 9219abeb..00000000
--- a/strata/webtools/tar.morph
+++ /dev/null
@@ -1,10 +0,0 @@
-name: tar
-kind: chunk
-configure-commands:
-- bash bootstrap --skip-po
-- FORCE_UNSAFE_CONFIGURE=1 ./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin
- --disable-nls --disable-gcc-warnings
-build-commands:
-- make
-install-commands:
-- make DESTDIR="$DESTDIR" install
diff --git a/strata/x-generic.morph b/strata/x-generic.morph
index 665d4c5f..a8a0660a 100644
--- a/strata/x-generic.morph
+++ b/strata/x-generic.morph
@@ -34,8 +34,8 @@ chunks:
- name: xserver
morph: strata/x-generic/xserver.morph
repo: upstream:xserver
- ref: 4393c7f1ba6140a02232f04fbb434a80d663a99d
- unpetrify-ref: xorg-server-1.16.2
+ ref: 3b0d1ba2266d2780bfc111bab74885b90458eca4
+ unpetrify-ref: xorg-server-1.17.1
build-depends:
- libepoxy
- xorg-font-util
diff --git a/swift-build-rings.yml b/swift-build-rings.yml
new file mode 100644
index 00000000..1ffe9c37
--- /dev/null
+++ b/swift-build-rings.yml
@@ -0,0 +1,34 @@
+---
+- hosts: localhost
+ vars:
+ - rings:
+ - { name: account, port: 6002 }
+ - { name: container, port: 6001 }
+ - { name: object, port: 6000 }
+ remote_user: root
+ tasks:
+ - file: path={{ ansible_env.ROOT }}/etc/swift owner=root group=root state=directory
+
+ - name: Create ring
+ shell: swift-ring-builder {{ item.name }}.builder create {{ ansible_env.SWIFT_PART_POWER }}
+ {{ ansible_env.SWIFT_REPLICAS }} {{ ansible_env.SWIFT_MIN_PART_HOURS }}
+ with_items: rings
+
+ - name: Add each storage node to the ring
+ shell: swift-ring-builder {{ item[0].name }}.builder
+ add r1z1-{{ item[1].ip }}:{{ item[0].port }}/{{ item[1].device }} {{ item[1].weight }}
+ with_nested:
+ - rings
+ - ansible_env.SWIFT_STORAGE_DEVICES
+
+ - name: Rebalance the ring
+ shell: swift-ring-builder {{ item.name }}.builder rebalance {{ ansible_env.SWIFT_REBALANCE_SEED }}
+ with_items: rings
+
+ - name: Copy ring configuration files into place
+ copy: src={{ item.name }}.ring.gz dest={{ ansible_env.ROOT }}/etc/swift
+ with_items: rings
+
+ - name: Copy ring builder files into place
+ copy: src={{ item.name }}.builder dest={{ ansible_env.ROOT }}/etc/swift
+ with_items: rings
diff --git a/swift-storage-devices-validate.py b/swift-storage-devices-validate.py
new file mode 100755
index 00000000..57ab23d0
--- /dev/null
+++ b/swift-storage-devices-validate.py
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# Copyright © 2015 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, see <http://www.gnu.org/licenses/>.
+#
+# This is used by the openstack-swift.configure extension
+# to validate any provided storage device specifiers
+# under SWIFT_STORAGE_DEVICES
+#
+
+
+'''
+ This is used by the swift-storage.configure extension
+ to validate any storage device specifiers specified
+ in the SWIFT_STORAGE_DEVICES environment variable
+'''
+
+from __future__ import print_function
+
+import yaml
+import sys
+
+EXAMPLE_DEVSPEC = '{device: sdb1, ip: 127.0.0.1, weight: 100}'
+REQUIRED_KEYS = ['ip', 'device', 'weight']
+
+def err(msg):
+ print(msg, file=sys.stderr)
+ sys.exit(1)
+
+if len(sys.argv) != 2:
+ err('usage: %s STRING_TO_BE_VALIDATED' % sys.argv[0])
+
+swift_storage_devices = yaml.load(sys.argv[1])
+
+if not isinstance(swift_storage_devices, list):
+ err('Expected list of device specifiers\n'
+ 'Example: [%s]' % EXAMPLE_DEVSPEC)
+
+for d in swift_storage_devices:
+ if not isinstance(d, dict):
+ err("Invalid device specifier: `%s'\n"
+ 'Device specifier must be a dictionary\n'
+ 'Example: %s' % (d, EXAMPLE_DEVSPEC))
+
+ if set(d.keys()) != set(REQUIRED_KEYS):
+ err("Invalid device specifier: `%s'\n"
+ 'Specifier should contain: %s\n'
+ 'Example: %s' % (d, str(REQUIRED_KEYS)[1:-1], EXAMPLE_DEVSPEC))
diff --git a/swift-storage.configure b/swift-storage.configure
new file mode 100644
index 00000000..182e0329
--- /dev/null
+++ b/swift-storage.configure
@@ -0,0 +1,105 @@
+#!/bin/bash
+#
+# Copyright © 2015 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, see <http://www.gnu.org/licenses/>.
+
+set -e
+
+# The ansible script needs to know where the rootfs is, so we export it here
+export ROOT="$1"
+
+validate_number() {
+ local name="$1"
+ local value="$2"
+
+ local pattern='^[0-9]+$'
+ if ! [[ $value =~ $pattern ]]
+ then
+ echo "'$name' must be a number" >&2
+ exit 1
+ fi
+}
+
+validate_non_empty() {
+ local name="$1"
+ local value="$2"
+
+ if [[ $value = None ]]
+ then
+ echo "'$name' cannot be empty" >&2
+ exit 1
+ fi
+}
+
+MANDATORY_OPTIONS="SWIFT_HASH_PATH_PREFIX \
+ SWIFT_HASH_PATH_SUFFIX \
+ SWIFT_REBALANCE_SEED \
+ SWIFT_PART_POWER \
+ SWIFT_REPLICAS \
+ SWIFT_MIN_PART_HOURS \
+ SWIFT_STORAGE_DEVICES \
+ MANAGEMENT_INTERFACE_IP_ADDRESS"
+
+for option in $MANDATORY_OPTIONS
+do
+ if ! [[ -v $option ]]
+ then
+ missing_option=True
+ echo "Required option $option isn't set!" >&2
+ fi
+done
+
+if [[ $missing_option = True ]]; then exit 1; fi
+
+./swift-storage-devices-validate.py "$SWIFT_STORAGE_DEVICES"
+
+# Validate SWIFT_PART_POWER, SWIFT_REPLICAS, SWIFT_MIN_PART_HOURS
+# just make sure they're numbers
+
+validate_number "SWIFT_PART_POWER" "$SWIFT_PART_POWER"
+validate_number "SWIFT_REPLICAS" "$SWIFT_REPLICAS"
+validate_number "SWIFT_MIN_PART_HOURS" "$SWIFT_MIN_PART_HOURS"
+
+# Make sure these aren't empty
+validate_non_empty "SWIFT_HASH_PATH_PREFIX" "$SWIFT_HASH_PATH_PREFIX"
+validate_non_empty "SWIFT_HASH_PATH_SUFFIX" "$SWIFT_HASH_PATH_SUFFIX"
+validate_non_empty "SWIFT_REBALANCE_SEED" "$SWIFT_REBALANCE_SEED"
+validate_non_empty "MANAGEMENT_INTERFACE_IP_ADDRESS" "$MANAGEMENT_INTERFACE_IP_ADDRESS"
+
+mkdir -p "$ROOT/usr/lib/systemd/system/multi-user.target.wants" # ensure this exists before we make symlinks
+
+# A swift controller needs the storage setup service
+# but does not want any of the other storage services enabled
+ln -s "/usr/lib/systemd/system/swift-storage-setup.service" \
+ "$ROOT/usr/lib/systemd/system/multi-user.target.wants/swift-storage-setup.service"
+
+SWIFT_CONTROLLER=${SWIFT_CONTROLLER:-False}
+
+if [[ $SWIFT_CONTROLLER = False ]]
+then
+ ln -s "/usr/lib/systemd/system/rsync.service" \
+ "$ROOT/usr/lib/systemd/system/multi-user.target.wants/rsync.service"
+ ln -s "/usr/lib/systemd/system/swift-storage.service" \
+ "$ROOT/usr/lib/systemd/system/multi-user.target.wants/swift-storage.service"
+fi
+
+# Build swift data structures (the rings)
+/usr/bin/ansible-playbook -i hosts swift-build-rings.yml
+
+cat << EOF > "$ROOT"/usr/share/swift/swift-storage-vars.yml
+---
+MANAGEMENT_INTERFACE_IP_ADDRESS: $MANAGEMENT_INTERFACE_IP_ADDRESS
+SWIFT_HASH_PATH_PREFIX: $SWIFT_HASH_PATH_PREFIX
+SWIFT_HASH_PATH_SUFFIX: $SWIFT_HASH_PATH_SUFFIX
+EOF
diff --git a/swift/manifest b/swift/manifest
new file mode 100644
index 00000000..6c1e2383
--- /dev/null
+++ b/swift/manifest
@@ -0,0 +1,13 @@
+0040755 0 0 /usr/share
+0040755 0 0 /usr/share/swift
+0100644 0 0 /usr/share/swift/hosts
+0100644 0 0 /usr/share/swift/swift-storage.yml
+0040755 0 0 /usr/share/swift/etc
+0040755 0 0 /usr/share/swift/etc/swift
+0100644 0 0 /usr/share/swift/etc/swift/account-server.j2
+0100644 0 0 /usr/share/swift/etc/swift/swift.j2
+0100644 0 0 /usr/share/swift/etc/swift/object-server.j2
+0100644 0 0 /usr/share/swift/etc/swift/container-server.j2
+0100644 0 0 /usr/share/swift/etc/rsyncd.j2
+0100644 0 0 /usr/lib/systemd/system/swift-storage-setup.service
+0100644 0 0 /usr/lib/systemd/system/swift-storage.service
diff --git a/swift/usr/lib/systemd/system/swift-storage-setup.service b/swift/usr/lib/systemd/system/swift-storage-setup.service
new file mode 100644
index 00000000..e284fbed
--- /dev/null
+++ b/swift/usr/lib/systemd/system/swift-storage-setup.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Run openstack-swift-storage-setup (once)
+After=local-fs.target postgres-server.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/ansible-playbook -v -i /usr/share/swift/hosts /usr/share/swift/swift-storage.yml
+Restart=no
+
+[Install]
+WantedBy=multi-user.target
diff --git a/swift/usr/lib/systemd/system/swift-storage.service b/swift/usr/lib/systemd/system/swift-storage.service
new file mode 100644
index 00000000..dc41d3bc
--- /dev/null
+++ b/swift/usr/lib/systemd/system/swift-storage.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=OpenStack Swift Storage
+After=syslog.target network.target swift-storage-setup.service
+
+[Service]
+Type=forking
+Restart=on-failure
+ExecStart=/usr/bin/swift-init all start
+ExecStop=/usr/bin/swift-init all stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/swift/usr/share/swift/etc/rsyncd.j2 b/swift/usr/share/swift/etc/rsyncd.j2
new file mode 100644
index 00000000..c0657665
--- /dev/null
+++ b/swift/usr/share/swift/etc/rsyncd.j2
@@ -0,0 +1,23 @@
+uid = swift
+gid = swift
+log file = /var/log/rsyncd.log
+pid file = /var/run/rsyncd.pid
+address = {{ MANAGEMENT_INTERFACE_IP_ADDRESS }}
+
+[account]
+max connections = 2
+path = /srv/node/
+read only = false
+lock file = /var/lock/account.lock
+
+[container]
+max connections = 2
+path = /srv/node/
+read only = false
+lock file = /var/lock/container.lock
+
+[object]
+max connections = 2
+path = /srv/node/
+read only = false
+lock file = /var/lock/object.lock
diff --git a/swift/usr/share/swift/etc/swift/account-server.j2 b/swift/usr/share/swift/etc/swift/account-server.j2
new file mode 100644
index 00000000..d977e295
--- /dev/null
+++ b/swift/usr/share/swift/etc/swift/account-server.j2
@@ -0,0 +1,192 @@
+[DEFAULT]
+# bind_ip = 0.0.0.0
+bind_ip = {{ MANAGEMENT_INTERFACE_IP_ADDRESS }}
+bind_port = 6002
+# bind_timeout = 30
+# backlog = 4096
+user = swift
+swift_dir = /etc/swift
+devices = /srv/node
+# mount_check = true
+# disable_fallocate = false
+#
+# Use an integer to override the number of pre-forked processes that will
+# accept connections.
+# workers = auto
+#
+# Maximum concurrent requests per worker
+# max_clients = 1024
+#
+# You can specify default log routing here if you want:
+# log_name = swift
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+# The following caps the length of log lines to the value given; no limit if
+# set to 0, the default.
+# log_max_line_length = 0
+#
+# comma separated list of functions to call to setup custom log handlers.
+# functions get passed: conf, name, log_to_console, log_route, fmt, logger,
+# adapted_logger
+# log_custom_handlers =
+#
+# If set, log_udp_host will override log_address
+# log_udp_host =
+# log_udp_port = 514
+#
+# You can enable StatsD logging here:
+# log_statsd_host = localhost
+# log_statsd_port = 8125
+# log_statsd_default_sample_rate = 1.0
+# log_statsd_sample_rate_factor = 1.0
+# log_statsd_metric_prefix =
+#
+# If you don't mind the extra disk space usage in overhead, you can turn this
+# on to preallocate disk space with SQLite databases to decrease fragmentation.
+# db_preallocation = off
+#
+# eventlet_debug = false
+#
+# You can set fallocate_reserve to the number of bytes you'd like fallocate to
+# reserve, whether there is space for the given file size or not.
+# fallocate_reserve = 0
+
+[pipeline:main]
+pipeline = healthcheck recon account-server
+
+[app:account-server]
+use = egg:swift#account
+# You can override the default log routing for this app here:
+# set log_name = account-server
+# set log_facility = LOG_LOCAL0
+# set log_level = INFO
+# set log_requests = true
+# set log_address = /dev/log
+#
+# auto_create_account_prefix = .
+#
+# Configure parameter for creating specific server
+# To handle all verbs, including replication verbs, do not specify
+# "replication_server" (this is the default). To only handle replication,
+# set to a True value (e.g. "True" or "1"). To handle only non-replication
+# verbs, set to "False". Unless you have a separate replication network, you
+# should not specify any value for "replication_server".
+# replication_server = false
+
+[filter:healthcheck]
+use = egg:swift#healthcheck
+# An optional filesystem path, which if present, will cause the healthcheck
+# URL to return "503 Service Unavailable" with a body of "DISABLED BY FILE"
+# disable_path =
+
+[filter:recon]
+use = egg:swift#recon
+recon_cache_path = /var/cache/swift
+
+[account-replicator]
+# You can override the default log routing for this app here (don't use set!):
+# log_name = account-replicator
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+#
+# vm_test_mode = no
+# per_diff = 1000
+# max_diffs = 100
+# concurrency = 8
+# interval = 30
+#
+# How long without an error before a node's error count is reset. This will
+# also be how long before a node is reenabled after suppression is triggered.
+# error_suppression_interval = 60
+#
+# How many errors can accumulate before a node is temporarily ignored.
+# error_suppression_limit = 10
+#
+# node_timeout = 10
+# conn_timeout = 0.5
+#
+# The replicator also performs reclamation
+# reclaim_age = 604800
+#
+# Time in seconds to wait between replication passes
+# Note: if the parameter 'interval' is defined then it will be used in place
+# of run_pause.
+# run_pause = 30
+#
+# recon_cache_path = /var/cache/swift
+
+[account-auditor]
+# You can override the default log routing for this app here (don't use set!):
+# log_name = account-auditor
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+#
+# Will audit each account at most once per interval
+# interval = 1800
+#
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# accounts_per_second = 200
+# recon_cache_path = /var/cache/swift
+
+[account-reaper]
+# You can override the default log routing for this app here (don't use set!):
+# log_name = account-reaper
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+#
+# concurrency = 25
+# interval = 3600
+# node_timeout = 10
+# conn_timeout = 0.5
+#
+# Normally, the reaper begins deleting account information for deleted accounts
+# immediately; you can set this to delay its work however. The value is in
+# seconds; 2592000 = 30 days for example.
+# delay_reaping = 0
+#
+# If the account fails to be be reaped due to a persistent error, the
+# account reaper will log a message such as:
+# Account <name> has not been reaped since <date>
+# You can search logs for this message if space is not being reclaimed
+# after you delete account(s).
+# Default is 2592000 seconds (30 days). This is in addition to any time
+# requested by delay_reaping.
+# reap_warn_after = 2592000
+
+# Note: Put it at the beginning of the pipeline to profile all middleware. But
+# it is safer to put this after healthcheck.
+[filter:xprofile]
+use = egg:swift#xprofile
+# This option enable you to switch profilers which should inherit from python
+# standard profiler. Currently the supported value can be 'cProfile',
+# 'eventlet.green.profile' etc.
+# profile_module = eventlet.green.profile
+#
+# This prefix will be used to combine process ID and timestamp to name the
+# profile data file. Make sure the executing user has permission to write
+# into this path (missing path segments will be created, if necessary).
+# If you enable profiling in more than one type of daemon, you must override
+# it with an unique value like: /var/log/swift/profile/account.profile
+# log_filename_prefix = /tmp/log/swift/profile/default.profile
+#
+# the profile data will be dumped to local disk based on above naming rule
+# in this interval.
+# dump_interval = 5.0
+#
+# Be careful, this option will enable profiler to dump data into the file with
+# time stamp which means there will be lots of files piled up in the directory.
+# dump_timestamp = false
+#
+# This is the path of the URL to access the mini web UI.
+# path = /__profile__
+#
+# Clear the data when the wsgi server shutdown.
+# flush_at_shutdown = false
+#
+# unwind the iterator of applications
+# unwind = false
diff --git a/swift/usr/share/swift/etc/swift/container-server.j2 b/swift/usr/share/swift/etc/swift/container-server.j2
new file mode 100644
index 00000000..d226d016
--- /dev/null
+++ b/swift/usr/share/swift/etc/swift/container-server.j2
@@ -0,0 +1,203 @@
+[DEFAULT]
+# bind_ip = 0.0.0.0
+bind_ip = {{ MANAGEMENT_INTERFACE_IP_ADDRESS }}
+bind_port = 6001
+# bind_timeout = 30
+# backlog = 4096
+user = swift
+swift_dir = /etc/swift
+devices = /srv/node
+# mount_check = true
+# disable_fallocate = false
+#
+# Use an integer to override the number of pre-forked processes that will
+# accept connections.
+# workers = auto
+#
+# Maximum concurrent requests per worker
+# max_clients = 1024
+#
+# This is a comma separated list of hosts allowed in the X-Container-Sync-To
+# field for containers. This is the old-style of using container sync. It is
+# strongly recommended to use the new style of a separate
+# container-sync-realms.conf -- see container-sync-realms.conf-sample
+# allowed_sync_hosts = 127.0.0.1
+#
+# You can specify default log routing here if you want:
+# log_name = swift
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+# The following caps the length of log lines to the value given; no limit if
+# set to 0, the default.
+# log_max_line_length = 0
+#
+# comma separated list of functions to call to setup custom log handlers.
+# functions get passed: conf, name, log_to_console, log_route, fmt, logger,
+# adapted_logger
+# log_custom_handlers =
+#
+# If set, log_udp_host will override log_address
+# log_udp_host =
+# log_udp_port = 514
+#
+# You can enable StatsD logging here:
+# log_statsd_host = localhost
+# log_statsd_port = 8125
+# log_statsd_default_sample_rate = 1.0
+# log_statsd_sample_rate_factor = 1.0
+# log_statsd_metric_prefix =
+#
+# If you don't mind the extra disk space usage in overhead, you can turn this
+# on to preallocate disk space with SQLite databases to decrease fragmentation.
+# db_preallocation = off
+#
+# eventlet_debug = false
+#
+# You can set fallocate_reserve to the number of bytes you'd like fallocate to
+# reserve, whether there is space for the given file size or not.
+# fallocate_reserve = 0
+
+[pipeline:main]
+pipeline = healthcheck recon container-server
+
+[app:container-server]
+use = egg:swift#container
+# You can override the default log routing for this app here:
+# set log_name = container-server
+# set log_facility = LOG_LOCAL0
+# set log_level = INFO
+# set log_requests = true
+# set log_address = /dev/log
+#
+# node_timeout = 3
+# conn_timeout = 0.5
+# allow_versions = false
+# auto_create_account_prefix = .
+#
+# Configure parameter for creating specific server
+# To handle all verbs, including replication verbs, do not specify
+# "replication_server" (this is the default). To only handle replication,
+# set to a True value (e.g. "True" or "1"). To handle only non-replication
+# verbs, set to "False". Unless you have a separate replication network, you
+# should not specify any value for "replication_server".
+# replication_server = false
+
+[filter:healthcheck]
+use = egg:swift#healthcheck
+# An optional filesystem path, which if present, will cause the healthcheck
+# URL to return "503 Service Unavailable" with a body of "DISABLED BY FILE"
+# disable_path =
+
+[filter:recon]
+use = egg:swift#recon
+recon_cache_path = /var/cache/swift
+
+[container-replicator]
+# You can override the default log routing for this app here (don't use set!):
+# log_name = container-replicator
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+#
+# vm_test_mode = no
+# per_diff = 1000
+# max_diffs = 100
+# concurrency = 8
+# interval = 30
+# node_timeout = 10
+# conn_timeout = 0.5
+#
+# The replicator also performs reclamation
+# reclaim_age = 604800
+#
+# Time in seconds to wait between replication passes
+# Note: if the parameter 'interval' is defined then it will be used in place
+# of run_pause.
+# run_pause = 30
+#
+# recon_cache_path = /var/cache/swift
+
+[container-updater]
+# You can override the default log routing for this app here (don't use set!):
+# log_name = container-updater
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+#
+# interval = 300
+# concurrency = 4
+# node_timeout = 3
+# conn_timeout = 0.5
+#
+# slowdown will sleep that amount between containers
+# slowdown = 0.01
+#
+# Seconds to suppress updating an account that has generated an error
+# account_suppression_time = 60
+#
+# recon_cache_path = /var/cache/swift
+
+[container-auditor]
+# You can override the default log routing for this app here (don't use set!):
+# log_name = container-auditor
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+#
+# Will audit each container at most once per interval
+# interval = 1800
+#
+# containers_per_second = 200
+# recon_cache_path = /var/cache/swift
+
+[container-sync]
+# You can override the default log routing for this app here (don't use set!):
+# log_name = container-sync
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+#
+# If you need to use an HTTP Proxy, set it here; defaults to no proxy.
+# You can also set this to a comma separated list of HTTP Proxies and they will
+# be randomly used (simple load balancing).
+# sync_proxy = http://10.1.1.1:8888,http://10.1.1.2:8888
+#
+# Will sync each container at most once per interval
+# interval = 300
+#
+# Maximum amount of time to spend syncing each container per pass
+# container_time = 60
+
+# Note: Put it at the beginning of the pipeline to profile all middleware. But
+# it is safer to put this after healthcheck.
+[filter:xprofile]
+use = egg:swift#xprofile
+# This option enable you to switch profilers which should inherit from python
+# standard profiler. Currently the supported value can be 'cProfile',
+# 'eventlet.green.profile' etc.
+# profile_module = eventlet.green.profile
+#
+# This prefix will be used to combine process ID and timestamp to name the
+# profile data file. Make sure the executing user has permission to write
+# into this path (missing path segments will be created, if necessary).
+# If you enable profiling in more than one type of daemon, you must override
+# it with an unique value like: /var/log/swift/profile/container.profile
+# log_filename_prefix = /tmp/log/swift/profile/default.profile
+#
+# the profile data will be dumped to local disk based on above naming rule
+# in this interval.
+# dump_interval = 5.0
+#
+# Be careful, this option will enable profiler to dump data into the file with
+# time stamp which means there will be lots of files piled up in the directory.
+# dump_timestamp = false
+#
+# This is the path of the URL to access the mini web UI.
+# path = /__profile__
+#
+# Clear the data when the wsgi server shutdown.
+# flush_at_shutdown = false
+#
+# unwind the iterator of applications
+# unwind = false
diff --git a/swift/usr/share/swift/etc/swift/object-server.j2 b/swift/usr/share/swift/etc/swift/object-server.j2
new file mode 100644
index 00000000..66990be9
--- /dev/null
+++ b/swift/usr/share/swift/etc/swift/object-server.j2
@@ -0,0 +1,283 @@
+[DEFAULT]
+# bind_ip = 0.0.0.0
+bind_ip = {{ MANAGEMENT_INTERFACE_IP_ADDRESS }}
+bind_port = 6000
+# bind_timeout = 30
+# backlog = 4096
+user = swift
+swift_dir = /etc/swift
+devices = /srv/node
+# mount_check = true
+# disable_fallocate = false
+# expiring_objects_container_divisor = 86400
+# expiring_objects_account_name = expiring_objects
+#
+# Use an integer to override the number of pre-forked processes that will
+# accept connections.
+# workers = auto
+#
+# Maximum concurrent requests per worker
+# max_clients = 1024
+#
+# You can specify default log routing here if you want:
+# log_name = swift
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+# The following caps the length of log lines to the value given; no limit if
+# set to 0, the default.
+# log_max_line_length = 0
+#
+# comma separated list of functions to call to setup custom log handlers.
+# functions get passed: conf, name, log_to_console, log_route, fmt, logger,
+# adapted_logger
+# log_custom_handlers =
+#
+# If set, log_udp_host will override log_address
+# log_udp_host =
+# log_udp_port = 514
+#
+# You can enable StatsD logging here:
+# log_statsd_host = localhost
+# log_statsd_port = 8125
+# log_statsd_default_sample_rate = 1.0
+# log_statsd_sample_rate_factor = 1.0
+# log_statsd_metric_prefix =
+#
+# eventlet_debug = false
+#
+# You can set fallocate_reserve to the number of bytes you'd like fallocate to
+# reserve, whether there is space for the given file size or not.
+# fallocate_reserve = 0
+#
+# Time to wait while attempting to connect to another backend node.
+# conn_timeout = 0.5
+# Time to wait while sending each chunk of data to another backend node.
+# node_timeout = 3
+# Time to wait while receiving each chunk of data from a client or another
+# backend node.
+# client_timeout = 60
+#
+# network_chunk_size = 65536
+# disk_chunk_size = 65536
+
+[pipeline:main]
+pipeline = healthcheck recon object-server
+
+[app:object-server]
+use = egg:swift#object
+# You can override the default log routing for this app here:
+# set log_name = object-server
+# set log_facility = LOG_LOCAL0
+# set log_level = INFO
+# set log_requests = true
+# set log_address = /dev/log
+#
+# max_upload_time = 86400
+# slow = 0
+#
+# Objects smaller than this are not evicted from the buffercache once read
+# keep_cache_size = 5424880
+#
+# If true, objects for authenticated GET requests may be kept in buffer cache
+# if small enough
+# keep_cache_private = false
+#
+# on PUTs, sync data every n MB
+# mb_per_sync = 512
+#
+# Comma separated list of headers that can be set in metadata on an object.
+# This list is in addition to X-Object-Meta-* headers and cannot include
+# Content-Type, etag, Content-Length, or deleted
+# allowed_headers = Content-Disposition, Content-Encoding, X-Delete-At, X-Object-Manifest, X-Static-Large-Object
+#
+# auto_create_account_prefix = .
+#
+# A value of 0 means "don't use thread pools". A reasonable starting point is
+# 4.
+# threads_per_disk = 0
+#
+# Configure parameter for creating specific server
+# To handle all verbs, including replication verbs, do not specify
+# "replication_server" (this is the default). To only handle replication,
+# set to a True value (e.g. "True" or "1"). To handle only non-replication
+# verbs, set to "False". Unless you have a separate replication network, you
+# should not specify any value for "replication_server".
+# replication_server = false
+#
+# Set to restrict the number of concurrent incoming REPLICATION requests
+# Set to 0 for unlimited
+# Note that REPLICATION is currently an ssync only item
+# replication_concurrency = 4
+#
+# Restricts incoming REPLICATION requests to one per device,
+# replication_currency above allowing. This can help control I/O to each
+# device, but you may wish to set this to False to allow multiple REPLICATION
+# requests (up to the above replication_concurrency setting) per device.
+# replication_one_per_device = True
+#
+# Number of seconds to wait for an existing replication device lock before
+# giving up.
+# replication_lock_timeout = 15
+#
+# These next two settings control when the REPLICATION subrequest handler will
+# abort an incoming REPLICATION attempt. An abort will occur if there are at
+# least threshold number of failures and the value of failures / successes
+# exceeds the ratio. The defaults of 100 and 1.0 means that at least 100
+# failures have to occur and there have to be more failures than successes for
+# an abort to occur.
+# replication_failure_threshold = 100
+# replication_failure_ratio = 1.0
+#
+# Use splice() for zero-copy object GETs. This requires Linux kernel
+# version 3.0 or greater. If you set "splice = yes" but the kernel
+# does not support it, error messages will appear in the object server
+# logs at startup, but your object servers should continue to function.
+#
+# splice = no
+
+[filter:healthcheck]
+use = egg:swift#healthcheck
+# An optional filesystem path, which if present, will cause the healthcheck
+# URL to return "503 Service Unavailable" with a body of "DISABLED BY FILE"
+# disable_path =
+
+[filter:recon]
+use = egg:swift#recon
+recon_cache_path = /var/cache/swift
+#recon_lock_path = /var/lock
+
+[object-replicator]
+# You can override the default log routing for this app here (don't use set!):
+# log_name = object-replicator
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+#
+# vm_test_mode = no
+# daemonize = on
+# run_pause = 30
+# concurrency = 1
+# stats_interval = 300
+#
+# The sync method to use; default is rsync but you can use ssync to try the
+# EXPERIMENTAL all-swift-code-no-rsync-callouts method. Once ssync is verified
+# as having performance comparable to, or better than, rsync, we plan to
+# deprecate rsync so we can move on with more features for replication.
+# sync_method = rsync
+#
+# max duration of a partition rsync
+# rsync_timeout = 900
+#
+# bandwidth limit for rsync in kB/s. 0 means unlimited
+# rsync_bwlimit = 0
+#
+# passed to rsync for io op timeout
+# rsync_io_timeout = 30
+#
+# node_timeout = <whatever's in the DEFAULT section or 10>
+# max duration of an http request; this is for REPLICATE finalization calls and
+# so should be longer than node_timeout
+# http_timeout = 60
+#
+# attempts to kill all workers if nothing replicates for lockup_timeout seconds
+# lockup_timeout = 1800
+#
+# The replicator also performs reclamation
+# reclaim_age = 604800
+#
+# ring_check_interval = 15
+# recon_cache_path = /var/cache/swift
+#
+# limits how long rsync error log lines are
+# 0 means to log the entire line
+# rsync_error_log_line_length = 0
+#
+# handoffs_first and handoff_delete are options for a special case
+# such as disk full in the cluster. These two options SHOULD NOT BE
+# CHANGED, except for such an extreme situations. (e.g. disks filled up
+# or are about to fill up. Anyway, DO NOT let your drives fill up)
+# handoffs_first is the flag to replicate handoffs prior to canonical
+# partitions. It allows to force syncing and deleting handoffs quickly.
+# If set to a True value(e.g. "True" or "1"), partitions
+# that are not supposed to be on the node will be replicated first.
+# handoffs_first = False
+#
+# handoff_delete is the number of replicas which are ensured in swift.
+# If the number less than the number of replicas is set, object-replicator
+# could delete local handoffs even if all replicas are not ensured in the
+# cluster. Object-replicator would remove local handoff partition directories
+# after syncing partition when the number of successful responses is greater
+# than or equal to this number. By default(auto), handoff partitions will be
+# removed when it has successfully replicated to all the canonical nodes.
+# handoff_delete = auto
+
+[object-updater]
+# You can override the default log routing for this app here (don't use set!):
+# log_name = object-updater
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+#
+# interval = 300
+# concurrency = 1
+# node_timeout = <whatever's in the DEFAULT section or 10>
+# slowdown will sleep that amount between objects
+# slowdown = 0.01
+#
+# recon_cache_path = /var/cache/swift
+
+[object-auditor]
+# You can override the default log routing for this app here (don't use set!):
+# log_name = object-auditor
+# log_facility = LOG_LOCAL0
+# log_level = INFO
+# log_address = /dev/log
+#
+# You can set the disk chunk size that the auditor uses making it larger if
+# you like for more efficient local auditing of larger objects
+# disk_chunk_size = 65536
+# files_per_second = 20
+# concurrency = 1
+# bytes_per_second = 10000000
+# log_time = 3600
+# zero_byte_files_per_second = 50
+# recon_cache_path = /var/cache/swift
+
+# Takes a comma separated list of ints. If set, the object auditor will
+# increment a counter for every object whose size is <= to the given break
+# points and report the result after a full scan.
+# object_size_stats =
+
+# Note: Put it at the beginning of the pipleline to profile all middleware. But
+# it is safer to put this after healthcheck.
+[filter:xprofile]
+use = egg:swift#xprofile
+# This option enable you to switch profilers which should inherit from python
+# standard profiler. Currently the supported value can be 'cProfile',
+# 'eventlet.green.profile' etc.
+# profile_module = eventlet.green.profile
+#
+# This prefix will be used to combine process ID and timestamp to name the
+# profile data file. Make sure the executing user has permission to write
+# into this path (missing path segments will be created, if necessary).
+# If you enable profiling in more than one type of daemon, you must override
+# it with an unique value like: /var/log/swift/profile/object.profile
+# log_filename_prefix = /tmp/log/swift/profile/default.profile
+#
+# the profile data will be dumped to local disk based on above naming rule
+# in this interval.
+# dump_interval = 5.0
+#
+# Be careful, this option will enable profiler to dump data into the file with
+# time stamp which means there will be lots of files piled up in the directory.
+# dump_timestamp = false
+#
+# This is the path of the URL to access the mini web UI.
+# path = /__profile__
+#
+# Clear the data when the wsgi server shutdown.
+# flush_at_shutdown = false
+#
+# unwind the iterator of applications
+# unwind = false
diff --git a/swift/usr/share/swift/etc/swift/swift.j2 b/swift/usr/share/swift/etc/swift/swift.j2
new file mode 100644
index 00000000..6d76215a
--- /dev/null
+++ b/swift/usr/share/swift/etc/swift/swift.j2
@@ -0,0 +1,118 @@
+[swift-hash]
+
+# swift_hash_path_suffix and swift_hash_path_prefix are used as part of the
+# the hashing algorithm when determining data placement in the cluster.
+# These values should remain secret and MUST NOT change
+# once a cluster has been deployed.
+
+swift_hash_path_suffix = {{ SWIFT_HASH_PATH_SUFFIX }}
+swift_hash_path_prefix = {{ SWIFT_HASH_PATH_PREFIX }}
+
+# storage policies are defined here and determine various characteristics
+# about how objects are stored and treated. Policies are specified by name on
+# a per container basis. Names are case-insensitive. The policy index is
+# specified in the section header and is used internally. The policy with
+# index 0 is always used for legacy containers and can be given a name for use
+# in metadata however the ring file name will always be 'object.ring.gz' for
+# backwards compatibility. If no policies are defined a policy with index 0
+# will be automatically created for backwards compatibility and given the name
+# Policy-0. A default policy is used when creating new containers when no
+# policy is specified in the request. If no other policies are defined the
+# policy with index 0 will be declared the default. If multiple policies are
+# defined you must define a policy with index 0 and you must specify a
+# default. It is recommended you always define a section for
+# storage-policy:0.
+[storage-policy:0]
+name = Policy-0
+default = yes
+
+# the following section would declare a policy called 'silver', the number of
+# replicas will be determined by how the ring is built. In this example the
+# 'silver' policy could have a lower or higher # of replicas than the
+# 'Policy-0' policy above. The ring filename will be 'object-1.ring.gz'. You
+# may only specify one storage policy section as the default. If you changed
+# this section to specify 'silver' as the default, when a client created a new
+# container w/o a policy specified, it will get the 'silver' policy because
+# this config has specified it as the default. However if a legacy container
+# (one created with a pre-policy version of swift) is accessed, it is known
+# implicitly to be assigned to the policy with index 0 as opposed to the
+# current default.
+#[storage-policy:1]
+#name = silver
+
+# The swift-constraints section sets the basic constraints on data
+# saved in the swift cluster. These constraints are automatically
+# published by the proxy server in responses to /info requests.
+
+[swift-constraints]
+
+# max_file_size is the largest "normal" object that can be saved in
+# the cluster. This is also the limit on the size of each segment of
+# a "large" object when using the large object manifest support.
+# This value is set in bytes. Setting it to lower than 1MiB will cause
+# some tests to fail. It is STRONGLY recommended to leave this value at
+# the default (5 * 2**30 + 2).
+
+#max_file_size = 5368709122
+
+
+# max_meta_name_length is the max number of bytes in the utf8 encoding
+# of the name portion of a metadata header.
+
+#max_meta_name_length = 128
+
+
+# max_meta_value_length is the max number of bytes in the utf8 encoding
+# of a metadata value
+
+#max_meta_value_length = 256
+
+
+# max_meta_count is the max number of metadata keys that can be stored
+# on a single account, container, or object
+
+#max_meta_count = 90
+
+
+# max_meta_overall_size is the max number of bytes in the utf8 encoding
+# of the metadata (keys + values)
+
+#max_meta_overall_size = 4096
+
+# max_header_size is the max number of bytes in the utf8 encoding of each
+# header. Using 8192 as default because eventlet use 8192 as max size of
+# header line. This value may need to be increased when using identity
+# v3 API tokens including more than 7 catalog entries.
+# See also include_service_catalog in proxy-server.conf-sample
+# (documented in overview_auth.rst)
+
+#max_header_size = 8192
+
+
+# max_object_name_length is the max number of bytes in the utf8 encoding
+# of an object name
+
+#max_object_name_length = 1024
+
+
+# container_listing_limit is the default (and max) number of items
+# returned for a container listing request
+
+#container_listing_limit = 10000
+
+
+# account_listing_limit is the default (and max) number of items returned
+# for an account listing request
+#account_listing_limit = 10000
+
+
+# max_account_name_length is the max number of bytes in the utf8 encoding
+# of an account name
+
+#max_account_name_length = 256
+
+
+# max_container_name_length is the max number of bytes in the utf8 encoding
+# of a container name
+
+#max_container_name_length = 256
diff --git a/swift/usr/share/swift/hosts b/swift/usr/share/swift/hosts
new file mode 100644
index 00000000..5b97818d
--- /dev/null
+++ b/swift/usr/share/swift/hosts
@@ -0,0 +1 @@
+localhost ansible_connection=local
diff --git a/swift/usr/share/swift/swift-storage.yml b/swift/usr/share/swift/swift-storage.yml
new file mode 100644
index 00000000..62a335ed
--- /dev/null
+++ b/swift/usr/share/swift/swift-storage.yml
@@ -0,0 +1,24 @@
+---
+- hosts: localhost
+ vars_files:
+ - swift-storage-vars.yml
+ vars:
+ remote_user: root
+ tasks:
+ - user: name=swift comment="Swift user"
+ - file: path=/etc/swift owner=swift group=swift state=directory recurse=yes
+
+ - template: src=/usr/share/swift/etc/rsyncd.j2 dest=/etc/rsyncd.conf
+ mode=0644 owner=swift group=swift
+
+ - template: src=/usr/share/swift/etc/swift/{{ item }}.j2
+ dest=/etc/swift/{{ item }}.conf mode=0644 owner=swift group=swift
+ with_items:
+ - account-server
+ - container-server
+ - object-server
+ - swift
+
+ - file: path=/srv/node owner=swift group=swift state=directory recurse=yes
+ - file: path=/var/cache/swift owner=swift group=swift state=directory
+ recurse=yes
diff --git a/systems/base-system-x86_32-generic.morph b/systems/base-system-x86_32-generic.morph
index 40e62cad..612778d7 100644
--- a/systems/base-system-x86_32-generic.morph
+++ b/systems/base-system-x86_32-generic.morph
@@ -11,11 +11,8 @@ strata:
morph: strata/foundation.morph
- name: bsp-x86_32-generic
morph: strata/bsp-x86_32-generic.morph
-- name: cloudinit-support
- morph: strata/cloudinit-support.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
-- cloud-init
diff --git a/systems/base-system-x86_64-generic.morph b/systems/base-system-x86_64-generic.morph
index a3346a44..bd331817 100644
--- a/systems/base-system-x86_64-generic.morph
+++ b/systems/base-system-x86_64-generic.morph
@@ -12,11 +12,8 @@ strata:
morph: strata/foundation.morph
- name: bsp-x86_64-generic
morph: strata/bsp-x86_64-generic.morph
-- name: cloudinit-support
- morph: strata/cloudinit-support.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
-- cloud-init
diff --git a/systems/build-system-armv7lhf-highbank.morph b/systems/build-system-armv7lhf-highbank.morph
index 83fea92e..f7b08698 100644
--- a/systems/build-system-armv7lhf-highbank.morph
+++ b/systems/build-system-armv7lhf-highbank.morph
@@ -36,6 +36,8 @@ strata:
morph: strata/openstack-clients.morph
- name: devtools
morph: strata/devtools.morph
+- name: ostree-core
+ morph: strata/ostree-core.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 53bda1a5..5af325b9 100644
--- a/systems/build-system-armv7lhf-jetson.morph
+++ b/systems/build-system-armv7lhf-jetson.morph
@@ -36,6 +36,8 @@ strata:
morph: strata/openstack-clients.morph
- name: devtools
morph: strata/devtools.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/build-system-armv8b64.morph b/systems/build-system-armv8b64.morph
new file mode 100644
index 00000000..b79487e5
--- /dev/null
+++ b/systems/build-system-armv8b64.morph
@@ -0,0 +1,50 @@
+name: build-system-armv8b64
+kind: system
+description:
+- |
+ The system that should be used for building all other Baserock systems
+ for 64-bit ARMv8 computers running in big-endian mode.
+arch: armv8b64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv8b64-generic
+ morph: strata/bsp-armv8b64-generic.morph
+- name: python-core
+ morph: strata/python-core.morph
+- name: tools
+ morph: strata/tools.morph
+- name: python-cliapp
+ morph: strata/python-cliapp.morph
+- name: python-wsgi
+ morph: strata/python-wsgi.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
+- name: nfs
+ morph: strata/nfs.morph
+- name: python-common
+ morph: strata/python-common.morph
+- name: ansible
+ morph: strata/ansible.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
+- name: openstack-common
+ morph: strata/openstack-common.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+- name: devtools
+ morph: strata/devtools.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- nfsboot
+- install-files
+- distbuild
+- fstab
+- mason
+- cloud-init
+- moonshot-kernel
diff --git a/systems/build-system-armv8l64.morph b/systems/build-system-armv8l64.morph
index 63dcb432..9edd8648 100644
--- a/systems/build-system-armv8l64.morph
+++ b/systems/build-system-armv8l64.morph
@@ -38,6 +38,8 @@ strata:
morph: strata/openstack-clients.morph
- name: devtools
morph: strata/devtools.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/build-system-ppc64.morph b/systems/build-system-ppc64.morph
index 8613bd4c..1a65cbca 100644
--- a/systems/build-system-ppc64.morph
+++ b/systems/build-system-ppc64.morph
@@ -36,6 +36,8 @@ strata:
morph: strata/openstack-clients.morph
- name: devtools
morph: strata/devtools.morph
+- name: ostree-core
+ morph: strata/ostree-core.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 7c423139..e1262f44 100644
--- a/systems/build-system-x86_32-chroot.morph
+++ b/systems/build-system-x86_32-chroot.morph
@@ -36,6 +36,8 @@ strata:
morph: strata/devtools.morph
- name: bsp-x86_both-tools
morph: strata/bsp-x86_both-tools.morph
+- name: ostree-core
+ morph: strata/ostree-core.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 0989375b..fad9ba7c 100644
--- a/systems/build-system-x86_32.morph
+++ b/systems/build-system-x86_32.morph
@@ -38,6 +38,8 @@ strata:
morph: strata/devtools.morph
- name: bsp-x86_both-tools
morph: strata/bsp-x86_both-tools.morph
+- name: ostree-core
+ morph: strata/ostree-core.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 f3ab9e12..ef8ac243 100644
--- a/systems/build-system-x86_64-chroot.morph
+++ b/systems/build-system-x86_64-chroot.morph
@@ -36,6 +36,8 @@ strata:
morph: strata/devtools.morph
- name: bsp-x86_both-tools
morph: strata/bsp-x86_both-tools.morph
+- name: ostree-core
+ morph: strata/ostree-core.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 cfc2fdeb..0e8160c0 100644
--- a/systems/build-system-x86_64.morph
+++ b/systems/build-system-x86_64.morph
@@ -38,6 +38,8 @@ strata:
morph: strata/devtools.morph
- name: bsp-x86_both-tools
morph: strata/bsp-x86_both-tools.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/cross-bootstrap-system-armv8b64-generic.morph b/systems/cross-bootstrap-system-armv8b64-generic.morph
new file mode 100644
index 00000000..ed2cbc89
--- /dev/null
+++ b/systems/cross-bootstrap-system-armv8b64-generic.morph
@@ -0,0 +1,15 @@
+name: cross-bootstrap-system-armv8b64-generic
+kind: system
+description: A system that produces the minimum needed to build a devel system
+arch: armv8b64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: python-cliapp
+ morph: strata/python-cliapp.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
+- name: cross-bootstrap
+ morph: strata/cross-bootstrap.morph
diff --git a/systems/devel-system-armv7-chroot.morph b/systems/devel-system-armv7-chroot.morph
index e32db851..71e61628 100644
--- a/systems/devel-system-armv7-chroot.morph
+++ b/systems/devel-system-armv7-chroot.morph
@@ -43,8 +43,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-armv7-highbank.morph b/systems/devel-system-armv7-highbank.morph
index 9ae051d1..7cd13979 100644
--- a/systems/devel-system-armv7-highbank.morph
+++ b/systems/devel-system-armv7-highbank.morph
@@ -44,8 +44,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-armv7-versatile.morph b/systems/devel-system-armv7-versatile.morph
index 12a2b2b6..6af6ed54 100644
--- a/systems/devel-system-armv7-versatile.morph
+++ b/systems/devel-system-armv7-versatile.morph
@@ -44,8 +44,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-armv7-wandboard.morph b/systems/devel-system-armv7-wandboard.morph
index ec6fea5e..3d3b089b 100644
--- a/systems/devel-system-armv7-wandboard.morph
+++ b/systems/devel-system-armv7-wandboard.morph
@@ -44,8 +44,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-armv7b-chroot.morph b/systems/devel-system-armv7b-chroot.morph
index 2023ac21..52480400 100644
--- a/systems/devel-system-armv7b-chroot.morph
+++ b/systems/devel-system-armv7b-chroot.morph
@@ -35,8 +35,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-armv7b-highbank.morph b/systems/devel-system-armv7b-highbank.morph
index 2c7f8ed2..955e703d 100644
--- a/systems/devel-system-armv7b-highbank.morph
+++ b/systems/devel-system-armv7b-highbank.morph
@@ -40,8 +40,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-armv7lhf-chroot.morph b/systems/devel-system-armv7lhf-chroot.morph
index 1e2a8f8e..6cf7d24e 100644
--- a/systems/devel-system-armv7lhf-chroot.morph
+++ b/systems/devel-system-armv7lhf-chroot.morph
@@ -43,8 +43,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-armv7lhf-highbank.morph b/systems/devel-system-armv7lhf-highbank.morph
index 3ef00c34..d9e0eb01 100644
--- a/systems/devel-system-armv7lhf-highbank.morph
+++ b/systems/devel-system-armv7lhf-highbank.morph
@@ -47,8 +47,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-armv7lhf-jetson.morph b/systems/devel-system-armv7lhf-jetson.morph
index dfc28c45..438991d2 100644
--- a/systems/devel-system-armv7lhf-jetson.morph
+++ b/systems/devel-system-armv7lhf-jetson.morph
@@ -47,8 +47,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-armv7lhf-wandboard.morph b/systems/devel-system-armv7lhf-wandboard.morph
index 631692e7..2a7853eb 100644
--- a/systems/devel-system-armv7lhf-wandboard.morph
+++ b/systems/devel-system-armv7lhf-wandboard.morph
@@ -47,8 +47,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-armv8b64.morph b/systems/devel-system-armv8b64.morph
new file mode 100644
index 00000000..81543292
--- /dev/null
+++ b/systems/devel-system-armv8b64.morph
@@ -0,0 +1,60 @@
+name: devel-system-armv8b64
+kind: system
+description: |
+ A system with useful tools for doing Baserock development.
+
+ For use on 64-bit ARMv8 computers using big-endian word.
+arch: armv8b64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv8b64-generic
+ morph: strata/bsp-armv8b64-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: python-cliapp
+ morph: strata/python-cliapp.morph
+- name: python-wsgi
+ morph: strata/python-wsgi.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
+- name: openstack-common
+ morph: strata/openstack-common.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
+- name: nodejs
+ morph: strata/nodejs.morph
+- name: ruby
+ morph: strata/ruby.morph
+- name: lorry
+ morph: strata/lorry.morph
+- name: baserock-import
+ morph: strata/baserock-import.morph
+- name: nfs
+ morph: strata/nfs.morph
+- name: python-core
+ morph: strata/python-core.morph
+- name: python-tools
+ morph: strata/python-tools.morph
+- name: python-common
+ morph: strata/python-common.morph
+- name: devtools
+ morph: strata/devtools.morph
+- name: ansible
+ morph: strata/ansible.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- cloud-init
+- moonshot-kernel
diff --git a/systems/devel-system-armv8l64.morph b/systems/devel-system-armv8l64.morph
index bad6d6a9..f6c52748 100644
--- a/systems/devel-system-armv8l64.morph
+++ b/systems/devel-system-armv8l64.morph
@@ -46,6 +46,10 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
@@ -54,3 +58,4 @@ configuration-extensions:
- install-files
- cloud-init
- moonshot-kernel
+- fstab
diff --git a/systems/devel-system-ppc64-chroot.morph b/systems/devel-system-ppc64-chroot.morph
index 1ec03145..e827ce02 100644
--- a/systems/devel-system-ppc64-chroot.morph
+++ b/systems/devel-system-ppc64-chroot.morph
@@ -41,8 +41,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-ppc64-generic.morph b/systems/devel-system-ppc64-generic.morph
index bfbf3fbb..1eb33048 100644
--- a/systems/devel-system-ppc64-generic.morph
+++ b/systems/devel-system-ppc64-generic.morph
@@ -44,8 +44,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-x86_32-chroot.morph b/systems/devel-system-x86_32-chroot.morph
index e83b1a55..a4c92df5 100644
--- a/systems/devel-system-x86_32-chroot.morph
+++ b/systems/devel-system-x86_32-chroot.morph
@@ -43,8 +43,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-x86_32-generic.morph b/systems/devel-system-x86_32-generic.morph
index c707125c..938fc5a3 100644
--- a/systems/devel-system-x86_32-generic.morph
+++ b/systems/devel-system-x86_32-generic.morph
@@ -48,9 +48,14 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
- cloud-init
+- fstab
diff --git a/systems/devel-system-x86_64-chroot.morph b/systems/devel-system-x86_64-chroot.morph
index 00e72c84..72d8a8d5 100644
--- a/systems/devel-system-x86_64-chroot.morph
+++ b/systems/devel-system-x86_64-chroot.morph
@@ -45,8 +45,13 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
+- fstab
diff --git a/systems/devel-system-x86_64-generic.morph b/systems/devel-system-x86_64-generic.morph
index e0bb1a21..2016546c 100644
--- a/systems/devel-system-x86_64-generic.morph
+++ b/systems/devel-system-x86_64-generic.morph
@@ -48,6 +48,10 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
@@ -55,3 +59,4 @@ configuration-extensions:
- nfsboot
- install-files
- cloud-init
+- fstab
diff --git a/systems/devel-system-x86_64-vagrant.morph b/systems/devel-system-x86_64-vagrant.morph
index fc40e1f5..8d5e3205 100644
--- a/systems/devel-system-x86_64-vagrant.morph
+++ b/systems/devel-system-x86_64-vagrant.morph
@@ -46,9 +46,14 @@ strata:
morph: strata/devtools.morph
- name: ansible
morph: strata/ansible.morph
+- name: swift
+ morph: strata/swift.morph
+- name: ostree-core
+ morph: strata/ostree-core.morph
configuration-extensions:
- set-hostname
- add-config-files
- nfsboot
- install-files
- vagrant
+- fstab
diff --git a/systems/gerrit-x86_64.morph b/systems/gerrit-x86_64.morph
deleted file mode 100644
index 91d4c701..00000000
--- a/systems/gerrit-x86_64.morph
+++ /dev/null
@@ -1,32 +0,0 @@
-name: gerrit-x86_64
-kind: system
-description: system to install gerrit on it
-arch: x86_64
-strata:
-- name: build-essential
- morph: strata/build-essential.morph
-- name: bsp-x86_64-generic
- morph: strata/bsp-x86_64-generic.morph
-- name: foundation
- morph: strata/foundation.morph
-- name: core
- morph: strata/core.morph
-- name: tools
- morph: strata/tools.morph
-- name: nfs
- morph: strata/nfs.morph
-- name: databases
- morph: strata/databases.morph
-- name: network-security
- morph: strata/network-security.morph
-- name: cloudinit-support
- morph: strata/cloudinit-support.morph
-- name: patch-manager-gerrit
- morph: strata/patch-manager-gerrit.morph
-configuration-extensions:
-- set-hostname
-- add-config-files
-- nfsboot
-- install-files
-- cloud-init
-- gerrit
diff --git a/systems/installer-system-armv8b64.morph b/systems/installer-system-armv8b64.morph
new file mode 100644
index 00000000..774cab0d
--- /dev/null
+++ b/systems/installer-system-armv8b64.morph
@@ -0,0 +1,30 @@
+name: installer-system-armv8b64
+kind: system
+description: The system that should be used as an Installer to install other Baserock
+ systems.
+arch: armv8b64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: python-core
+ morph: strata/python-core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv8b64-generic
+ morph: strata/bsp-armv8b64-generic.morph
+- name: python-cliapp
+ morph: strata/python-cliapp.morph
+- name: python-wsgi
+ morph: strata/python-wsgi.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
+- moonshot-kernel