diff options
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: |