summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcloud-init.configure29
-rw-r--r--clusters/gnome-deploy.morph9
-rw-r--r--clusters/jetson-upgrade.morph5
-rw-r--r--clusters/release.morph21
-rw-r--r--distbuild.configure3
-rw-r--r--mason.configure7
-rwxr-xr-xscripts/cycle.sh50
-rwxr-xr-xscripts/licensecheck.sh1
-rw-r--r--strata/NetworkManager-common.morph18
-rw-r--r--strata/NetworkManager-common/NetworkManager.morph5
-rw-r--r--strata/armv7lhf-cross-toolchain.morph4
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph1
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph14
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph19
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph10
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph1
-rw-r--r--strata/bsp-jetson-devel.morph14
-rw-r--r--strata/bsp-jetson-genivi.morph47
-rw-r--r--strata/bsp-jetson-genivi/bsp-support.morph6
-rw-r--r--strata/bsp-jetson-genivi/device-tree-compiler.morph6
-rw-r--r--strata/bsp-jetson-genivi/linux-jetson-tk1-genivi.morph71
-rw-r--r--strata/bsp-jetson-genivi/nouveau-drm.morph10
-rw-r--r--strata/bsp-jetson-genivi/u-boot.morph16
-rw-r--r--strata/build-essential.morph8
-rw-r--r--strata/build-essential/binutils.morph1
-rw-r--r--strata/build-essential/busybox.morph67
-rw-r--r--strata/build-essential/eglibc.morph5
-rw-r--r--strata/build-essential/gcc.morph16
-rw-r--r--strata/build-essential/linux-api-headers.morph1
-rw-r--r--strata/build-essential/stage1-binutils.morph7
-rw-r--r--strata/build-essential/stage1-gcc.morph18
-rw-r--r--strata/build-essential/stage2-binutils.morph5
-rw-r--r--strata/build-essential/stage2-busybox.morph43
-rw-r--r--strata/build-essential/stage2-eglibc.morph18
-rw-r--r--strata/build-essential/stage2-gcc-fixed-headers.morph9
-rw-r--r--strata/build-essential/stage2-gcc.morph28
-rw-r--r--strata/build-essential/stage2-linux-api-headers.morph1
-rw-r--r--strata/build-essential/stage2-reset-specs.morph12
-rw-r--r--strata/connectivity.morph7
-rw-r--r--strata/connman-common.morph11
-rw-r--r--strata/connman-common/connman.morph (renamed from strata/connectivity/connman.morph)0
-rw-r--r--strata/core.morph21
-rw-r--r--strata/core/ca-certificates.morph18
-rw-r--r--strata/cross-bootstrap.morph2
-rw-r--r--strata/distbuild.morph23
-rw-r--r--strata/enlightenment.morph2
-rw-r--r--strata/foundation.morph42
-rw-r--r--strata/foundation/coreutils.morph9
-rw-r--r--strata/foundation/systemd.morph4
-rw-r--r--strata/genivi.morph6
-rw-r--r--strata/gnome.morph350
-rw-r--r--strata/gnome/clutter.morph6
-rw-r--r--strata/gnome/cogl.morph6
-rw-r--r--strata/gnome/d-feet.morph5
-rw-r--r--strata/gnome/evolution-data-server.morph5
-rw-r--r--strata/gnome/gnome-session.morph5
-rw-r--r--strata/gnome/gnome-shell.morph5
-rw-r--r--strata/gnome/gvfs.morph5
-rw-r--r--strata/gnome/icu.morph8
-rw-r--r--strata/gnome/libsecret.morph5
-rw-r--r--strata/gnome/p11-kit.morph5
-rw-r--r--strata/input-common.morph3
-rw-r--r--strata/libdrm-common.morph5
-rw-r--r--strata/libdrm-common/drm.morph10
-rw-r--r--strata/llvm-common.morph11
-rw-r--r--strata/llvm-common/llvm.morph8
-rw-r--r--strata/mesa-common.morph2
-rw-r--r--strata/mesa-common/mesa.morph25
-rw-r--r--strata/morph-utils.morph82
-rw-r--r--strata/morph-utils/cmdtest.morph (renamed from strata/tools/cmdtest.morph)0
-rw-r--r--strata/morph-utils/pyfilesystem.morph (renamed from strata/tools/pyfilesystem.morph)0
-rw-r--r--strata/morph-utils/python-coveragepy.morph (renamed from strata/tools/python-coveragepy.morph)0
-rw-r--r--strata/morph-utils/python-ttystatus.morph (renamed from strata/tools/python-ttystatus.morph)0
-rw-r--r--strata/tools.morph79
-rw-r--r--strata/tools/coreutils.morph9
-rw-r--r--strata/tools/vala-bootstrap.morph (renamed from strata/tools/vala.morph)0
-rw-r--r--strata/trove.morph16
-rw-r--r--strata/virtualization.morph2
-rw-r--r--strata/wayland-generic.morph3
-rw-r--r--strata/weston-genivi.morph11
-rw-r--r--strata/x-generic.morph1
-rwxr-xr-xstrip-gplv3.configure1
-rw-r--r--systems/devel-system-armv7-chroot.morph2
-rw-r--r--systems/devel-system-armv7-highbank.morph2
-rw-r--r--systems/devel-system-armv7-versatile.morph2
-rw-r--r--systems/devel-system-armv7-wandboard.morph2
-rw-r--r--systems/devel-system-armv7b-chroot.morph2
-rw-r--r--systems/devel-system-armv7b-highbank.morph2
-rw-r--r--systems/devel-system-armv7lhf-chroot.morph2
-rw-r--r--systems/devel-system-armv7lhf-highbank.morph2
-rw-r--r--systems/devel-system-armv7lhf-jetson.morph2
-rw-r--r--systems/devel-system-armv7lhf-wandboard.morph2
-rw-r--r--systems/devel-system-ppc64-chroot.morph2
-rw-r--r--systems/devel-system-ppc64-generic.morph2
-rw-r--r--systems/devel-system-x86_32-chroot.morph2
-rw-r--r--systems/devel-system-x86_32-generic.morph2
-rw-r--r--systems/devel-system-x86_64-chroot.morph2
-rw-r--r--systems/devel-system-x86_64-generic.morph2
-rw-r--r--systems/devel-system-x86_64-vagrant.morph4
-rw-r--r--systems/distbuild-system-armv7lhf-highbank.morph10
-rw-r--r--systems/distbuild-system-armv7lhf-jetson.morph10
-rw-r--r--systems/distbuild-system-ppc64.morph10
-rw-r--r--systems/distbuild-system-x86_32.morph10
-rw-r--r--systems/distbuild-system-x86_64.morph4
-rw-r--r--systems/genivi-baseline-system-armv7lhf-jetson.morph45
-rw-r--r--systems/genivi-baseline-system-armv7lhf-versatile.morph2
-rw-r--r--systems/genivi-baseline-system-x86_64-generic.morph4
-rw-r--r--systems/gitlab-ci-runner.morph2
-rw-r--r--systems/gnome-system.morph49
-rw-r--r--systems/nodejs-system-x86_64.morph2
-rw-r--r--systems/qt4-devel-system-x86_64-generic.morph2
-rw-r--r--systems/qt5-devel-system-x86_64-generic.morph2
-rw-r--r--systems/trove-system-x86_64.morph2
-rw-r--r--systems/xfce-system.morph4
114 files changed, 1366 insertions, 252 deletions
diff --git a/cloud-init.configure b/cloud-init.configure
index 0dd53654..aa83e0e2 100755
--- a/cloud-init.configure
+++ b/cloud-init.configure
@@ -40,11 +40,24 @@ True|yes)
esac
-ln -sf /lib/systemd/system/cloud-config.service \
- "$ROOT/etc/systemd/system/multi-user.target.wants/cloud-config.service"
-ln -sf /lib/systemd/system/cloud-init-local.service \
- "$ROOT/etc/systemd/system/multi-user.target.wants/cloud-init-local.service"
-ln -sf /lib/systemd/system/cloud-init.service \
- "$ROOT/etc/systemd/system/multi-user.target.wants/cloud-init.service"
-ln -sf /lib/systemd/system/cloud-final.service \
- "$ROOT/etc/systemd/system/multi-user.target.wants/cloud-final.service"
+cloud_init_services="cloud-config.service
+ cloud-init-local.service
+ cloud-init.service
+ cloud-final.service"
+
+# Iterate over the cloud-init services and enable them creating a link
+# into /etc/systemd/system/multi-user.target.wants.
+# If the services to link are not present, fail.
+
+services_folder="lib/systemd/system"
+for service_name in $cloud_init_services; do
+ if [ ! -f "$ROOT/$services_folder/$service_name" ]; then
+ echo "ERROR: Service $service_name is missing." >&2
+ echo "Failed to configure cloud-init."
+ exit 1
+ else
+ echo Enabling systemd service "$service_name" >"$MORPH_LOG_FD"
+ ln -sf "/$services_folder/$service_name" \
+ "$ROOT/etc/systemd/system/multi-user.target.wants/$service_name"
+ fi
+done
diff --git a/clusters/gnome-deploy.morph b/clusters/gnome-deploy.morph
new file mode 100644
index 00000000..15c37d37
--- /dev/null
+++ b/clusters/gnome-deploy.morph
@@ -0,0 +1,9 @@
+name: gnome-deploy
+kind: cluster
+systems:
+- morph: systems/gnome-system.morph
+ deploy:
+ my-raw-disk-image:
+ type: rawdisk
+ location: /gnome.img
+ DISK_SIZE: 4G
diff --git a/clusters/jetson-upgrade.morph b/clusters/jetson-upgrade.morph
index e378cca5..f44e597a 100644
--- a/clusters/jetson-upgrade.morph
+++ b/clusters/jetson-upgrade.morph
@@ -1,7 +1,7 @@
name: jetson-upgrade
kind: cluster
systems:
-- morph: devel-system-armv7lhf-jetson
+- morph: systems/devel-system-armv7lhf-jetson.morph
deploy-defaults:
TROVE_HOST: TROVE_HOST
TROVE_ID: TROVE_ID
@@ -12,7 +12,6 @@ systems:
KERNEL_ARGS: console=ttyS0,115200n8 no_console_suspend=1 lp0_vec=2064@0xf46ff000 video=tegrafb mem=1862M@2048M memtype=255 ddr_die=2048M@2048M section=256M pmuboard=0x0177:0x0000:0x02:0x43:0x00 vpr=151M@3945M tsec=32M@3913M otf_key=c75e5bb91eb3bd94560357b64422f85 usbcore.old_scheme_first=1 core_edp_mv=1150 core_edp_ma=4000 tegraid=40.1.1.0.0 debug_uartport=lsport,3 power_supply=Adapter audio_codec=rt5640 modem_id=0 android.kerneltype=normal usb_port_owner_info=0 fbcon=map:1 commchip_id=0 usb_port_owner_info=0 lane_owner_info=6 emc_max_dvfs=0 touch_id=0@0 tegra_fbmem=32899072@0xad012000 board_info=0x0177:0x0000:0x02:0x43:0x00 tegraboot=sdmmc gpt
FSTAB_SRC: LABEL=src /src auto defaults,rw,noatime 0 2
deploy:
- jetson:
+ self:
type: ssh-rsync
location: root@localhost
- HOSTNAME: baserock-jetson
diff --git a/clusters/release.morph b/clusters/release.morph
index 37defb09..5beee3e2 100644
--- a/clusters/release.morph
+++ b/clusters/release.morph
@@ -29,11 +29,14 @@ systems:
type: rawdisk
location: devel-system-x86_64-generic.img
DISK_SIZE: 4G
-- morph: systems/devel-system-armv7lhf-wandboard.morph
+- morph: systems/devel-system-armv7lhf-jetson.morph
deploy:
release:
- type: tar
- location: devel-system-armv7lhf-wandboard.tar
+ type: rawdisk
+ location: devel-system-armv7lhf-jetson.img
+ DISK_SIZE: 4G
+ ROOT_DEVICE: "/dev/mmcblk0p1"
+ KERNEL_ARGS: cma=256M console=ttyS0,115200n8 no_console_suspend=1 lp0_vec=2064@0xf46ff000 video=tegrafb mem=1862M@2048M memtype=255 ddr_die=2048M@2048M section=256M pmuboard=0x0177:0x0000:0x02:0x43:0x00 vpr=151M@3945M tsec=32M@3913M otf_key=c75e5bb91eb3bd94560357b64422f85 usbcore.old_scheme_first=1 core_edp_mv=1150 core_edp_ma=4000 tegraid=40.1.1.0.0 debug_uartport=lsport,3 power_supply=Adapter audio_codec=rt5640 modem_id=0 android.kerneltype=normal usb_port_owner_info=0 fbcon=map:1 commchip_id=0 usb_port_owner_info=0 lane_owner_info=6 emc_max_dvfs=0 touch_id=0@0 tegra_fbmem=32899072@0xad012000 board_info=0x0177:0x0000:0x02:0x43:0x00 tegraboot=sdmmc gpt
- morph: systems/genivi-baseline-system-x86_64-generic.morph
deploy:
genivi-baseline-system-x86_64-generic:
@@ -41,10 +44,14 @@ systems:
location: genivi-baseline-system-x86_64-generic.img
DISK_SIZE: 4G
KERNEL_ARGS: vga=788
-- morph: systems/genivi-baseline-system-armv7lhf-versatile.morph
+- morph: systems/genivi-baseline-system-armv7lhf-jetson.morph
deploy:
- genivi-baseline-system-armv7lhf-versatile:
+ genivi-baseline-system-armv7lhf-jetson:
type: rawdisk
- location: genivi-baseline-system-armv7lhf-versatile.img
+ location: genivi-baseline-system-armv7lhf-jetson.img
DISK_SIZE: 4G
- KERNEL_ARGS: vga=788
+ ROOT_DEVICE: "/dev/mmcblk0p1"
+ DTB_PATH: "boot/tegra124-jetson-tk1.dtb"
+ BOOTLOADER_CONFIG_FORMAT: "extlinux"
+ BOOTLOADER_INSTALL: "none"
+ KERNEL_ARGS: cma=256M console=ttyS0,115200n8 no_console_suspend=1 lp0_vec=2064@0xf46ff000 video=tegrafb mem=1862M@2048M memtype=255 ddr_die=2048M@2048M section=256M pmuboard=0x0177:0x0000:0x02:0x43:0x00 vpr=151M@3945M tsec=32M@3913M otf_key=c75e5bb91eb3bd94560357b64422f85 usbcore.old_scheme_first=1 core_edp_mv=1150 core_edp_ma=4000 tegraid=40.1.1.0.0 debug_uartport=lsport,3 power_supply=Adapter audio_codec=rt5640 modem_id=0 android.kerneltype=normal usb_port_owner_info=0 fbcon=map:1 commchip_id=0 usb_port_owner_info=0 lane_owner_info=6 emc_max_dvfs=0 touch_id=0@0 tegra_fbmem=32899072@0xad012000 board_info=0x0177:0x0000:0x02:0x43:0x00 tegraboot=sdmmc gpt
diff --git a/distbuild.configure b/distbuild.configure
index 79148106..d9b9fb8a 100644
--- a/distbuild.configure
+++ b/distbuild.configure
@@ -40,13 +40,12 @@
set -e
-set -u
-
if [ -n "$DISTBUILD_GENERIC" ]; then
echo "Not configuring the distbuild node, it will be generic"
exit 0
fi
+set -u
# Check that all the variables needed are present:
diff --git a/mason.configure b/mason.configure
index 4341d8c0..4d11feb4 100644
--- a/mason.configure
+++ b/mason.configure
@@ -102,19 +102,18 @@ mkdir -p "$MASON_DATA"
python <<'EOF' >"$MASON_DATA/mason.conf"
import os, sys, yaml
-trove_configuration={
- 'ARTIFACT_CACHE_SERVIER': os.environ['ARTIFACT_CACHE_SERVER'],
+mason_configuration={
+ 'ARTIFACT_CACHE_SERVER': os.environ['ARTIFACT_CACHE_SERVER'],
'MASON_CLUSTER_MORPHOLOGY': os.environ['MASON_CLUSTER_MORPHOLOGY'],
'MASON_DEFINITIONS_REF': os.environ['MASON_DEFINITIONS_REF'],
'MASON_DISTBUILD_ARCH': os.environ['MASON_DISTBUILD_ARCH'],
'MASON_TEST_HOST': os.environ['MASON_TEST_HOST'],
- 'TROVE_ADMIN_NAME': os.environ['TROVE_ADMIN_NAME'],
'TROVE_ID': os.environ['TROVE_ID'],
'TROVE_HOST': os.environ['TROVE_HOST'],
'CONTROLLERHOST': os.environ['CONTROLLERHOST'],
}
-yaml.dump(trove_configuration, sys.stdout, default_flow_style=False)
+yaml.dump(mason_configuration, sys.stdout, default_flow_style=False)
EOF
diff --git a/scripts/cycle.sh b/scripts/cycle.sh
new file mode 100755
index 00000000..0198c1f9
--- /dev/null
+++ b/scripts/cycle.sh
@@ -0,0 +1,50 @@
+#!/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.
+
+usage() {
+ echo "Usage: cycle.sh some-system some-cluster"
+ echo
+ echo "This builds and deploys the current checked out version of"
+ echo "some-system, applying it as a self-upgrade to the system you"
+ echo "are working in, using configuration from some-cluster."
+ echo "The upgrade is labelled TEST, and is set to be the default for"
+ echo "next boot."
+}
+
+if [ -z "$1" ] || [ -z "$2" ] ; then
+ usage
+ exit 1
+fi
+
+if system-version-manager get-running | grep -q '^TEST$'; then
+ echo "You are currently running the TEST system."
+ echo "Maybe you want to boot into a different system version?"
+ exit 1
+fi
+
+set -e
+set -v
+
+system-version-manager set-default factory
+if system-version-manager list | grep -q '^TEST$'; then
+ system-version-manager remove TEST
+fi
+
+morph gc
+morph build "$1"
+
+sed -i "s|^- morph: .*$|- morph: $1|" "$2"
+morph deploy --upgrade "$2" self.HOSTNAME=$(hostname) self.VERSION_LABEL=TEST
diff --git a/scripts/licensecheck.sh b/scripts/licensecheck.sh
index c8f53cf2..7e4c4b91 100755
--- a/scripts/licensecheck.sh
+++ b/scripts/licensecheck.sh
@@ -53,6 +53,7 @@ libtool \
m4 \
make \
nano \
+patch \
texinfo-tarball"
gplv3_repos=""
diff --git a/strata/NetworkManager-common.morph b/strata/NetworkManager-common.morph
new file mode 100644
index 00000000..7233d84f
--- /dev/null
+++ b/strata/NetworkManager-common.morph
@@ -0,0 +1,18 @@
+name: NetworkManager-common
+kind: stratum
+build-depends:
+- morph: strata/audio-bluetooth.morph
+- morph: strata/network-security.morph
+- morph: strata/connectivity.morph
+chunks:
+- name: libndp
+ repo: upstream:libndp
+ ref: master
+ build-depends: []
+- name: NetworkManager
+ morph: strata/NetworkManager-common/NetworkManager.morph
+ repo: upstream:NetworkManager
+ ref: 6eb82acd6dce882f4b91aafcf68dd9e143ce34e2
+ unpetrify-ref: 0.9.10
+ build-depends:
+ - libndp
diff --git a/strata/NetworkManager-common/NetworkManager.morph b/strata/NetworkManager-common/NetworkManager.morph
new file mode 100644
index 00000000..9840dfa4
--- /dev/null
+++ b/strata/NetworkManager-common/NetworkManager.morph
@@ -0,0 +1,5 @@
+name: NetworkManager
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --with-session-tracking=systemd --disable-ppp
diff --git a/strata/armv7lhf-cross-toolchain.morph b/strata/armv7lhf-cross-toolchain.morph
index 0e2f7922..c76ae537 100644
--- a/strata/armv7lhf-cross-toolchain.morph
+++ b/strata/armv7lhf-cross-toolchain.morph
@@ -13,8 +13,8 @@ chunks:
- name: armv7lhf-cross-linux-api-headers
morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph
repo: upstream:linux
- ref: eff825d6e284eb0fb04b434429a3e3b2e10cabf8
- unpetrify-ref: baserock/build-essential
+ ref: df2e1b9168a7ab5dd8149e38b5ac70cdef86d1fa
+ unpetrify-ref: baserock/v3.8
build-depends: []
- name: armv7lhf-cross-gcc-nolibc
morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph
index d92150a5..8e842e41 100644
--- a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph
@@ -1,6 +1,7 @@
name: armv7lhf-cross-binutils
kind: chunk
build-system: autotools
+
configure-commands:
- |
# The TARGET used is the final triplet we expect, rather than that
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph
index afbfa939..ee28c9dd 100644
--- a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph
@@ -1,8 +1,20 @@
name: armv7lhf-cross-eglibc
kind: chunk
+
configure-commands:
- mkdir o
+
+# Necessary for ARM port
- cd libc && ln -s ../ports ports
+
+# Configure flag notes:
+# 1. Location of linux-api-headers, needed since eglibc doesn't
+# support being given a sysroot.
+# 2. Location of binutils, since we build binutils for the final
+# target triplet, but our gcc of our stage 1 target triplet.
+# 3. Normal flags. See eglibc.morph.
+# 4. Force configuration values of certain things that can't be detected
+# in a cross-compile.
- |
export MORPH_ARCH=armv7lhf
export TARGET=armv7lhf-baserock-linux-gnueabi
@@ -22,8 +34,10 @@ configure-commands:
--enable-add-ons=nptl,ports --without-cvs --without-selinux \
`# [4]` libc_cv_c_cleanup=yes libc_cv_ctors_header=yes \
libc_cv_forced_unwind=yes libc_cv_ssp=no
+
build-commands:
- cd o && make localtime=UTC
+
install-commands:
- |
# eglibc doesn't help with sysroots, so we need to spell out the
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
index 9f993bc0..d164a60b 100644
--- a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
@@ -1,7 +1,20 @@
name: armv7lhf-cross-gcc-nolibc
kind: chunk
+
configure-commands:
- mkdir o
+
+# Configure flag notes:
+# 1. Standard flags. See gcc.morph.
+# 2. Our binutils is for the final $TARGET, rather than the intermediate
+# target our GCC is being built for, so we need to set
+# with-build-time-tools to get it to find our binutils at
+# build-time and with-as and with-ld so our temporary GCC uses
+# the appropriate tools when it compiles our libc, rather than
+# trying to use $TARGET_STAGE1-as when producing binaries.
+# 3. Disable stuff that doesn't work when building a cross compiler
+# without an existing libc, and generally try to keep this build as
+# simple as possible.
- |
export MORPH_ARCH=armv7lhf
export TARGET=armv7lhf-baserock-linux-gnueabi
@@ -25,10 +38,16 @@ configure-commands:
--disable-shared --disable-threads --disable-target-libiberty \
--disable-target-zlib --without-headers --with-newlib \
--with-system-zlib
+
build-commands:
- cd o && make
+
install-commands:
- cd o && make DESTDIR="$DESTDIR" install
+
+# The file libgcc_eh is required during eglibc's build, but is not created
+# because we built GCC with --disable-shared. This is a workaround for
+# eglibc's build system being slightly broken.
- |
export TARGET_STAGE1=armv7lhf-none-linux-gnueabi
libgcc_filename="$("$DESTDIR$PREFIX/bin/$TARGET_STAGE1-gcc" -print-libgcc-file-name)"
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph
index a5c6eac1..50c338e5 100644
--- a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph
@@ -1,7 +1,15 @@
name: armv7lhf-cross-gcc
kind: chunk
+
configure-commands:
- mkdir o
+
+# Configure flag notes:
+# 1. Use the default sysroot path to install to and locate headers
+# 2. Recommended by Linux From Scratch; required for C++ ABI
+# compatibility with other Linux distributions.
+# 3. Standard flags. See gcc.morph.
+# 4. Avoid having more than one copy of ZLib in use on the system
- |
export MORPH_ARCH=armv7lhf
export TARGET=armv7lhf-baserock-linux-gnueabi
@@ -23,8 +31,10 @@ configure-commands:
--with-mpfr-include="$(pwd)/../mpfr/src" \
--with-mpfr-lib="$(pwd)/mpfr/src/.libs" \
`# [4]` --with-system-zlib
+
build-commands:
- cd o && make
+
install-commands:
- cd o && make DESTDIR="$DESTDIR" install
- |
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph
index 351134b7..c2654419 100644
--- a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph
@@ -1,7 +1,6 @@
name: armv7lhf-cross-linux-api-headers
kind: chunk
install-commands:
-- make mrproper
- ARCH=arm make INSTALL_HDR_PATH=dest headers_install
- |
# Copy headers to the sysroot where the eglibc build will find them,
diff --git a/strata/bsp-jetson-devel.morph b/strata/bsp-jetson-devel.morph
index bf110d1f..a8fc696a 100644
--- a/strata/bsp-jetson-devel.morph
+++ b/strata/bsp-jetson-devel.morph
@@ -1,7 +1,13 @@
name: bsp-jetson-devel
kind: stratum
-description: The platform dependent components required to boot an NVIDIA Jetson TK1
- development image board.
+description: |
+ Platform-specific chunks for NVIDIA Jetson TK1 development system.
+
+ Support for the Tegra platform is still being developed. This BSP uses
+ a patched version of Linux 3.10 supplied by NVIDIA, which provides
+ reliable SATA, USB and networking and runs the CPUs at full speed.
+ To make use of the graphics acceleration on the Jetson you will need
+ to use a newer kernel.
build-depends:
- morph: strata/core.morph
chunks:
@@ -14,8 +20,8 @@ chunks:
- name: u-boot
morph: strata/bsp-jetson-devel/u-boot.morph
repo: upstream:u-boot
- ref: b15ae44ab9f085140039b09a00232d5aed6596a9
- unpetrify-ref: baserock/arm/tegra-uboot-btrfs
+ ref: c77921345b943cdf5f2f28bbe88c6d8970620d2e
+ unpetrify-ref: baserock/jetson/u-boot-tegra-next
build-depends:
- device-tree-compiler
- name: linux-jetson-tk1
diff --git a/strata/bsp-jetson-genivi.morph b/strata/bsp-jetson-genivi.morph
new file mode 100644
index 00000000..62835b74
--- /dev/null
+++ b/strata/bsp-jetson-genivi.morph
@@ -0,0 +1,47 @@
+name: bsp-jetson-genivi
+kind: stratum
+description: |
+ Platform-specific chunks for NVIDIA Jetson TK1 GENIVI Baseline
+
+ Support for the Tegra platform is still being developed. A very recent
+ kernel with some patches is currently required to get a fully
+ accelerated graphics stack on this platform. Note that the SATA and
+ networking will not work unless you have flashed the bootloader on
+ your board to the version of U-Boot built in this stratum. Also, the
+ CPUs on the Jetson run at a slow speed with this version of Linux.
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: device-tree-compiler
+ morph: strata/bsp-jetson-genivi/device-tree-compiler.morph
+ repo: upstream:device-tree-compiler
+ ref: c92f284c3cf76d471eb27a271de3a51cb45ed058
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: u-boot
+ morph: strata/bsp-jetson-genivi/u-boot.morph
+ repo: upstream:u-boot
+ ref: c77921345b943cdf5f2f28bbe88c6d8970620d2e
+ unpetrify-ref: baserock/jetson/u-boot-tegra-next
+ build-depends:
+ - device-tree-compiler
+- name: linux-jetson-tk1-genivi
+ morph: strata/bsp-jetson-genivi/linux-jetson-tk1-genivi.morph
+ repo: upstream:linux
+ ref: 8da6ad2e1c6366ebb2d9a72aeaf4a42dc32c8623
+ unpetrify-ref: baserock/jetson/3.17.0-rc5
+ build-depends:
+ - u-boot
+- name: bsp-support
+ morph: strata/bsp-jetson-genivi/bsp-support.morph
+ repo: baserock:baserock/bsp-support
+ ref: 19bc31ce3198a3c19cdd96d392bde34cb34ed525
+ unpetrify-ref: baserock/arm/tegra-3.10
+ build-depends: []
+- name: nouveau-drm
+ morph: strata/bsp-jetson-genivi/nouveau-drm.morph
+ repo: upstream:nouveau
+ ref: 62d1f5d2f5b3e5122eeac0f763dcdd1d04bf5c45
+ unpetrify-ref: baserock/jetson/3.17-rc5
+ build-depends:
+ - linux-jetson-tk1-genivi
diff --git a/strata/bsp-jetson-genivi/bsp-support.morph b/strata/bsp-jetson-genivi/bsp-support.morph
new file mode 100644
index 00000000..23524ac7
--- /dev/null
+++ b/strata/bsp-jetson-genivi/bsp-support.morph
@@ -0,0 +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 -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-genivi/device-tree-compiler.morph b/strata/bsp-jetson-genivi/device-tree-compiler.morph
new file mode 100644
index 00000000..8abfafc8
--- /dev/null
+++ b/strata/bsp-jetson-genivi/device-tree-compiler.morph
@@ -0,0 +1,6 @@
+name: device-tree-compiler
+kind: chunk
+build-commands:
+- make all
+install-commands:
+- make install DESTDIR="$DESTDIR" PREFIX="$PREFIX"
diff --git a/strata/bsp-jetson-genivi/linux-jetson-tk1-genivi.morph b/strata/bsp-jetson-genivi/linux-jetson-tk1-genivi.morph
new file mode 100644
index 00000000..e1c99473
--- /dev/null
+++ b/strata/bsp-jetson-genivi/linux-jetson-tk1-genivi.morph
@@ -0,0 +1,71 @@
+name: linux-jetson-tk1-genivi
+kind: chunk
+configure-commands:
+- make ARCH=arm tegra_defconfig
+- scripts/config -d KERNEL_LZO
+- scripts/config -e KERNEL_GZIP
+- scripts/config -e NAMESPACES
+- 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 --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- 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 DRM_TEGRA_STAGING
+- scripts/config -m DRM_NOUVEAU
+- yes '' | make ARCH=arm oldconfig
+build-commands:
+- make $MAKEFLAGS ARCH=arm LOADADDR=0x80200000 zImage dtbs
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- cp arch/arm/boot/zImage "$DESTDIR"/boot/zImage
+- cp arch/arm/boot/dts/tegra124-jetson-tk1.dtb "$DESTDIR"/boot/.
+- make modules
+- make INSTALL_MOD_PATH="$DESTDIR" modules_install
+- install -d "$DESTDIR$PREFIX/src/linux"
+- |
+ (
+ printf 'Makefile\0'
+ printf 'Module.symvers\0'
+ find arch/arm -maxdepth 1 -name 'Makefile*' -print0
+ find arch/arm \( -name 'module.lds' -o -name 'Kbuild.platforms' -o -name 'Platform' \) -print0
+ find arch/arm \( -type d -a \( -name include -o -name scripts \) \) -o \
+ \! -type d -a \( -path '*include/*' -o -path '*scripts/*' \) -print0
+ find include -name 'asm*' -prune -o -print0
+ find include/asm-generic -print0
+ find include/uapi -print0
+ find scripts -print0
+ ) | cpio -0pumd "$DESTDIR$PREFIX/src/linux"
diff --git a/strata/bsp-jetson-genivi/nouveau-drm.morph b/strata/bsp-jetson-genivi/nouveau-drm.morph
new file mode 100644
index 00000000..e89df38b
--- /dev/null
+++ b/strata/bsp-jetson-genivi/nouveau-drm.morph
@@ -0,0 +1,10 @@
+name: nouveau-drm
+kind: chunk
+build-commands:
+ - cd drm && make M=$(pwd) -C /usr/src/linux/ modules
+install-commands:
+ - cd drm && make M="$(pwd)" -C /usr/src/linux/ INSTALL_MOD_PATH="$DESTDIR" modules_install
+system-integration:
+ nouveau-drm-misc:
+ 00-earlyconf:
+ - (cd /lib/modules && for version in *; do depmod -a "$version"; done)
diff --git a/strata/bsp-jetson-genivi/u-boot.morph b/strata/bsp-jetson-genivi/u-boot.morph
new file mode 100644
index 00000000..705b3851
--- /dev/null
+++ b/strata/bsp-jetson-genivi/u-boot.morph
@@ -0,0 +1,16 @@
+name: u-boot
+kind: chunk
+configure-commands:
+- make ARCH=arm jetson-tk1_config
+build-commands:
+- make ARCH=arm CROSS_COMPILE=/usr/bin/
+- make ARCH=arm CROSS_COMPILE=/usr/bin/ tools
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX/bin"
+- mkdir -p "$DESTDIR/boot"
+- install -m 755 u-boot-dtb-tegra.bin "$DESTDIR/boot/u-boot.bin"
+- install -m 755 tools/img2brec.sh "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/jtagconsole "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/netconsole "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/mkenvimage "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/mkimage "$DESTDIR$PREFIX/bin/."
diff --git a/strata/build-essential.morph b/strata/build-essential.morph
index 3918a13e..7886b610 100644
--- a/strata/build-essential.morph
+++ b/strata/build-essential.morph
@@ -58,8 +58,8 @@ chunks:
- name: stage2-linux-api-headers
morph: strata/build-essential/stage2-linux-api-headers.morph
repo: upstream:linux
- ref: eff825d6e284eb0fb04b434429a3e3b2e10cabf8
- unpetrify-ref: baserock/build-essential
+ ref: df2e1b9168a7ab5dd8149e38b5ac70cdef86d1fa
+ unpetrify-ref: baserock/v3.8
build-depends:
- stage1-binutils
- stage1-gcc
@@ -181,8 +181,8 @@ chunks:
- name: linux-api-headers
morph: strata/build-essential/linux-api-headers.morph
repo: upstream:linux
- ref: eff825d6e284eb0fb04b434429a3e3b2e10cabf8
- unpetrify-ref: baserock/build-essential
+ ref: df2e1b9168a7ab5dd8149e38b5ac70cdef86d1fa
+ unpetrify-ref: baserock/v3.8
build-depends:
- stage2-binutils
- stage2-busybox
diff --git a/strata/build-essential/binutils.morph b/strata/build-essential/binutils.morph
index 81d4d6f7..bab52672 100644
--- a/strata/build-essential/binutils.morph
+++ b/strata/build-essential/binutils.morph
@@ -1,6 +1,7 @@
name: binutils
kind: chunk
build-system: autotools
+
configure-commands:
- |
./configure --prefix="$PREFIX" --disable-nls --disable-werror \
diff --git a/strata/build-essential/busybox.morph b/strata/build-essential/busybox.morph
index df7bf008..b0bb46f5 100644
--- a/strata/build-essential/busybox.morph
+++ b/strata/build-essential/busybox.morph
@@ -1,31 +1,41 @@
name: busybox
kind: chunk
+
configure-commands:
+# Busybox's default config has everything enabled.
- make defconfig
-- sed -e 's|.*UDHCPC_DEFAULT_SCRIPT.*|CONFIG_UDHCPC_DEFAULT_SCRIPT="'"$PREFIX"/share/udhcpc/default.script'"|'
- -i .config
-- sed -e 's|.*IFUPDOWN_IFSTATE_PATH.*|CONFIG_IFUPDOWN_IFSTATE_PATH="/run/ifstate"|'
- -i .config
-- '[ "$PREFIX" = /usr ] || sed -e ''s/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/''
- -i .config'
+
+- sed -e 's|.*UDHCPC_DEFAULT_SCRIPT.*|CONFIG_UDHCPC_DEFAULT_SCRIPT="'"$PREFIX"/share/udhcpc/default.script'"|' -i .config
+- sed -e 's|.*IFUPDOWN_IFSTATE_PATH.*|CONFIG_IFUPDOWN_IFSTATE_PATH="/run/ifstate"|' -i .config
+
+# Avoid dividing applets between $PREFIX/[s]bin and $PREFIX/usr/[s]bin.
+- '[ "$PREFIX" = /usr ] || sed -e ''s/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/'' -i .config'
+
+# We have GAWK, but in GENIVI baseline we want to get rid of it
+# - sed -e 's/CONFIG_AWK=y.*/# CONFIG_AWK is not set/' -i .config
+
+# Depends on stuff that was removed since eglibc 2.14.
- sed -e 's/CONFIG_INETD=y.*/# CONFIG_INETD is not set/' -i .config
+
+# Busybox Patch is incompatible enough with GNU Patch that it can't be
+# used for GNULib projects built from Git.
- sed -e 's/CONFIG_PATCH=y.*/# CONFIG_PATCH is not set/' -i .config
+
+# None of this is needed because we have kmod; and it actually breaks the
+# Linux build because depmod isn't compatible enough with util-linux's.
- sed -e 's/CONFIG_DEPMOD=y.*/# CONFIG_DEPMOD is not set/' -i .config
- sed -e 's/CONFIG_INSMOD=y.*/# CONFIG_INSMOD is not set/' -i .config
- sed -e 's/CONFIG_MODPROBE=y.*/# CONFIG_MODPROBE is not set/' -i .config
- sed -e 's/CONFIG_MODPROBE_SMALL=y.*/# CONFIG_MODPROBE_SMALL is not set/' -i .config
- sed -e 's/CONFIG_LSMOD=y.*/# CONFIG_LSMOD is not set/' -i .config
- sed -e 's/CONFIG_RMMOD=y.*/# CONFIG_RMMOD is not set/' -i .config
-- sed -e 's/CONFIG_FEATURE_MOUNT_CIFS=y.*/# CONFIG_FEATURE_MOUNT_CIFS is not set/'
- -i .config
-- sed -e 's/CONFIG_FEATURE_EXTRA_QUIET=y.*/# CONFIG_FEATURE_EXTRA_QUIET is not set/'
- -i .config
-- sed -e 's/CONFIG_FEATURE_INIT_COREDUMPS=y.*/# CONFIG_FEATURE_INIT_COREDUMPS is not
- set/' -i .config
-- sed -e 's/CONFIG_FEATURE_INIT_SCTTY=y.*/# CONFIG_FEATURE_INIT_SCTTY is not set/'
- -i .config
-- sed -e 's/CONFIG_FEATURE_INIT_SYSLOG=y.*/# CONFIG_FEATURE_INIT_SYSLOG is not set/'
- -i .config
+
+# General features that we don't need.
+- sed -e 's/CONFIG_FEATURE_MOUNT_CIFS=y.*/# CONFIG_FEATURE_MOUNT_CIFS is not set/' -i .config
+- sed -e 's/CONFIG_FEATURE_EXTRA_QUIET=y.*/# CONFIG_FEATURE_EXTRA_QUIET is not set/' -i .config
+- sed -e 's/CONFIG_FEATURE_INIT_COREDUMPS=y.*/# CONFIG_FEATURE_INIT_COREDUMPS is not set/' -i .config
+- sed -e 's/CONFIG_FEATURE_INIT_SCTTY=y.*/# CONFIG_FEATURE_INIT_SCTTY is not set/' -i .config
+- sed -e 's/CONFIG_FEATURE_INIT_SYSLOG=y.*/# CONFIG_FEATURE_INIT_SYSLOG is not set/' -i .config
- sed -e 's/CONFIG_FEATURE_INITRD=y.*/# CONFIG_FEATURE_INITRD is not set/' -i .config
- sed -e 's/CONFIG_FEATURE_MINIX2=y.*/# CONFIG_FEATURE_MINIX2 is not set/' -i .config
- sed -e 's/CONFIG_FSCK_MINIX=y.*/# CONFIG_FSCK_MINIX is not set/' -i .config
@@ -38,11 +48,13 @@ configure-commands:
- sed -e 's/CONFIG_UNLZMA=y.*/# CONFIG_UNLZMA is not set/' -i .config
- sed -e 's/CONFIG_UNXZ=y.*/# CONFIG_UNXZ is not set/' -i .config
- sed -e 's/CONFIG_XZ=y.*/# CONFIG_XZ is not set/' -i .config
+
+# Now turn on some little bits we do need
- sed -e 's/# CONFIG_BBCONFIG is not set/CONFIG_BBCONFIG=y/' -i .config
-- sed -e 's/# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set/CONFIG_FEATURE_COMPRESS_BBCONFIG=y/'
- -i .config
-- sed -e 's/# CONFIG_FEATURE_MOUNT_HELPERS is not set/CONFIG_FEATURE_MOUNT_HELPERS=y/'
- -i .config
+- sed -e 's/# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set/CONFIG_FEATURE_COMPRESS_BBCONFIG=y/' -i .config
+- sed -e 's/# CONFIG_FEATURE_MOUNT_HELPERS is not set/CONFIG_FEATURE_MOUNT_HELPERS=y/' -i .config
+
+
build-commands:
- make
- |
@@ -51,12 +63,16 @@ build-commands:
f=$(echo "$fin" | sed 's/\.in$//')
sed -e 's|@rootprefix@||g' "$fin" >"$f";
done
+
install-commands:
- |
if [ "$PREFIX" = /usr ]; then PREFIX=; fi &&
make CONFIG_PREFIX="$DESTDIR$PREFIX" install &&
chmod 6755 "$DESTDIR$PREFIX"/bin/busybox
+
- mkdir -p "$DESTDIR/var/spool/cron/crontabs"
+
+# Install systemd units
- mkdir -p "$DESTDIR/lib/systemd/system/multi-user.target.wants"
- |
for f in systemd-units/*.service; do
@@ -66,11 +82,18 @@ install-commands:
for f in $(cd systemd-units; ls *.service | grep -v -F "@"); do
ln -s "../$f" "$DESTDIR/lib/systemd/system/multi-user.target.wants/";
done
+
+# Install custom udev rule to run ifup for every network device detected
- mkdir -p "$DESTDIR/lib/udev/rules.d"
-- for f in udev-rules/100-baserock.rules; do install -m 644 "$f" "$DESTDIR/lib/udev/rules.d";
+- for f in udev-rules/100-baserock.rules; do
+ install -m 644 "$f" "$DESTDIR/lib/udev/rules.d";
done
+
+# Set up DHCP
- mkdir -p "$DESTDIR$PREFIX"/share/udhcpc
- cp examples/udhcp/simple.script "$DESTDIR$PREFIX"/share/udhcpc/default.script
+
+# Set up NTP
- install scripts/run-ntpd-with-config "$DESTDIR$PREFIX"/sbin/.
- install -d "$DESTDIR/etc"
- |
@@ -80,6 +103,8 @@ install-commands:
server 2.pool.ntp.org
server 3.pool.ntp.org
EOF
+
+# Set up man environment variables
- |
cat << EOF > "$DESTDIR/etc/profile"
# Set default pager to less
diff --git a/strata/build-essential/eglibc.morph b/strata/build-essential/eglibc.morph
index 6f781a53..cc827ef9 100644
--- a/strata/build-essential/eglibc.morph
+++ b/strata/build-essential/eglibc.morph
@@ -38,7 +38,10 @@ products:
- .*
configure-commands:
- mkdir o
+
+# Necessary for ARM port
- cd libc && ln -s ../ports ports
+
- |
export CFLAGS="-O2 $CFLAGS"; cd o &&
../libc/configure \
@@ -49,8 +52,10 @@ configure-commands:
--enable-add-ons=nptl,ports \
--without-cvs \
--without-selinux
+
build-commands:
- cd o && make localtime=UTC
+
install-commands:
- cd o && make install_root="$DESTDIR" localtime=UTC install
- mkdir -p "$DESTDIR/etc"
diff --git a/strata/build-essential/gcc.morph b/strata/build-essential/gcc.morph
index c57edb61..50e2918c 100644
--- a/strata/build-essential/gcc.morph
+++ b/strata/build-essential/gcc.morph
@@ -1,7 +1,19 @@
name: gcc
kind: chunk
+
configure-commands:
- mkdir o
+
+# Configure flag notes:
+# 1. An attempt to stop anything going in $PREFIX/lib64 (which doesn't
+# fully work; we will need to hobble the multilib configuration in
+# config/i386/t-linux64 if we really want to kill /lib64).
+# 2. Multilib does not make sense in Baserock.
+# 3. Optimisation libraries which for now we do without.
+# 4. Recommended by Linux From Scratch; required for C++ ABI
+# compatibility with other Linux distributions.
+# 5. MPFR is built in the GCC tree, we need to locate it.
+# 6. Avoid having more than one copy of ZLib in use on the system
- |
cd o && \
../configure \
@@ -17,12 +29,14 @@ configure-commands:
`# [5]` --with-mpfr-include="$(pwd)/../mpfr/src" \
--with-mpfr-lib="$(pwd)/mpfr/src/.libs" \
`# [6]` --with-system-zlib
+
build-commands:
- cd o && make
+
install-commands:
- cd o && make DESTDIR="$DESTDIR" install
- ln -s gcc "$DESTDIR/$PREFIX/bin/cc"
-- |
+- >
for fortran_alias in f77 f90 f95; do
ln -s gfortran "$DESTDIR/$PREFIX/bin/$fortran_alias"
done
diff --git a/strata/build-essential/linux-api-headers.morph b/strata/build-essential/linux-api-headers.morph
index d28b0905..e1ff2638 100644
--- a/strata/build-essential/linux-api-headers.morph
+++ b/strata/build-essential/linux-api-headers.morph
@@ -1,7 +1,6 @@
name: linux-api-headers
kind: chunk
install-commands:
-- make mrproper
- ARCH=$(./morph-arch) make INSTALL_HDR_PATH=dest headers_install
- install -d "$DESTDIR${PREFIX-/usr}/include"
- cp -r dest/include/* "$DESTDIR/${PREFIX-/usr}/include"
diff --git a/strata/build-essential/stage1-binutils.morph b/strata/build-essential/stage1-binutils.morph
index d3e73a87..b6670d5c 100644
--- a/strata/build-essential/stage1-binutils.morph
+++ b/strata/build-essential/stage1-binutils.morph
@@ -1,7 +1,14 @@
name: stage1-binutils
kind: chunk
build-system: autotools
+
configure-commands:
+# We set the sysroot location dynamically at runtime by passing -B to GCC,
+# so we configure with sysroot=/. Setting the lib path is vital to avoid
+# the tools we build linking to the libraries on the host system; the '='
+# makes the path we give relative to the sysroot, which we can then set
+# at runtime by passing -Wl,--sysroot to GCC.
+
- |
./configure --prefix="$PREFIX" --disable-nls --disable-werror \
--build=$(sh config.guess) \
diff --git a/strata/build-essential/stage1-gcc.morph b/strata/build-essential/stage1-gcc.morph
index 0e0c2d81..0cb03568 100644
--- a/strata/build-essential/stage1-gcc.morph
+++ b/strata/build-essential/stage1-gcc.morph
@@ -1,7 +1,19 @@
name: stage1-gcc
kind: chunk
+
configure-commands:
- mkdir o
+
+# Configure flag notes:
+# 1. Standard flags. See gcc.morph.
+# 2. Disable searching /usr/local/include for headers
+# 3. The pass 1 compiler needs to find the libraries we build in pass 2.
+# Include path must be set explicility, because it defaults to
+# $SYSROOT/usr/include rather than $SYSROOT/include.
+# FIXME: this flag is not present until GCC 4.6.3!
+# 4. Disable stuff that doesn't work when building a cross compiler
+# without an existing libc, and generally try to keep this build as
+# simple as possible.
- |
cd o &&
../configure \
@@ -21,10 +33,16 @@ configure-commands:
--disable-shared --disable-threads --disable-target-libiberty \
--disable-target-zlib --without-headers --with-newlib \
--with-system-zlib
+
build-commands:
- cd o && make
+
install-commands:
- cd o && make DESTDIR="$DESTDIR" install
+
+# The file libgcc_eh is required during eglibc's build, but is not created
+# because we built GCC with --disable-shared. This is a workaround for
+# eglibc's build system being slightly broken.
- |
libgcc_filename=$($DESTDIR$PREFIX/bin/$TARGET_STAGE1-gcc -print-libgcc-file-name)
ln -sv libgcc.a $(echo $libgcc_filename | sed 's/libgcc/&_eh/')
diff --git a/strata/build-essential/stage2-binutils.morph b/strata/build-essential/stage2-binutils.morph
index a3701b2c..bc0b18ac 100644
--- a/strata/build-essential/stage2-binutils.morph
+++ b/strata/build-essential/stage2-binutils.morph
@@ -1,6 +1,7 @@
name: stage2-binutils
kind: chunk
build-system: autotools
+
configure-commands:
- |
export STAGE2_SYSROOT="$(dirname $(pwd))"
@@ -11,7 +12,11 @@ configure-commands:
--build=$(sh config.guess) \
--host=$TARGET_STAGE1 \
--target=$TARGET_STAGE1
+
build-commands:
+# Nested configure scripts require that we set CPPFLAGS here as well
+# (I don't think we should have to .. . at least in GCC, I think
+# TARGET_CPPFLAGS may be the answer)
- |
export STAGE2_SYSROOT="$(dirname $(pwd))"
export CPPFLAGS="--sysroot=$STAGE2_SYSROOT"
diff --git a/strata/build-essential/stage2-busybox.morph b/strata/build-essential/stage2-busybox.morph
index 7d17ea40..dc23d09b 100644
--- a/strata/build-essential/stage2-busybox.morph
+++ b/strata/build-essential/stage2-busybox.morph
@@ -1,31 +1,42 @@
name: stage2-busybox
kind: chunk
+
configure-commands:
+# Explicitly setting HOSTCC is required because we have a 'gcc' earlier in
+# the PATH supplied by the stage2-gcc chunk, which can't execute outside of
+# the stage 3 staging area.
- make HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- defconfig
-- '[ "$PREFIX" = /usr ] || sed -e ''s/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/''
- -i .config'
+
+# Avoid dividing applets between $PREFIX/[s]bin and $PREFIX/usr/[s]bin.
+- '[ "$PREFIX" = /usr ] || sed -e ''s/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/'' -i .config'
+
+# We have GAWK.
- sed -e 's/CONFIG_AWK=y.*/# CONFIG_AWK is not set/' -i .config
+
+# Depends on stuff that was removed since eglibc 2.14.
- sed -e 's/CONFIG_INETD=y.*/# CONFIG_INETD is not set/' -i .config
+
+# Busybox Patch is incompatible enough with GNU Patch that it can't be
+# used for GNULib projects built from Git.
- sed -e 's/CONFIG_PATCH=y.*/# CONFIG_PATCH is not set/' -i .config
+
+# None of this is needed because we have kmod; and it actually breaks the
+# Linux build because depmod isn't compatible enough with util-linux's.
- sed -e 's/CONFIG_DEPMOD=y.*/# CONFIG_DEPMOD is not set/' -i .config
- sed -e 's/CONFIG_INSMOD=y.*/# CONFIG_INSMOD is not set/' -i .config
- sed -e 's/CONFIG_MODPROBE=y.*/# CONFIG_MODPROBE is not set/' -i .config
- sed -e 's/CONFIG_MODPROBE_SMALL=y.*/# CONFIG_MODPROBE_SMALL is not set/' -i .config
- sed -e 's/CONFIG_LSMOD=y.*/# CONFIG_LSMOD is not set/' -i .config
- sed -e 's/CONFIG_RMMOD=y.*/# CONFIG_RMMOD is not set/' -i .config
-- sed -e 's/CONFIG_FEATURE_MOUNT_CIFS=y.*/# CONFIG_FEATURE_MOUNT_CIFS is not set/'
- -i .config
-- sed -e 's/CONFIG_FEATURE_EXTRA_QUIET=y.*/# CONFIG_FEATURE_EXTRA_QUIET is not set/'
- -i .config
-- sed -e 's/CONFIG_FEATURE_INIT_COREDUMPS=y.*/# CONFIG_FEATURE_INIT_COREDUMPS is not
- set/' -i .config
-- sed -e 's/CONFIG_FEATURE_INIT_SCTTY=y.*/# CONFIG_FEATURE_INIT_SCTTY is not set/'
- -i .config
-- sed -e 's/CONFIG_FEATURE_INIT_SYSLOG=y.*/# CONFIG_FEATURE_INIT_SYSLOG is not set/'
- -i .config
+
+# General features that we don't need.
+- sed -e 's/CONFIG_FEATURE_MOUNT_CIFS=y.*/# CONFIG_FEATURE_MOUNT_CIFS is not set/' -i .config
+- sed -e 's/CONFIG_FEATURE_EXTRA_QUIET=y.*/# CONFIG_FEATURE_EXTRA_QUIET is not set/' -i .config
+- sed -e 's/CONFIG_FEATURE_INIT_COREDUMPS=y.*/# CONFIG_FEATURE_INIT_COREDUMPS is not set/' -i .config
+- sed -e 's/CONFIG_FEATURE_INIT_SCTTY=y.*/# CONFIG_FEATURE_INIT_SCTTY is not set/' -i .config
+- sed -e 's/CONFIG_FEATURE_INIT_SYSLOG=y.*/# CONFIG_FEATURE_INIT_SYSLOG is not set/' -i .config
- sed -e 's/CONFIG_FEATURE_INITRD=y.*/# CONFIG_FEATURE_INITRD is not set/' -i .config
-- sed -e 's/CONFIG_FEATURE_USE_INITTAB=y.*/# CONFIG_FEATURE_USE_INITTAB is not set/'
- -i .config
+- sed -e 's/CONFIG_FEATURE_USE_INITTAB=y.*/# CONFIG_FEATURE_USE_INITTAB is not set/' -i .config
- sed -e 's/CONFIG_FEATURE_MINIX2=y.*/# CONFIG_FEATURE_MINIX2 is not set/' -i .config
- sed -e 's/CONFIG_FSCK_MINIX=y.*/# CONFIG_FSCK_MINIX is not set/' -i .config
- sed -e 's/CONFIG_HALT=y.*/# CONFIG_HALT is not set/' -i .config
@@ -41,13 +52,17 @@ configure-commands:
- sed -e 's/CONFIG_UNLZMA=y.*/# CONFIG_UNLZMA is not set/' -i .config
- sed -e 's/CONFIG_UNXZ=y.*/# CONFIG_UNXZ is not set/' -i .config
- sed -e 's/CONFIG_XZ=y.*/# CONFIG_XZ is not set/' -i .config
+
build-commands:
- |
export STAGE2_SYSROOT="$(dirname $(pwd))"
export CPPFLAGS="--sysroot=$STAGE2_SYSROOT"
export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT"
make HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1-
+
install-commands:
+# We expect to be built with a non-standard prefix in stage 2 (i.e. not
+# /usr). The install will break if prefix is set to /usr.
- |
export STAGE2_SYSROOT="$(dirname $(pwd))"
export CPPFLAGS="--sysroot=$STAGE2_SYSROOT"
diff --git a/strata/build-essential/stage2-eglibc.morph b/strata/build-essential/stage2-eglibc.morph
index 05b0e231..3a7277ac 100644
--- a/strata/build-essential/stage2-eglibc.morph
+++ b/strata/build-essential/stage2-eglibc.morph
@@ -1,8 +1,18 @@
name: stage2-eglibc
kind: chunk
+
configure-commands:
- mkdir o
+
+# Necessary for ARM port
- cd libc && ln -s ../ports ports
+
+# Configure flag notes:
+# 1. Avoid installing to PREFIX/lib64 on x86_64.
+# 2. Location of linux-api-headers.
+# 3. Normal flags. See eglibc.morph.
+# 4. Force configuration values of certain things that can't be detected
+# in a cross-compile.
- |
export CFLAGS="-O2 $CFLAGS"; export CXX=false; \
cd o && ../libc/configure \
@@ -15,11 +25,19 @@ configure-commands:
--enable-add-ons=nptl,ports --without-cvs --without-selinux \
`# [4]` libc_cv_c_cleanup=yes libc_cv_ctors_header=yes \
libc_cv_forced_unwind=yes libc_cv_ssp=no
+
build-commands:
- cd o && make localtime=UTC
+
install-commands:
- cd o && make install_root="$DESTDIR" localtime=UTC install
- sh stage2-eglibc-fix-specs
+
+# Install a symlink for the program interpreter (ld.so) so that binaries
+# built in stage 3 before the stage 3 eglibc is built can use it.
+# FIXME: get a better way of finding the name of the loader. The lib64
+# path is hardcoded into eglibc in the file
+# sysdeps/unix/sysv/linux/configure.
- install -d $DESTDIR/lib
- |
cpu=$(echo $TARGET | cut -d '-' -f 1)
diff --git a/strata/build-essential/stage2-gcc-fixed-headers.morph b/strata/build-essential/stage2-gcc-fixed-headers.morph
index 2c4741ee..10794872 100644
--- a/strata/build-essential/stage2-gcc-fixed-headers.morph
+++ b/strata/build-essential/stage2-gcc-fixed-headers.morph
@@ -1,6 +1,14 @@
name: stage2-gcc-fixed-headers
kind: chunk
install-commands:
+# Stage 1 GCC's fixincludes process created a limits.h before there was
+# a real limits.h available for the target. This step (taken from Linux
+# Linux From Scratch) creates a better one so that stage 2 GCC can compile.
+#
+# THIS IS A FRAGILE HACK! We need to replace the headers. The only way to
+# overwrite files in a staging area is to install a new chunk.
+# This is undesired behaviour in the long term, as we want to never
+# have overlaps, so this functionality may go away.
- |
libgcc_dir=$(dirname $($TARGET_STAGE1-gcc -print-libgcc-file-name))
sysroot="$(dirname "$(pwd)")"
@@ -8,3 +16,4 @@ install-commands:
mkdir -p "$DESTDIR/$target_libgcc_dir/include-fixed"
cat "gcc/limitx.h" "gcc/glimits.h" "gcc/limity.h" \
>"$DESTDIR/$target_libgcc_dir/include-fixed/limits.h"
+
diff --git a/strata/build-essential/stage2-gcc.morph b/strata/build-essential/stage2-gcc.morph
index e342d648..bf6378c1 100644
--- a/strata/build-essential/stage2-gcc.morph
+++ b/strata/build-essential/stage2-gcc.morph
@@ -1,7 +1,25 @@
name: stage2-gcc
kind: chunk
+
configure-commands:
- mkdir o
+
+# In other projects we specify the sysroot location using CPPFLAGS. Here,
+# that breaks because GCC compiles stuff for the *build* machine, too ...
+# and this requires using the host's compiler, which cannot use the same
+# set of CPPFLAGS as the target. If we specify the sysroot using CC instead
+# then we don't interfere, because we are only specifying the *host* C
+# compiler.
+#
+# Configure flag notes:
+# 1. It's vital that this compiler targets the bootstrap machine
+# (TARGET_STAGE1) so that the stage 1 GCC is used instead of the
+# compiler of the build machine.
+# 2. Disable searching /usr/local/include for headers
+# 3. This flag causes the correct --sysroot flag to be passed when calling
+# stage 1 GCC.
+# 4. C++ is built in stage 3.
+# 5. Standard flags. See gcc.morph.
- |
export STAGE2_SYSROOT="$(dirname $(pwd))"
export CC="$TARGET_STAGE1-gcc --sysroot=$STAGE2_SYSROOT"
@@ -22,12 +40,22 @@ configure-commands:
--without-cloog --without-ppl \
--with-mpfr-include="$(pwd)/../mpfr/src" \
--with-mpfr-lib="$(pwd)/mpfr/src/.libs"
+
build-commands:
- |
export STAGE2_SYSROOT="$(dirname $(pwd))"
cd o && make
+
install-commands:
- cd o && make DESTDIR="$DESTDIR" install
+
+# Stage 3 builds need to link against this file in the location that
+# it will be in the final system, so we make a temporary link now.
+#
+# On x86_64 GCC resolutely installs its libraries into lib64. To fix this
+# would require hobbling the MULTILIB_OSDIRNAMES field in
+# gcc/config/i386/t-linux64 and this might break things, so for now we
+# tolerate the inconsistency.
- |
if [ "$(echo $TARGET | cut -c -6)" = "x86_64" ]; then
libdir=lib64
diff --git a/strata/build-essential/stage2-linux-api-headers.morph b/strata/build-essential/stage2-linux-api-headers.morph
index e7d1f8ed..5cbf2f05 100644
--- a/strata/build-essential/stage2-linux-api-headers.morph
+++ b/strata/build-essential/stage2-linux-api-headers.morph
@@ -1,7 +1,6 @@
name: stage2-linux-api-headers
kind: chunk
install-commands:
-- make mrproper
- |
export ARCH=$(./morph-arch)
make INSTALL_HDR_PATH=dest headers_install
diff --git a/strata/build-essential/stage2-reset-specs.morph b/strata/build-essential/stage2-reset-specs.morph
index 6495909c..8892f67c 100644
--- a/strata/build-essential/stage2-reset-specs.morph
+++ b/strata/build-essential/stage2-reset-specs.morph
@@ -1,5 +1,17 @@
name: stage2-reset-specs
kind: chunk
+
+# Nasty hack to get around being unable to reliably add configuration to gcc,
+# hence the gcc specs are modified, combined with Baserock's rootfs protection
+# preventing specs being modified before builds.
+# The limitation is overcome by installing files as part of a chunk, which
+# overwrites previous files.
+# New specs were added for the bootstrap builds, but after stage2 we start
+# having chrooted builds, so the old specs need to be replaced.
+# Unfortunately we can't just replace the specs with the ones gcc produces,
+# since gcc behaves differently without specs to with specs it produces!
+# So we use a **NASTY HACK** to replace the specs symlink with one that
+# points to a file that doesn't exist.
install-commands:
- |
STAGE2_SYSROOT="$(dirname "$(pwd)")"
diff --git a/strata/connectivity.morph b/strata/connectivity.morph
index a65a940e..a8697f3a 100644
--- a/strata/connectivity.morph
+++ b/strata/connectivity.morph
@@ -20,10 +20,3 @@ chunks:
ref: 3e6fa55d5e28c93f417afeae7a7d4f349ddffcf4
unpetrify-ref: baserock/morph
build-depends: []
-- name: connman
- morph: strata/connectivity/connman.morph
- repo: upstream:connman
- ref: 9951ba7a0353cfc884e96833c64e58c1bcae3f44
- unpetrify-ref: baserock/1.24
- build-depends:
- - iptables
diff --git a/strata/connman-common.morph b/strata/connman-common.morph
new file mode 100644
index 00000000..f6f7ddb0
--- /dev/null
+++ b/strata/connman-common.morph
@@ -0,0 +1,11 @@
+name: connman-common
+kind: stratum
+build-depends:
+- morph: strata/connectivity.morph
+chunks:
+- name: connman
+ morph: strata/connman-common/connman.morph
+ repo: upstream:connman
+ ref: 9951ba7a0353cfc884e96833c64e58c1bcae3f44
+ unpetrify-ref: baserock/1.24
+ build-depends: []
diff --git a/strata/connectivity/connman.morph b/strata/connman-common/connman.morph
index e468bc49..e468bc49 100644
--- a/strata/connectivity/connman.morph
+++ b/strata/connman-common/connman.morph
diff --git a/strata/core.morph b/strata/core.morph
index 4c6a23bf..5c90c964 100644
--- a/strata/core.morph
+++ b/strata/core.morph
@@ -13,8 +13,8 @@ chunks:
- name: cmake
morph: strata/core/cmake.morph
repo: upstream:cmake
- ref: 99c4f0a49237633372f218a44e3503e0a2bddae6
- unpetrify-ref: baserock/morph
+ ref: 0b3781e4c497566acaa504d4106d11c02a642501
+ unpetrify-ref: v2.8.12.2
build-depends: []
- name: gdbm
morph: strata/core/gdbm.morph
@@ -86,8 +86,8 @@ chunks:
- name: bash
morph: strata/core/bash.morph
repo: upstream:bash
- ref: 783c677f45354b0d6df70e552217ecad8481804f
- unpetrify-ref: baserock/morph
+ ref: 3590145af6f1c9fa321dff231f69ae696e7e740b
+ unpetrify-ref: baserock/bash-4.3-patch-27
build-depends: []
- name: error-perl-tarball
repo: upstream:error-perl-tarball
@@ -123,8 +123,8 @@ chunks:
- name: cpython
morph: strata/core/cpython.morph
repo: upstream:cpython
- ref: 1aaa7cd8880727716883d75783dc0569f3e4238b
- unpetrify-ref: v2.7.2
+ ref: 0b92c75574adef1e1ccf1b635a3724a86b567cd2
+ unpetrify-ref: v2.7.8
build-depends:
- openssl-new
- bzip2
@@ -166,6 +166,14 @@ chunks:
- cpython
- libtool
- xz
+- name: ca-certificates
+ morph: strata/core/ca-certificates.morph
+ repo: upstream:ca-certificates
+ ref: e9b06b26d9e57444e74a5cb6beca3f12726fc3c6
+ unpetrify-ref: baserock/debian/20140325
+ build-depends:
+ - automake
+ - cpython
- name: curl
morph: strata/core/curl.morph
repo: upstream:curl
@@ -176,6 +184,7 @@ chunks:
- automake
- libtool
- openssl-new
+ - ca-certificates
- name: libexpat
morph: strata/core/libexpat.morph
repo: upstream:libexpat
diff --git a/strata/core/ca-certificates.morph b/strata/core/ca-certificates.morph
new file mode 100644
index 00000000..3072e4f3
--- /dev/null
+++ b/strata/core/ca-certificates.morph
@@ -0,0 +1,18 @@
+name: ca-certificates
+kind: chunk
+build-system: autotools
+configure-commands: []
+pre-install-commands:
+- mkdir -p "$DESTDIR"/usr/share/ca-certificates
+- mkdir -p "$DESTDIR"/usr/sbin
+post-install-commands:
+- mkdir "$DESTDIR"/etc
+- |
+ cd "$DESTDIR"/usr/share/ca-certificates
+ find * -type f > "$DESTDIR"/etc/ca-certificates.conf
+- |
+ export CERTSCONF="$DESTDIR/etc/ca-certificates.conf"
+ export CERTSDIR="$DESTDIR/usr/share/ca-certificates"
+ export ETCCERTSDIR="$DESTDIR/etc/ssl/certs"
+ mkdir -p "$ETCCERTSDIR"
+ ./sbin/update-ca-certificates
diff --git a/strata/cross-bootstrap.morph b/strata/cross-bootstrap.morph
index 50a230d6..f6a627b8 100644
--- a/strata/cross-bootstrap.morph
+++ b/strata/cross-bootstrap.morph
@@ -74,7 +74,7 @@ chunks:
- six
- name: morph
repo: baserock:baserock/morph
- ref: a32de7934cce79dda2b8dc20be1c5ec94109869e
+ ref: 53e1b30f654d05a26a999a0ad7b8ff9c1895aef6
unpetrify-ref: master
build-depends:
- cliapp
diff --git a/strata/distbuild.morph b/strata/distbuild.morph
deleted file mode 100644
index 36306d9c..00000000
--- a/strata/distbuild.morph
+++ /dev/null
@@ -1,23 +0,0 @@
-name: distbuild
-kind: stratum
-description: Morph distributed build software
-build-depends:
-- morph: strata/foundation.morph
-- morph: strata/core.morph
-- morph: strata/tools.morph
-chunks:
-- name: bottle
- repo: upstream:bottle
- ref: 5238c615b3ec198fedebb0fcaad4458e3d68d70f
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: morph-cache-server
- repo: baserock:baserock/morph-cache-server
- ref: cc5f95fa563c4817cdcffc428da18e263bd02ae2
- unpetrify-ref: master
- build-depends: []
-- name: flup
- repo: upstream:flup
- ref: 0f97c5e0ab7d9827506120efc22af3a9c21d1d70
- unpetrify-ref: baserock/morph
- build-depends: []
diff --git a/strata/enlightenment.morph b/strata/enlightenment.morph
index 95b42a6b..7ef6e22a 100644
--- a/strata/enlightenment.morph
+++ b/strata/enlightenment.morph
@@ -7,7 +7,7 @@ build-depends:
- morph: strata/lua.morph
- morph: strata/audio-bluetooth.morph
- morph: strata/multimedia-gstreamer-0.10.morph
-- morph: strata/connectivity.morph
+- morph: strata/connman-common.morph
chunks:
- name: efl
morph: strata/enlightenment/efl.morph
diff --git a/strata/foundation.morph b/strata/foundation.morph
index c97a1cff..c62d5ab2 100644
--- a/strata/foundation.morph
+++ b/strata/foundation.morph
@@ -19,8 +19,7 @@ chunks:
- name: kmod
morph: strata/foundation/kmod.morph
repo: upstream:kmod
- ref: 7f3b215d4e848afa74aea20a4c64f0cc1ef30eb4
- unpetrify-ref: baserock/morph
+ ref: v18
build-depends: []
- name: libcap2
morph: strata/foundation/libcap2.morph
@@ -71,16 +70,40 @@ chunks:
unpetrify-ref: baserock/genivi/dbus-1.8.8
build-depends:
- glib
+- name: libgpg-error
+ repo: upstream:libgpg-error
+ ref: baserock/gnome
+ build-depends: []
+- name: libgcrypt
+ repo: upstream:libgcrypt
+ ref: baserock/gnome
+ build-depends:
+ - libgpg-error
+- name: patch
+ morph: strata/foundation/patch.morph
+ repo: upstream:patch
+ ref: 9a16dcb97aac1a26af4372d95bd62b84f3f1264a
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: coreutils
+ morph: strata/foundation/coreutils.morph
+ repo: upstream:coreutils
+ ref: 9df9643842e4b4d8ece710fe6105f32fa38a0d22
+ unpetrify-ref: baserock/8.23
+ build-depends:
+ - patch
- name: systemd
morph: strata/foundation/systemd.morph
repo: upstream:systemd
- ref: a77af3ec96015b2382ea31020d0a14b482d10a76
- unpetrify-ref: baserock/morph
+ ref: 5d0ae62c665262c4c55536457e84e278c252cc0b
+ unpetrify-ref: v216
build-depends:
- dbus-pre
+ - coreutils
- gobject-introspection
- kmod
- libcap2
+ - libgcrypt
- pciutils
- usbutils
- name: lzo
@@ -92,8 +115,7 @@ chunks:
- name: fuse
morph: strata/foundation/fuse.morph
repo: upstream:fuse
- ref: 13ee8f62d4aa3360adb6956fb30da0c858928fa2
- unpetrify-ref: baserock/genivi/morph
+ ref: baserock/gnome
build-depends: []
- name: btrfs-progs
morph: strata/foundation/btrfs-progs.morph
@@ -123,16 +145,10 @@ chunks:
unpetrify-ref: baserock/morph
build-depends:
- groff
-- name: patch
- morph: strata/foundation/patch.morph
- repo: upstream:patch
- ref: 9a16dcb97aac1a26af4372d95bd62b84f3f1264a
- unpetrify-ref: baserock/morph
- build-depends: []
- name: tbdiff
morph: strata/foundation/tbdiff.morph
repo: baserock:baserock/tbdiff
- ref: fb9bdefbbbdbd8fef01278b7c3d9c1592998f6d1
+ ref: 3190be6906eb21a1ba6878d3c8edb4bd16f925d7
unpetrify-ref: master
build-depends:
- attr
diff --git a/strata/foundation/coreutils.morph b/strata/foundation/coreutils.morph
new file mode 100644
index 00000000..479e9925
--- /dev/null
+++ b/strata/foundation/coreutils.morph
@@ -0,0 +1,9 @@
+name: coreutils
+kind: chunk
+build-system: autotools
+configure-commands:
+- sed -i -e '/^buildreq="/,/^"/{/rsync/d}' bootstrap.conf
+- bash bootstrap --skip-po
+- FORCE_UNSAFE_CONFIGURE=1 ./configure --prefix="$PREFIX" --disable-nls
+install-commands:
+- make INSTALL_PROGRAM=install DESTDIR="$DESTDIR" install
diff --git a/strata/foundation/systemd.morph b/strata/foundation/systemd.morph
index 2a1933d7..471252ec 100644
--- a/strata/foundation/systemd.morph
+++ b/strata/foundation/systemd.morph
@@ -4,9 +4,7 @@ max-jobs: 1
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 --with-firmware-path=/lib/firmware/updates:/lib/firmware
+- ./configure --prefix="$PREFIX" --enable-xz --disable-manpages --sysconfdir=/etc --localstatedir=/var --libdir="$PREFIX/lib" --libexecdir="$PREFIX/libexec" --with-rootprefix= --with-rootlibdir=/lib --with-firmware-path=/lib/firmware/updates:/lib/firmware --disable-resolved
install-commands:
- make DESTDIR="$DESTDIR" install
- mkdir -p "$DESTDIR"/sbin
diff --git a/strata/genivi.morph b/strata/genivi.morph
index b75861ca..33beb69a 100644
--- a/strata/genivi.morph
+++ b/strata/genivi.morph
@@ -12,8 +12,7 @@ chunks:
- name: node-startup-controller
morph: strata/genivi/node-startup-controller.morph
repo: upstream:node-startup-controller
- ref: c78fddaddc24a2c49f5ef18896c93403575295ae
- unpetrify-ref: baserock/morph
+ ref: baserock/systemd_v216
build-depends:
- DLT-daemon
- name: googletest
@@ -65,8 +64,7 @@ chunks:
- itzam-tarball
- name: node-state-manager
repo: upstream:node-state-manager
- ref: dd4a86b9459537d2e85489b36abf80f34d12f098
- unpetrify-ref: baserock/genivi/baseline
+ ref: baserock/systemd_v216
build-depends:
- DLT-daemon
- persistence-client-library
diff --git a/strata/gnome.morph b/strata/gnome.morph
new file mode 100644
index 00000000..2835cc37
--- /dev/null
+++ b/strata/gnome.morph
@@ -0,0 +1,350 @@
+name: gnome
+kind: stratum
+description: GNOME stratum
+build-depends:
+- morph: strata/input-common.morph
+- morph: strata/tools.morph
+- morph: strata/gtk2.morph
+- morph: strata/gtk3.morph
+- morph: strata/audio-bluetooth.morph
+- morph: strata/NetworkManager-common.morph
+- morph: strata/multimedia.morph
+chunks:
+- name: dconf
+ repo: upstream:dconf
+ ref: master
+ build-depends: []
+- name: cogl
+ morph: strata/gnome/cogl.morph
+ repo: upstream:gnome/cogl
+ ref: master
+ build-depends: []
+- name: json-glib
+ repo: upstream:json-glib
+ ref: master
+ build-depends: []
+- name: clutter
+ morph: strata/gnome/clutter.morph
+ repo: upstream:gnome/clutter
+ ref: master
+ build-depends:
+ - cogl
+ - json-glib
+- name: gsettings-desktop-schemas
+ repo: upstream:gnome/gsettings-desktop-schemas
+ ref: master
+ build-depends: []
+- name: itstool
+ repo: upstream:itstool
+ ref: master
+ build-depends: []
+- name: yelp-xsl
+ repo: upstream:yelp-xsl
+ ref: master
+ build-depends:
+ - itstool
+- name: yelp-tools
+ repo: upstream:yelp-tools
+ ref: master
+ build-depends:
+ - itstool
+ - yelp-xsl
+- name: iso-codes
+ repo: upstream:iso-codes
+ ref: master
+ build-depends: []
+- name: gnome-desktop
+ repo: upstream:gnome/gnome-desktop
+ ref: master
+ build-depends:
+ - gsettings-desktop-schemas
+ - iso-codes
+ - yelp-tools
+- name: libnotify
+ repo: upstream:gnome/libnotify
+ ref: master
+ build-depends: []
+- name: lcms2
+ repo: upstream:lcms2
+ ref: master
+ build-depends: []
+- name: gconf
+ repo: upstream:gconf
+ ref: master
+ build-depends: []
+- name: ibus
+ repo: upstream:ibus
+ ref: master
+ build-depends:
+ - dconf
+ - gconf
+ - iso-codes
+ - libnotify
+- name: ogg
+ repo: upstream:ogg
+ ref: master
+ build-depends: []
+- name: libvorbis
+ repo: upstream:libvorbis
+ ref: master
+ build-depends:
+ - ogg
+- name: libcanberra
+ repo: upstream:libcanberra
+ ref: master
+ build-depends:
+ - libvorbis
+- name: upower
+ repo: upstream:upower
+ ref: master
+ build-depends: []
+- name: bash-completion
+ repo: upstream:bash-completion
+ ref: master
+ build-depends: []
+- name: gusb
+ repo: upstream:gusb
+ ref: master
+ build-depends: []
+- name: mozjs17
+ repo: upstream:mozilla/mozjs17
+ ref: baserock/gnome
+ build-depends: []
+- name: linux-pam
+ repo: upstream:linux-pam
+ ref: master
+ build-depends: []
+- name: polkit
+ repo: upstream:polkit
+ ref: master
+ build-depends:
+ - linux-pam
+ - mozjs17
+- name: colord
+ repo: upstream:colord
+ ref: master
+ build-depends:
+ - bash-completion
+ - gusb
+ - lcms2
+ - polkit
+- name: libsoup
+ repo: upstream:libsoup
+ ref: master
+ build-depends: []
+- name: geocode-glib
+ repo: upstream:gnome/geocode-glib
+ ref: master
+ build-depends:
+ - json-glib
+ - libsoup
+- name: libmbim
+ repo: upstream:libmbim
+ ref: master
+ build-depends: []
+- name: libqmi
+ repo: upstream:libqmi
+ ref: master
+ build-depends: []
+- name: ModemManager
+ repo: upstream:ModemManager
+ ref: master
+ build-depends:
+ - libmbim
+ - libqmi
+ - polkit
+- name: geoclue
+ repo: upstream:geoclue
+ ref: master
+ build-depends:
+ - json-glib
+ - libsoup
+ - ModemManager
+- name: libgweather
+ repo: upstream:gnome/libgweather
+ ref: master
+ build-depends:
+ - libsoup
+ - geocode-glib
+- name: libwacom
+ repo: upstream:linuxwacom/libwacom
+ ref: master
+ build-depends: []
+- name: xf86-input-wacom
+ repo: upstream:linuxwacom/xf86-input-wacom
+ ref: master
+ build-depends: []
+- name: libcroco
+ repo: upstream:libcroco
+ ref: master
+ build-depends: []
+- name: librsvg
+ repo: upstream:librsvg
+ ref: master
+ build-depends:
+ - libcroco
+- name: gnome-settings-daemon
+ repo: upstream:gnome-settings-daemon
+ ref: master
+ build-depends:
+ - colord
+ - geoclue
+ - geocode-glib
+ - gnome-desktop
+ - gsettings-desktop-schemas
+ - ibus
+ - libcanberra
+ - libgweather
+ - libnotify
+ - librsvg
+ - libwacom
+ - lcms2
+ - upower
+ - xf86-input-wacom
+- name: zenity
+ repo: upstream:zenity
+ ref: master
+ build-depends:
+ - yelp-tools
+- name: mozjs24
+ repo: upstream:mozilla/mozjs24
+ ref: baserock/gnome
+ build-depends: []
+- name: gjs
+ repo: upstream:gjs
+ ref: gnome-3-12
+ build-depends:
+ - mozjs24
+- name: telepathy-glib
+ repo: upstream:telepathy-glib
+ ref: master
+ build-depends: []
+- name: startup-notification
+ repo: upstream:startup-notification
+ ref: master
+ build-depends: []
+- name: libgpg-error
+ repo: upstream:libgpg-error
+ ref: master
+ build-depends: []
+- name: libgcrypt
+ repo: upstream:libgcrypt
+ ref: master
+ build-depends:
+ - libgpg-error
+- name: libtasn1
+ repo: upstream:libtasn1
+ ref: master
+ build-depends: []
+- name: p11-kit
+ morph: strata/gnome/p11-kit.morph
+ repo: upstream:p11-kit
+ ref: master
+ build-depends:
+ - libtasn1
+- name: gcr
+ repo: upstream:gnome/gcr
+ ref: master
+ build-depends:
+ - libgcrypt
+ - p11-kit
+- name: mutter
+ repo: upstream:mutter
+ ref: master
+ build-depends:
+ - clutter
+ - cogl
+ - gnome-desktop
+ - gnome-settings-daemon
+ - gsettings-desktop-schemas
+ - startup-notification
+ - upower
+ - zenity
+- name: py2cairo
+ repo: upstream:py2cairo
+ ref: master
+ build-depends: []
+- name: pygobject
+ repo: upstream:pygobject
+ ref: master
+ build-depends:
+ - py2cairo
+- name: libxklavier
+ repo: upstream:libxklavier
+ ref: master
+ build-depends:
+ - iso-codes
+- name: libgee
+ repo: upstream:gnome/libgee
+ ref: master
+ build-depends: []
+- name: caribou
+ repo: upstream:caribou
+ ref: master
+ build-depends:
+ - clutter
+ - libgee
+ - libxklavier
+ - pygobject
+- name: icu
+ morph: strata/gnome/icu.morph
+ repo: upstream:icu
+ ref: ba023548a3bff7277cbea4acade3042ce9d8949e
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: libsecret
+ morph: strata/gnome/libsecret.morph
+ repo: upstream:gnome/libsecret
+ ref: master
+ build-depends:
+ - libgcrypt
+- name: evolution-data-server
+ morph: strata/gnome/evolution-data-server.morph
+ repo: upstream:evolution-data-server
+ ref: master
+ build-depends:
+ - gcr
+ - icu
+ - libgweather
+ - libsecret
+ - libsoup
+- name: gnome-shell
+ morph: strata/gnome/gnome-shell.morph
+ repo: upstream:gnome/gnome-shell
+ ref: master
+ build-depends:
+ - caribou
+ - clutter
+ - evolution-data-server
+ - gcr
+ - gjs
+ - libcanberra
+ - libsoup
+ - mutter
+ - polkit
+ - startup-notification
+ - telepathy-glib
+- name: gnome-session
+ morph: strata/gnome/gnome-session.morph
+ repo: upstream:gnome/gnome-session
+ ref: master
+ build-depends:
+ - gnome-desktop
+ - json-glib
+- name: d-feet
+ morph: strata/gnome/d-feet.morph
+ repo: upstream:gnome/d-feet
+ ref: master
+ build-depends:
+ - yelp-tools
+- name: gnome-keyring
+ repo: upstream:gnome-keyring
+ ref: master
+ build-depends:
+ - gcr
+ - libgcrypt
+- name: gvfs
+ repo: upstream:gvfs
+ ref: master
+ build-depends:
+ - libgcrypt
diff --git a/strata/gnome/clutter.morph b/strata/gnome/clutter.morph
new file mode 100644
index 00000000..9ec7f79d
--- /dev/null
+++ b/strata/gnome/clutter.morph
@@ -0,0 +1,6 @@
+name: clutter
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-wayland-backend --enable-wayland-compositor
+ --enable-egl-backend --enable-evdev-input
diff --git a/strata/gnome/cogl.morph b/strata/gnome/cogl.morph
new file mode 100644
index 00000000..95ab78e3
--- /dev/null
+++ b/strata/gnome/cogl.morph
@@ -0,0 +1,6 @@
+name: cogl
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-wayland-egl-platform --enable-wayland-egl-server
+ --enable-kms-egl-platform --enable-xlib-egl-platform --enable-cogl-gst
diff --git a/strata/gnome/d-feet.morph b/strata/gnome/d-feet.morph
new file mode 100644
index 00000000..8d3e201b
--- /dev/null
+++ b/strata/gnome/d-feet.morph
@@ -0,0 +1,5 @@
+name: d-feet
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-tests
diff --git a/strata/gnome/evolution-data-server.morph b/strata/gnome/evolution-data-server.morph
new file mode 100644
index 00000000..bf6fff49
--- /dev/null
+++ b/strata/gnome/evolution-data-server.morph
@@ -0,0 +1,5 @@
+name: evolution-data-server
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-goa --disable-uoa --with-libdb=no --disable-google
diff --git a/strata/gnome/gnome-session.morph b/strata/gnome/gnome-session.morph
new file mode 100644
index 00000000..0363817b
--- /dev/null
+++ b/strata/gnome/gnome-session.morph
@@ -0,0 +1,5 @@
+name: gnome-session
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-man
diff --git a/strata/gnome/gnome-shell.morph b/strata/gnome/gnome-shell.morph
new file mode 100644
index 00000000..1e8143d4
--- /dev/null
+++ b/strata/gnome/gnome-shell.morph
@@ -0,0 +1,5 @@
+name: gnome-shell
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-man
diff --git a/strata/gnome/gvfs.morph b/strata/gnome/gvfs.morph
new file mode 100644
index 00000000..f6bf47f3
--- /dev/null
+++ b/strata/gnome/gvfs.morph
@@ -0,0 +1,5 @@
+name: gvfs
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-gphoto2 --disable-documentation
diff --git a/strata/gnome/icu.morph b/strata/gnome/icu.morph
new file mode 100644
index 00000000..37dec07e
--- /dev/null
+++ b/strata/gnome/icu.morph
@@ -0,0 +1,8 @@
+name: icu
+kind: chunk
+configure-commands:
+- cd source; ./runConfigureICU Linux --prefix=/usr
+build-commands:
+- cd source; unset TARGET ; make
+install-commands:
+- cd source; unset TARGET ; make DESTDIR="$DESTDIR" install
diff --git a/strata/gnome/libsecret.morph b/strata/gnome/libsecret.morph
new file mode 100644
index 00000000..054b9f15
--- /dev/null
+++ b/strata/gnome/libsecret.morph
@@ -0,0 +1,5 @@
+name: libsecret
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-manpages
diff --git a/strata/gnome/p11-kit.morph b/strata/gnome/p11-kit.morph
new file mode 100644
index 00000000..b5a67729
--- /dev/null
+++ b/strata/gnome/p11-kit.morph
@@ -0,0 +1,5 @@
+name: p11-kit
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --without-trust-paths
diff --git a/strata/input-common.morph b/strata/input-common.morph
index 8bd8d53f..0e9d25e6 100644
--- a/strata/input-common.morph
+++ b/strata/input-common.morph
@@ -22,7 +22,8 @@ chunks:
build-depends: []
- name: libinput
repo: upstream:libinput
- ref: 0.5.0
+ ref: bb10ec84d3704fc0fb40591bcbffe90f6c77966d
+ unpetrify-ref: 0.5.0
build-depends:
- mtdev
- libevdev
diff --git a/strata/libdrm-common.morph b/strata/libdrm-common.morph
index 477269d7..37bff746 100644
--- a/strata/libdrm-common.morph
+++ b/strata/libdrm-common.morph
@@ -10,7 +10,8 @@ chunks:
build-depends: []
- name: drm
repo: upstream:drm
- ref: d6861609b2b887612d652bb2be7c39f199802937
- unpetrify-ref: libdrm-2.4.56
+ morph: strata/libdrm-common/drm.morph
+ ref: bcac0a17407dc78d0813b2eea7fae7c34de54c1b
+ unpetrify-ref: baserock/jetson/drm
build-depends:
- xorg-lib-libpciaccess
diff --git a/strata/libdrm-common/drm.morph b/strata/libdrm-common/drm.morph
new file mode 100644
index 00000000..8f5b88e2
--- /dev/null
+++ b/strata/libdrm-common/drm.morph
@@ -0,0 +1,10 @@
+name: drm
+kind: chunk
+build-system: autotools
+configure-commands:
+ - NOCONFIGURE=1 ./autogen.sh
+ - ./configure --prefix="$PREFIX" --enable-tegra-experimental-api
+install-commands:
+ - make install DESTDIR="$DESTDIR"
+ - mkdir -p "$DESTDIR"/usr/lib/pkgconfig
+ - /usr/bin/install -c -m 644 tegra/libdrm_tegra.pc "$DESTDIR"/usr/lib/pkgconfig
diff --git a/strata/llvm-common.morph b/strata/llvm-common.morph
new file mode 100644
index 00000000..243461d6
--- /dev/null
+++ b/strata/llvm-common.morph
@@ -0,0 +1,11 @@
+name: llvm-common
+kind: stratum
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: llvm
+ morph: strata/llvm-common/llvm.morph
+ repo: upstream:llvm
+ ref: a93239b7c6f0d78cb8836768c3ffbc39fb15b79f
+ unpetrify-ref: release_33
+ build-depends: []
diff --git a/strata/llvm-common/llvm.morph b/strata/llvm-common/llvm.morph
new file mode 100644
index 00000000..9d280062
--- /dev/null
+++ b/strata/llvm-common/llvm.morph
@@ -0,0 +1,8 @@
+name: llvm
+kind: chunk
+description: Low Level Virtual Machine
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --sysconfdir=/etc --enable-shared --enable-targets=host --enable-optimized --disable-assertions
+build-commands:
+- make $MAKEFLAGS
diff --git a/strata/mesa-common.morph b/strata/mesa-common.morph
index 0c0863dd..7702a360 100644
--- a/strata/mesa-common.morph
+++ b/strata/mesa-common.morph
@@ -1,7 +1,7 @@
name: mesa-common
kind: stratum
build-depends:
-- morph: strata/x-common.morph
+- morph: strata/llvm-common.morph
- morph: strata/libdrm-common.morph
- morph: strata/wayland-generic.morph
chunks:
diff --git a/strata/mesa-common/mesa.morph b/strata/mesa-common/mesa.morph
index 44a9af85..00b4c9c8 100644
--- a/strata/mesa-common/mesa.morph
+++ b/strata/mesa-common/mesa.morph
@@ -4,19 +4,32 @@ build-system: autotools
configure-commands:
- |
cpu=$(echo $TARGET | cut -d '-' -f 1)
+ EXTRAARGS=--disable-gallium-egl
case "$cpu" in
x86_32|x64_64)
- DRIDRIVERS=i915,i965,swrast,nouveau
+ DRIDRIVERS=intel,i915,i965,swrast
+ GALLIUMDRIVERS=swrast
+ EGLPLATFORMS=wayland,drm
+ ;;
+ armv7lhf)
+ DRIDRIVERS=nouveau,swrast
+ GALLIUMDRIVERS=nouveau,swrast
+ EXTRAARGS="--with-state-trackers=egl --enable-gallium-egl"
+ EGLPLATFORMS=wayland,drm
;;
*)
- DRIDRIVERS=swrast,nouveau
+ DRIDRIVERS=swrast
+ GALLIUMDRIVERS=swrast
+ EGLPLATFORMS=wayland,drm
;;
esac
./autogen.sh --prefix="$PREFIX" \
--enable-gles2 \
- --disable-gallium-egl \
- --with-egl-platforms=x11,drm,wayland \
+ --with-egl-platforms="$EGLPLATFORMS" \
+ --disable-glx \
--enable-gbm \
--enable-shared-glapi \
- --with-gallium-drivers=swrast \
- --with-dri-drivers="$DRIDRIVERS"
+ --with-gallium-drivers="$GALLIUMDRIVERS" \
+ --with-dri-drivers="$DRIDRIVERS" \
+ --disable-dri3 $EXTRAARGS
+
diff --git a/strata/morph-utils.morph b/strata/morph-utils.morph
new file mode 100644
index 00000000..14dc812d
--- /dev/null
+++ b/strata/morph-utils.morph
@@ -0,0 +1,82 @@
+name: morph-utils
+kind: stratum
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: python-ttystatus
+ morph: strata/morph-utils/python-ttystatus.morph
+ repo: upstream:python-ttystatus
+ ref: 47d871216cea6ce3b9d6efd70e9a0f38ab8604f0
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: python-markdown
+ repo: upstream:python-markdown
+ ref: a9ca97325e9039de90eae29fb3d8879bc9f367f6
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: git-fat
+ morph: strata/tools/git-fat.morph
+ repo: upstream:git-fat
+ ref: 208f88d0f0ef04c25e8a231979eb0083f57b1610
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: six
+ repo: upstream:six
+ ref: e66d45c46afc42eb89d7d2515b79f0ededa0e0fa
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: pyfilesystem
+ morph: strata/morph-utils/pyfilesystem.morph
+ repo: upstream:pyfilesystem
+ ref: 821f7db1ce3a3e1ac53fa514ddacbc2871eac0f6
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - six
+- name: python-coveragepy
+ morph: strata/morph-utils/python-coveragepy.morph
+ repo: upstream:python-coveragepy
+ ref: 77d2e3bfd8fb325092aaed37ba1378054d182d19
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: python-coverage-test-runner
+ repo: upstream:python-coverage-test-runner
+ ref: 8ea9421ac3384b2e88e0c36f2cfa52586c4798b7
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - python-coveragepy
+- name: cliapp
+ repo: upstream:cliapp
+ ref: cec20cedd062a3aef1b04f997e77b45090c07806
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - python-coverage-test-runner
+- name: cmdtest
+ morph: strata/morph-utils/cmdtest.morph
+ repo: upstream:cmdtest
+ ref: 62fa7e08f76a5b6bb8410add49c40656b3e73acd
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - cliapp
+ - python-ttystatus
+ - python-markdown
+- name: bottle
+ repo: upstream:bottle
+ ref: 5238c615b3ec198fedebb0fcaad4458e3d68d70f
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: flup
+ repo: upstream:flup
+ ref: 0f97c5e0ab7d9827506120efc22af3a9c21d1d70
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: morph
+ repo: baserock:baserock/morph
+ ref: 6fdb886894dd320494fb386ecb6fe9f89ce874aa
+ unpetrify-ref: master
+ build-depends:
+ - cliapp
+ - cmdtest
+ - python-coverage-test-runner
+ - pyfilesystem
+ - bottle
+ - flup
diff --git a/strata/tools/cmdtest.morph b/strata/morph-utils/cmdtest.morph
index 3e1c71c6..3e1c71c6 100644
--- a/strata/tools/cmdtest.morph
+++ b/strata/morph-utils/cmdtest.morph
diff --git a/strata/tools/pyfilesystem.morph b/strata/morph-utils/pyfilesystem.morph
index a4931dfa..a4931dfa 100644
--- a/strata/tools/pyfilesystem.morph
+++ b/strata/morph-utils/pyfilesystem.morph
diff --git a/strata/tools/python-coveragepy.morph b/strata/morph-utils/python-coveragepy.morph
index ed5e3d87..ed5e3d87 100644
--- a/strata/tools/python-coveragepy.morph
+++ b/strata/morph-utils/python-coveragepy.morph
diff --git a/strata/tools/python-ttystatus.morph b/strata/morph-utils/python-ttystatus.morph
index e45ef7a8..e45ef7a8 100644
--- a/strata/tools/python-ttystatus.morph
+++ b/strata/morph-utils/python-ttystatus.morph
diff --git a/strata/tools.morph b/strata/tools.morph
index f1ce9d85..99ed88b1 100644
--- a/strata/tools.morph
+++ b/strata/tools.morph
@@ -4,49 +4,6 @@ description: Extra development tools included in the devel system
build-depends:
- morph: strata/foundation.morph
chunks:
-- name: six
- repo: upstream:six
- ref: e66d45c46afc42eb89d7d2515b79f0ededa0e0fa
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: python-ttystatus
- morph: strata/tools/python-ttystatus.morph
- repo: upstream:python-ttystatus
- ref: 47d871216cea6ce3b9d6efd70e9a0f38ab8604f0
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: python-coveragepy
- morph: strata/tools/python-coveragepy.morph
- repo: upstream:python-coveragepy
- ref: 77d2e3bfd8fb325092aaed37ba1378054d182d19
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: python-coverage-test-runner
- repo: upstream:python-coverage-test-runner
- ref: 8ea9421ac3384b2e88e0c36f2cfa52586c4798b7
- unpetrify-ref: baserock/morph
- build-depends:
- - python-coveragepy
-- name: cliapp
- repo: upstream:cliapp
- ref: cec20cedd062a3aef1b04f997e77b45090c07806
- unpetrify-ref: baserock/morph
- build-depends:
- - python-coverage-test-runner
-- name: python-markdown
- repo: upstream:python-markdown
- ref: a9ca97325e9039de90eae29fb3d8879bc9f367f6
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: cmdtest
- morph: strata/tools/cmdtest.morph
- repo: upstream:cmdtest
- ref: 62fa7e08f76a5b6bb8410add49c40656b3e73acd
- unpetrify-ref: baserock/morph
- build-depends:
- - cliapp
- - python-ttystatus
- - python-markdown
- name: coreutils
morph: strata/tools/coreutils.morph
repo: upstream:coreutils
@@ -91,28 +48,6 @@ chunks:
ref: fffb8558208586338587027c265fd0eca44466be
unpetrify-ref: baserock/morph
build-depends: []
-- name: pyfilesystem
- morph: strata/tools/pyfilesystem.morph
- repo: upstream:pyfilesystem
- ref: 821f7db1ce3a3e1ac53fa514ddacbc2871eac0f6
- unpetrify-ref: baserock/morph
- build-depends:
- - six
-- name: morph
- repo: baserock:baserock/morph
- ref: c754d0366d4557910775bfa83c85ffdf98af0610
- unpetrify-ref: master
- build-depends:
- - cliapp
- - cmdtest
- - python-coverage-test-runner
- - pyfilesystem
-- name: git-fat
- morph: strata/tools/git-fat.morph
- repo: upstream:git-fat
- ref: 208f88d0f0ef04c25e8a231979eb0083f57b1610
- unpetrify-ref: baserock/morph
- build-depends: []
- name: pv
repo: upstream:pv
ref: d6ce7cfec684fa72d7a919d7b1aa817a0ca6102a
@@ -129,12 +64,18 @@ chunks:
ref: ad232c6aa0c2a07830d61dc4b9912478634b23b5
unpetrify-ref: baserock/morph
build-depends: []
-- name: vala
- morph: strata/tools/vala.morph
+- name: vala-bootstrap
+ morph: strata/tools/vala-bootstrap.morph
repo: upstream:vala
- ref: 4e4a02c03445336237b36723b23a91670ef7621b
- unpetrify-ref: baserock/bootstrap
+ ref: baserock/bootstrap
+ unpetrify-ref: b2beeaccdf2307ced172646c2ada9765e1747b28
build-depends: []
+- name: vala
+ repo: upstream:vala
+ ref: 5d370fcd029c39c621449f8d29768dec7a294a24
+ unpetrify-ref: 0.24
+ build-depends:
+ - vala-bootstrap
- name: vim
morph: strata/tools/vim.morph
repo: upstream:vim
diff --git a/strata/tools/coreutils.morph b/strata/tools/coreutils.morph
deleted file mode 100644
index 820a4eed..00000000
--- a/strata/tools/coreutils.morph
+++ /dev/null
@@ -1,9 +0,0 @@
-name: coreutils
-kind: chunk
-build-system: autotools
-configure-commands:
-- sed -i -e '/^buildreq="/,/^"/{/rsync/d}' bootstrap.conf
-- bash bootstrap --skip-po
-- FORCE_UNSAFE_CONFIGURE=1 ./configure --prefix="$PREFIX" --disable-nls --enable-no-install-program='[,base64,basename,cat,chcon,chgrp,chmod,chown,chroot,cksum,comm,cp,csplit,cut,date,dd,df,dir,dircolors,dirname,du,echo,env,expand,expr,false,fold,ginstall,groups,head,hostid,id,kill,ln,logname,ls,md5sum,mkdir,mkfifo,mknod,mktemp,mv,nice,nohup,od,printenv,printf,pwd,readlink,realpath,rm,rmdir,seq,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum,sleep,sort,split,stat,stty,sum,sync,tac,tail,tee,test,timeout,touch,tr,true,tty,uname,unexpand,uniq,unlink,uptime,users,wc,who,whoami,yes'
-install-commands:
-- make INSTALL_PROGRAM=install DESTDIR="$DESTDIR" install
diff --git a/strata/tools/vala.morph b/strata/tools/vala-bootstrap.morph
index dcac5d49..dcac5d49 100644
--- a/strata/tools/vala.morph
+++ b/strata/tools/vala-bootstrap.morph
diff --git a/strata/trove.morph b/strata/trove.morph
index f69dd029..634e5bfc 100644
--- a/strata/trove.morph
+++ b/strata/trove.morph
@@ -3,17 +3,8 @@ kind: stratum
description: Trove software
build-depends:
- morph: strata/tools.morph
+- morph: strata/morph-utils.morph
chunks:
-- name: bottle
- repo: upstream:bottle
- ref: 5238c615b3ec198fedebb0fcaad4458e3d68d70f
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: morph-cache-server
- repo: baserock:baserock/morph-cache-server
- ref: acefe33868585cf31cda53474a3004da42e00896
- unpetrify-ref: master
- build-depends: []
- name: lua
morph: strata/trove/lua.morph
repo: upstream:lua
@@ -214,11 +205,6 @@ chunks:
unpetrify-ref: baserock/morph
build-depends:
- pcre
-- name: flup
- repo: upstream:flup
- ref: 0f97c5e0ab7d9827506120efc22af3a9c21d1d70
- unpetrify-ref: baserock/morph
- build-depends: []
- name: lua-scrypt
morph: strata/trove/lua-scrypt.morph
repo: upstream:lua-scrypt
diff --git a/strata/virtualization.morph b/strata/virtualization.morph
index 1f35df7e..e3261f84 100644
--- a/strata/virtualization.morph
+++ b/strata/virtualization.morph
@@ -2,7 +2,7 @@ name: virtualization
kind: stratum
description: virtualization for baserock
build-depends:
-- morph: strata/connectivity.morph
+- morph: strata/connman-common.morph
chunks:
- name: yajl
morph: strata/virtualization/yajl.morph
diff --git a/strata/wayland-generic.morph b/strata/wayland-generic.morph
index 0e04fa40..2e3ad90f 100644
--- a/strata/wayland-generic.morph
+++ b/strata/wayland-generic.morph
@@ -12,6 +12,7 @@ chunks:
- name: wayland
morph: strata/wayland-generic/wayland.morph
repo: upstream:wayland
- ref: baserock/gnome
+ ref: c946301cc7616cda6944e29635b424a12147950f
+ unpetrify-ref: baserock/gnome
build-depends:
- libxkbcommon
diff --git a/strata/weston-genivi.morph b/strata/weston-genivi.morph
index 437e9682..dd4d5b9b 100644
--- a/strata/weston-genivi.morph
+++ b/strata/weston-genivi.morph
@@ -9,18 +9,19 @@ build-depends:
chunks:
- name: linux-pam
repo: upstream:linux-pam
- ref: master
+ ref: 6e36ca00ed774a7c5b2f2322c96b023999b733a4
+ unpetrify-ref: Linux-PAM-1.1.5
build-depends: []
- name: weston
morph: strata/weston-genivi/weston.morph
repo: upstream:weston
- ref: 8658e06e69cc3944e89684a2de619e479751633f
- unpetrify-ref: baserock/genivi/baseline-h-1.1
+ ref: 5d9e9c1393c6b0ea6ce52912fc458c963e644547
+ unpetrify-ref: baserock/genivi/1.2.0
build-depends:
- linux-pam
- name: wayland-ivi-extension
repo: upstream:genivi/wayland-ivi-extension
- ref: 8b59529cf3b279a948f253bc79263d00d3f051a5
- unpetrify-ref: baserock/genivi/baseline-h-1.1
+ ref: 633ce4f89f695c575bdfc080551b0e59c8287427
+ unpetrify-ref: baserock/genivi/1.2.0
build-depends:
- weston
diff --git a/strata/x-generic.morph b/strata/x-generic.morph
index 69e05400..af42c55e 100644
--- a/strata/x-generic.morph
+++ b/strata/x-generic.morph
@@ -3,7 +3,6 @@ kind: stratum
build-depends:
- morph: strata/foundation.morph
- morph: strata/libdrm-common.morph
-- morph: strata/mesa-common.morph
- morph: strata/x-common.morph
- morph: strata/graphics-common.morph
chunks:
diff --git a/strip-gplv3.configure b/strip-gplv3.configure
index 8464487e..75143d08 100755
--- a/strip-gplv3.configure
+++ b/strip-gplv3.configure
@@ -46,6 +46,7 @@ class StripGPLv3ConfigureExtension(cliapp.Application):
['m4', ''],
['make', ''],
['nano', ''],
+ ['patch', ''],
['texinfo-tarball', ''],
]
diff --git a/systems/devel-system-armv7-chroot.morph b/systems/devel-system-armv7-chroot.morph
index fd1cf5fd..b063673c 100644
--- a/systems/devel-system-armv7-chroot.morph
+++ b/systems/devel-system-armv7-chroot.morph
@@ -12,6 +12,8 @@ strata:
morph: strata/foundation.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
configuration-extensions:
diff --git a/systems/devel-system-armv7-highbank.morph b/systems/devel-system-armv7-highbank.morph
index 112a8af2..3e86b737 100644
--- a/systems/devel-system-armv7-highbank.morph
+++ b/systems/devel-system-armv7-highbank.morph
@@ -14,6 +14,8 @@ strata:
morph: strata/bsp-armv7-highbank.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
configuration-extensions:
diff --git a/systems/devel-system-armv7-versatile.morph b/systems/devel-system-armv7-versatile.morph
index efa48ece..43f7a118 100644
--- a/systems/devel-system-armv7-versatile.morph
+++ b/systems/devel-system-armv7-versatile.morph
@@ -14,6 +14,8 @@ strata:
morph: strata/bsp-armv7-versatile.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
configuration-extensions:
diff --git a/systems/devel-system-armv7-wandboard.morph b/systems/devel-system-armv7-wandboard.morph
index 49d189d0..11bccaf0 100644
--- a/systems/devel-system-armv7-wandboard.morph
+++ b/systems/devel-system-armv7-wandboard.morph
@@ -13,6 +13,8 @@ strata:
morph: strata/bsp-wandboard.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
configuration-extensions:
diff --git a/systems/devel-system-armv7b-chroot.morph b/systems/devel-system-armv7b-chroot.morph
index 4ee06869..5081bd20 100644
--- a/systems/devel-system-armv7b-chroot.morph
+++ b/systems/devel-system-armv7b-chroot.morph
@@ -11,6 +11,8 @@ strata:
morph: strata/foundation.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
configuration-extensions:
diff --git a/systems/devel-system-armv7b-highbank.morph b/systems/devel-system-armv7b-highbank.morph
index 686b97f5..9054135b 100644
--- a/systems/devel-system-armv7b-highbank.morph
+++ b/systems/devel-system-armv7b-highbank.morph
@@ -14,6 +14,8 @@ strata:
morph: strata/bsp-armv7b-highbank.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
configuration-extensions:
diff --git a/systems/devel-system-armv7lhf-chroot.morph b/systems/devel-system-armv7lhf-chroot.morph
index 4505331c..090d4e6d 100644
--- a/systems/devel-system-armv7lhf-chroot.morph
+++ b/systems/devel-system-armv7lhf-chroot.morph
@@ -11,6 +11,8 @@ strata:
morph: strata/foundation.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
configuration-extensions:
diff --git a/systems/devel-system-armv7lhf-highbank.morph b/systems/devel-system-armv7lhf-highbank.morph
index ed2d41d8..bb5c01b4 100644
--- a/systems/devel-system-armv7lhf-highbank.morph
+++ b/systems/devel-system-armv7lhf-highbank.morph
@@ -14,6 +14,8 @@ strata:
morph: strata/bsp-armv7-highbank.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
configuration-extensions:
diff --git a/systems/devel-system-armv7lhf-jetson.morph b/systems/devel-system-armv7lhf-jetson.morph
index 74a1cc25..ffcf1766 100644
--- a/systems/devel-system-armv7lhf-jetson.morph
+++ b/systems/devel-system-armv7lhf-jetson.morph
@@ -12,6 +12,8 @@ strata:
morph: strata/foundation.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
- name: bsp-jetson-devel
diff --git a/systems/devel-system-armv7lhf-wandboard.morph b/systems/devel-system-armv7lhf-wandboard.morph
index 00ef2004..8f15033a 100644
--- a/systems/devel-system-armv7lhf-wandboard.morph
+++ b/systems/devel-system-armv7lhf-wandboard.morph
@@ -13,6 +13,8 @@ strata:
morph: strata/bsp-wandboard.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
configuration-extensions:
diff --git a/systems/devel-system-ppc64-chroot.morph b/systems/devel-system-ppc64-chroot.morph
index a2430afb..344aa812 100644
--- a/systems/devel-system-ppc64-chroot.morph
+++ b/systems/devel-system-ppc64-chroot.morph
@@ -12,6 +12,8 @@ strata:
morph: strata/foundation.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
configuration-extensions:
diff --git a/systems/devel-system-ppc64-generic.morph b/systems/devel-system-ppc64-generic.morph
index 259e224e..7ccff388 100644
--- a/systems/devel-system-ppc64-generic.morph
+++ b/systems/devel-system-ppc64-generic.morph
@@ -14,6 +14,8 @@ strata:
morph: strata/bsp-ppc64-generic.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
configuration-extensions:
diff --git a/systems/devel-system-x86_32-chroot.morph b/systems/devel-system-x86_32-chroot.morph
index a7085737..dc884223 100644
--- a/systems/devel-system-x86_32-chroot.morph
+++ b/systems/devel-system-x86_32-chroot.morph
@@ -12,6 +12,8 @@ strata:
morph: strata/foundation.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
- name: bsp-x86_both-tools
diff --git a/systems/devel-system-x86_32-generic.morph b/systems/devel-system-x86_32-generic.morph
index a7f3f9ce..d9264ac4 100644
--- a/systems/devel-system-x86_32-generic.morph
+++ b/systems/devel-system-x86_32-generic.morph
@@ -14,6 +14,8 @@ strata:
morph: strata/bsp-x86_32-generic.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
- name: cloudinit-support
diff --git a/systems/devel-system-x86_64-chroot.morph b/systems/devel-system-x86_64-chroot.morph
index 91f80dbc..34ccf31f 100644
--- a/systems/devel-system-x86_64-chroot.morph
+++ b/systems/devel-system-x86_64-chroot.morph
@@ -12,6 +12,8 @@ strata:
morph: strata/foundation.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
- name: bsp-x86_both-tools
diff --git a/systems/devel-system-x86_64-generic.morph b/systems/devel-system-x86_64-generic.morph
index bf5a7f45..64133058 100644
--- a/systems/devel-system-x86_64-generic.morph
+++ b/systems/devel-system-x86_64-generic.morph
@@ -14,6 +14,8 @@ strata:
morph: strata/bsp-x86_64-generic.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: openstack-clients
morph: strata/openstack-clients.morph
- name: cloudinit-support
diff --git a/systems/devel-system-x86_64-vagrant.morph b/systems/devel-system-x86_64-vagrant.morph
index 454f981d..43f68e7f 100644
--- a/systems/devel-system-x86_64-vagrant.morph
+++ b/systems/devel-system-x86_64-vagrant.morph
@@ -17,6 +17,8 @@ strata:
morph: strata/bsp-x86_64-generic.morph
- name: connectivity
morph: strata/connectivity.morph
+- name: connman-common
+ morph: strata/connman-common.morph
- name: audio-bluetooth
morph: strata/audio-bluetooth.morph
- name: x-common
@@ -31,6 +33,8 @@ strata:
morph: strata/genivi-x-generic.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: virtualization
morph: strata/virtualization.morph
- name: openstack-clients
diff --git a/systems/distbuild-system-armv7lhf-highbank.morph b/systems/distbuild-system-armv7lhf-highbank.morph
index 112883b9..c4ac80ad 100644
--- a/systems/distbuild-system-armv7lhf-highbank.morph
+++ b/systems/distbuild-system-armv7lhf-highbank.morph
@@ -13,10 +13,14 @@ strata:
morph: strata/bsp-armv7-highbank.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: nfs
morph: strata/nfs.morph
-- name: distbuild
- morph: strata/distbuild.morph
+- name: ansible
+ morph: strata/ansible.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
configuration-extensions:
- set-hostname
- add-config-files
@@ -25,3 +29,5 @@ configuration-extensions:
- install-files
- distbuild
- fstab
+- mason
+- cloud-init
diff --git a/systems/distbuild-system-armv7lhf-jetson.morph b/systems/distbuild-system-armv7lhf-jetson.morph
index 8423264e..f4147b9e 100644
--- a/systems/distbuild-system-armv7lhf-jetson.morph
+++ b/systems/distbuild-system-armv7lhf-jetson.morph
@@ -13,10 +13,14 @@ strata:
morph: strata/bsp-jetson-devel.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: nfs
morph: strata/nfs.morph
-- name: distbuild
- morph: strata/distbuild.morph
+- name: ansible
+ morph: strata/ansible.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
configuration-extensions:
- set-hostname
- add-config-files
@@ -25,3 +29,5 @@ configuration-extensions:
- install-files
- distbuild
- fstab
+- mason
+- cloud-init
diff --git a/systems/distbuild-system-ppc64.morph b/systems/distbuild-system-ppc64.morph
index e8c57048..6d77c261 100644
--- a/systems/distbuild-system-ppc64.morph
+++ b/systems/distbuild-system-ppc64.morph
@@ -13,10 +13,14 @@ strata:
morph: strata/bsp-ppc64-generic.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: nfs
morph: strata/nfs.morph
-- name: distbuild
- morph: strata/distbuild.morph
+- name: ansible
+ morph: strata/ansible.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
configuration-extensions:
- set-hostname
- add-config-files
@@ -25,3 +29,5 @@ configuration-extensions:
- install-files
- distbuild
- fstab
+- mason
+- cloud-init
diff --git a/systems/distbuild-system-x86_32.morph b/systems/distbuild-system-x86_32.morph
index f2078678..aaa85170 100644
--- a/systems/distbuild-system-x86_32.morph
+++ b/systems/distbuild-system-x86_32.morph
@@ -13,10 +13,14 @@ strata:
morph: strata/bsp-x86_32-generic.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: nfs
morph: strata/nfs.morph
-- name: distbuild
- morph: strata/distbuild.morph
+- name: ansible
+ morph: strata/ansible.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
configuration-extensions:
- set-hostname
- add-config-files
@@ -25,3 +29,5 @@ configuration-extensions:
- install-files
- distbuild
- fstab
+- mason
+- cloud-init
diff --git a/systems/distbuild-system-x86_64.morph b/systems/distbuild-system-x86_64.morph
index b248d9db..c42cb553 100644
--- a/systems/distbuild-system-x86_64.morph
+++ b/systems/distbuild-system-x86_64.morph
@@ -13,10 +13,10 @@ strata:
morph: strata/bsp-x86_64-generic.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: nfs
morph: strata/nfs.morph
-- name: distbuild
- morph: strata/distbuild.morph
- name: ansible
morph: strata/ansible.morph
- name: cloudinit-support
diff --git a/systems/genivi-baseline-system-armv7lhf-jetson.morph b/systems/genivi-baseline-system-armv7lhf-jetson.morph
new file mode 100644
index 00000000..b5a23618
--- /dev/null
+++ b/systems/genivi-baseline-system-armv7lhf-jetson.morph
@@ -0,0 +1,45 @@
+name: genivi-baseline-system-armv7lhf-jetson
+kind: system
+description: A GENIVI baseline system for a Jetson TK.
+arch: armv7lhf
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: genivi-foundation
+ morph: strata/genivi-foundation.morph
+- name: bsp-jetson-genivi
+ morph: strata/bsp-jetson-genivi.morph
+- name: connectivity
+ morph: strata/connectivity.morph
+- name: connman-common
+ morph: strata/connman-common.morph
+- name: audio-bluetooth
+ morph: strata/audio-bluetooth.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: multimedia
+ morph: strata/multimedia.morph
+- name: genivi
+ morph: strata/genivi.morph
+- name: wayland-generic
+ morph: strata/wayland-generic.morph
+- name: graphics-common
+ morph: strata/graphics-common.morph
+- name: input-common
+ morph: strata/input-common.morph
+- name: mesa-common
+ morph: strata/mesa-common.morph
+- name: weston-genivi
+ morph: strata/weston-genivi.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- strip-gplv3
+- fstab
diff --git a/systems/genivi-baseline-system-armv7lhf-versatile.morph b/systems/genivi-baseline-system-armv7lhf-versatile.morph
index ae22ea8f..52f04234 100644
--- a/systems/genivi-baseline-system-armv7lhf-versatile.morph
+++ b/systems/genivi-baseline-system-armv7lhf-versatile.morph
@@ -15,6 +15,8 @@ strata:
morph: strata/bsp-armv7-versatile.morph
- name: connectivity
morph: strata/connectivity.morph
+- name: connman-common
+ morph: strata/connman-common.morph
- name: audio-bluetooth
morph: strata/audio-bluetooth.morph
- name: libdrm-common
diff --git a/systems/genivi-baseline-system-x86_64-generic.morph b/systems/genivi-baseline-system-x86_64-generic.morph
index 51710bf4..a5646a63 100644
--- a/systems/genivi-baseline-system-x86_64-generic.morph
+++ b/systems/genivi-baseline-system-x86_64-generic.morph
@@ -15,6 +15,8 @@ strata:
morph: strata/bsp-x86_64-generic.morph
- name: connectivity
morph: strata/connectivity.morph
+- name: connman-common
+ morph: strata/connman-common.morph
- name: audio-bluetooth
morph: strata/audio-bluetooth.morph
- name: libdrm-common
@@ -29,6 +31,8 @@ strata:
morph: strata/graphics-common.morph
- name: input-common
morph: strata/input-common.morph
+- name: llvm-common
+ morph: strata/llvm-common.morph
- name: mesa-common
morph: strata/mesa-common.morph
- name: weston-genivi
diff --git a/systems/gitlab-ci-runner.morph b/systems/gitlab-ci-runner.morph
index 35eef485..0f9e296c 100644
--- a/systems/gitlab-ci-runner.morph
+++ b/systems/gitlab-ci-runner.morph
@@ -15,6 +15,8 @@ strata:
morph: strata/bsp-x86_64-generic.morph
- name: connectivity
morph: strata/connectivity.morph
+- name: connman-common
+ morph: strata/connman-common.morph
- name: audio-bluetooth
morph: strata/audio-bluetooth.morph
- name: x-common
diff --git a/systems/gnome-system.morph b/systems/gnome-system.morph
new file mode 100644
index 00000000..a6dc3e56
--- /dev/null
+++ b/systems/gnome-system.morph
@@ -0,0 +1,49 @@
+name: gnome-system
+kind: system
+description: A GNOME system system.
+arch: x86_64
+strata:
+- name: audio-bluetooth
+ morph: strata/audio-bluetooth.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: NetworkManager-common
+ morph: strata/NetworkManager-common.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: genivi-foundation
+ morph: strata/genivi-foundation.morph
+- name: gnome
+ morph: strata/gnome.morph
+- name: graphics-common
+ morph: strata/graphics-common.morph
+- name: gtk-deps
+ morph: strata/gtk-deps.morph
+- name: gtk2
+ morph: strata/gtk2.morph
+- name: gtk3
+ morph: strata/gtk3.morph
+- name: input-common
+ morph: strata/input-common.morph
+- name: mesa-common
+ morph: strata/mesa-common.morph
+- name: multimedia
+ morph: strata/multimedia.morph
+- name: tools
+ morph: strata/tools.morph
+- name: wayland-generic
+ morph: strata/wayland-generic.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: x-generic
+ morph: strata/x-generic.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/nodejs-system-x86_64.morph b/systems/nodejs-system-x86_64.morph
index 1dab9f2a..1a810554 100644
--- a/systems/nodejs-system-x86_64.morph
+++ b/systems/nodejs-system-x86_64.morph
@@ -16,6 +16,8 @@ strata:
morph: strata/bsp-x86_64-generic.morph
- name: connectivity
morph: strata/connectivity.morph
+- name: connman-common
+ morph: strata/connman-common.morph
- name: audio-bluetooth
morph: strata/audio-bluetooth.morph
- name: x-common
diff --git a/systems/qt4-devel-system-x86_64-generic.morph b/systems/qt4-devel-system-x86_64-generic.morph
index eb3ab48d..0b4e4638 100644
--- a/systems/qt4-devel-system-x86_64-generic.morph
+++ b/systems/qt4-devel-system-x86_64-generic.morph
@@ -30,6 +30,8 @@ strata:
morph: strata/lua.morph
- name: connectivity
morph: strata/connectivity.morph
+- name: connman-common
+ morph: strata/connman-common.morph
- name: enlightenment
morph: strata/enlightenment.morph
configuration-extensions:
diff --git a/systems/qt5-devel-system-x86_64-generic.morph b/systems/qt5-devel-system-x86_64-generic.morph
index eafd97e0..7171c0ca 100644
--- a/systems/qt5-devel-system-x86_64-generic.morph
+++ b/systems/qt5-devel-system-x86_64-generic.morph
@@ -30,6 +30,8 @@ strata:
morph: strata/lua.morph
- name: connectivity
morph: strata/connectivity.morph
+- name: connman-common
+ morph: strata/connman-common.morph
- name: enlightenment
morph: strata/enlightenment.morph
configuration-extensions:
diff --git a/systems/trove-system-x86_64.morph b/systems/trove-system-x86_64.morph
index fbcdf3fe..297c9fb2 100644
--- a/systems/trove-system-x86_64.morph
+++ b/systems/trove-system-x86_64.morph
@@ -13,6 +13,8 @@ strata:
morph: strata/core.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: trove
morph: strata/trove.morph
- name: nfs
diff --git a/systems/xfce-system.morph b/systems/xfce-system.morph
index efdd7bdb..0c53d7c2 100644
--- a/systems/xfce-system.morph
+++ b/systems/xfce-system.morph
@@ -15,6 +15,8 @@ strata:
morph: strata/bsp-x86_64-generic.morph
- name: connectivity
morph: strata/connectivity.morph
+- name: connman-common
+ morph: strata/connman-common.morph
- name: audio-bluetooth
morph: strata/audio-bluetooth.morph
- name: x-common
@@ -31,6 +33,8 @@ strata:
morph: strata/gtk2.morph
- name: tools
morph: strata/tools.morph
+- name: morph-utils
+ morph: strata/morph-utils.morph
- name: xfce
morph: strata/xfce.morph
configuration-extensions: