summaryrefslogtreecommitdiff
path: root/strata/build-essential
diff options
context:
space:
mode:
Diffstat (limited to 'strata/build-essential')
-rw-r--r--strata/build-essential/binutils.morph8
-rw-r--r--strata/build-essential/busybox.morph89
-rw-r--r--strata/build-essential/ccache.morph14
-rw-r--r--strata/build-essential/fhs-dirs.morph49
-rw-r--r--strata/build-essential/gawk.morph5
-rw-r--r--strata/build-essential/gcc.morph62
-rw-r--r--strata/build-essential/glibc.morph100
-rw-r--r--strata/build-essential/linux-api-headers.morph24
-rw-r--r--strata/build-essential/m4-tarball.morph5
-rw-r--r--strata/build-essential/make.morph5
-rw-r--r--strata/build-essential/stage1-binutils.morph23
-rw-r--r--strata/build-essential/stage1-gcc.morph83
-rw-r--r--strata/build-essential/stage2-binutils.morph21
-rw-r--r--strata/build-essential/stage2-busybox.morph80
-rw-r--r--strata/build-essential/stage2-fake-bash.morph4
-rw-r--r--strata/build-essential/stage2-fhs-dirs.morph51
-rw-r--r--strata/build-essential/stage2-gawk.morph9
-rw-r--r--strata/build-essential/stage2-gcc-fixed-headers.morph19
-rw-r--r--strata/build-essential/stage2-gcc.morph81
-rw-r--r--strata/build-essential/stage2-glibc.morph108
-rw-r--r--strata/build-essential/stage2-libstdc++.morph36
-rw-r--r--strata/build-essential/stage2-linux-api-headers.morph24
-rw-r--r--strata/build-essential/stage2-make.morph9
-rw-r--r--strata/build-essential/stage2-reset-specs.morph21
-rw-r--r--strata/build-essential/zlib.morph9
25 files changed, 0 insertions, 939 deletions
diff --git a/strata/build-essential/binutils.morph b/strata/build-essential/binutils.morph
deleted file mode 100644
index bab52672..00000000
--- a/strata/build-essential/binutils.morph
+++ /dev/null
@@ -1,8 +0,0 @@
-name: binutils
-kind: chunk
-build-system: autotools
-
-configure-commands:
-- |
- ./configure --prefix="$PREFIX" --disable-nls --disable-werror \
- --with-system-zlib
diff --git a/strata/build-essential/busybox.morph b/strata/build-essential/busybox.morph
deleted file mode 100644
index 1bbd97a6..00000000
--- a/strata/build-essential/busybox.morph
+++ /dev/null
@@ -1,89 +0,0 @@
-name: busybox
-kind: chunk
-
-configure-commands:
-# Busybox's default config has everything enabled.
-- make defconfig KCONFIG_NOTIMESTAMP=1
-
-- 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
-
-# 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
-- sed -e 's/CONFIG_LOSETUP=y.*/# CONFIG_LOSETUP is not set/' -i .config
-- sed -e 's/CONFIG_LSUSB=y.*/# CONFIG_LSUSB is not set/' -i .config
-- sed -e 's/CONFIG_LSPCI=y.*/# CONFIG_LSPCI is not set/' -i .config
-- sed -e 's/CONFIG_LZMA=y.*/# CONFIG_LZMA is not set/' -i .config
-- sed -e 's/CONFIG_MKFS_EXT2=y.*/# CONFIG_MKFS_EXT2 is not set/' -i .config
-- sed -e 's/CONFIG_MKFS_MINIX=y.*/# CONFIG_MKFS_MINIX is not set/' -i .config
-- sed -e 's/CONFIG_STRINGS=y.*/# CONFIG_STRINGS is not set/' -i .config
-- 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
-
-
-build-commands:
-- make KCONFIG_NOTIMESTAMP=1
-
-install-commands:
-- |
- if [ "$PREFIX" = /usr ]; then PREFIX=; fi &&
- make CONFIG_PREFIX="$DESTDIR$PREFIX" KCONFIG_NOTIMESTAMP=1 install &&
- chmod 6755 "$DESTDIR$PREFIX"/bin/busybox
-# Set up man environment variables
-- mkdir -p "$DESTDIR"/etc
-- |
- cat << EOF > "$DESTDIR/etc/man.conf"
- # This file is used by man to provide a manpath for those without one by
- # examining their PATH environment variable.
- #
- # Lines beginning with `#' are comments and are ignored. Any combination of
- # tabs or spaces may be used as `whitespace' separators.
-
- MANDATORY_MANPATH /usr/man
- MANDATORY_MANPATH /usr/share/man
- MANDATORY_MANPATH /usr/local/share/man
- EOF
diff --git a/strata/build-essential/ccache.morph b/strata/build-essential/ccache.morph
deleted file mode 100644
index 441344f9..00000000
--- a/strata/build-essential/ccache.morph
+++ /dev/null
@@ -1,14 +0,0 @@
-name: ccache
-kind: chunk
-build-system: autotools
-
-configure-commands:
-- ./configure --prefix="$PREFIX"
-
-install-commands:
-- make DESTDIR="$DESTDIR" install
-- mkdir -p "$DESTDIR/$PREFIX/lib/ccache"
-- for cc in gcc cc g++ c++; do ln -sf "$PREFIX/bin/ccache" "$DESTDIR/$PREFIX/lib/ccache/$cc";
- done
-- for cc in gcc cc g++ c++; do ln -sf "$PREFIX/bin/ccache" "$DESTDIR/$PREFIX/lib/ccache/$TARGET-$cc";
- done
diff --git a/strata/build-essential/fhs-dirs.morph b/strata/build-essential/fhs-dirs.morph
deleted file mode 100644
index f4a1b1e9..00000000
--- a/strata/build-essential/fhs-dirs.morph
+++ /dev/null
@@ -1,49 +0,0 @@
-name: fhs-dirs
-kind: chunk
-description: create the FHS 2.3 directory hierarchy and the usual files
-install-commands:
-- sh ./create-fhs-dirs "$DESTDIR"
-- install -m 644 passwd "$DESTDIR/etc/passwd"
-- install -m 600 shadow "$DESTDIR/etc/shadow"
-- install -m 644 interfaces "$DESTDIR/etc/network/interfaces"
-- install -m 644 group "$DESTDIR/etc/group"
-- install -m 644 issue "$DESTDIR/etc/issue"
-- install -m 644 services "$DESTDIR/etc/services"
-- install -m 644 protocols "$DESTDIR/etc/protocols"
-- echo baserock > "$DESTDIR"/etc/hostname
-devices:
-- type: c
- filename: /dev/console
- gid: 0
- major: 5
- minor: 1
- permissions: '0600'
- uid: 0
-- type: c
- filename: /dev/full
- gid: 0
- major: 1
- minor: 7
- permissions: '0666'
- uid: 0
-- type: c
- filename: /dev/null
- gid: 0
- major: 1
- minor: 3
- permissions: '0666'
- uid: 0
-- type: c
- filename: /dev/urandom
- gid: 0
- major: 1
- minor: 9
- permissions: '0666'
- uid: 0
-- type: c
- filename: /dev/zero
- gid: 0
- major: 1
- minor: 5
- permissions: '0666'
- uid: 0
diff --git a/strata/build-essential/gawk.morph b/strata/build-essential/gawk.morph
deleted file mode 100644
index 1ad871c6..00000000
--- a/strata/build-essential/gawk.morph
+++ /dev/null
@@ -1,5 +0,0 @@
-name: gawk
-kind: chunk
-build-system: autotools
-configure-commands:
-- ./configure --prefix="$PREFIX" --disable-nls
diff --git a/strata/build-essential/gcc.morph b/strata/build-essential/gcc.morph
deleted file mode 100644
index 18459b73..00000000
--- a/strata/build-essential/gcc.morph
+++ /dev/null
@@ -1,62 +0,0 @@
-name: gcc
-kind: chunk
-
-products:
-- artifact: gcc-libs
- include:
- - (usr/)lib/lib.*\.so(\.\d+)*$
-- artifact: gcc-doc
- include:
- - (usr/)?share/doc/.*
- - (usr/)?share/man/.*
- - (usr/)?share/info/.*
-- artifact: gcc-devel
- # devel includes everything which isn't documentation or libs, since
- # everything else gcc produces is required for compiling
- # this is the -devel artifact instead of -misc, since it goes in -devel
- # stratum artifacts by default
- include: [.*]
-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. Avoid having more than one copy of ZLib in use on the system
-# 3. Multilib does not make sense in Baserock.
-- |
- case "$MORPH_ARCH" in
- armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
- --with-tune=cortex-a9 \
- --with-fpu=vfpv3-d16 \
- --with-float=hard" ;;
- armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
- esac
-
- cd o && ../configure \
- $ARCH_FLAGS \
- --prefix="$PREFIX" \
- `# [1]` --libdir=$PREFIX/lib \
- --disable-bootstrap \
- `# [2]` --with-system-zlib \
- `# [3]` --disable-multilib \
- --enable-languages=c,c++,fortran
-
-build-commands:
-- |
- case "$MORPH_ARCH" in
- armv5*) sed -i "s/--host=none/--host=armv5/" o/Makefile
- sed -i "s/--target=none/--target=armv5/" o/Makefile ;;
- armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile
- sed -i "s/--target=none/--target=armv7a/" o/Makefile ;;
- esac
- cd o && make
-
-install-commands:
-- cd o && make DESTDIR="$DESTDIR" install
-- 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/glibc.morph b/strata/build-essential/glibc.morph
deleted file mode 100644
index 6c87c5d9..00000000
--- a/strata/build-essential/glibc.morph
+++ /dev/null
@@ -1,100 +0,0 @@
-name: glibc
-kind: chunk
-products:
-- artifact: glibc-nss
- include:
- - etc/nsswitch.conf
- - (usr/)?lib/libnss.*
-- artifact: glibc-gconv
- include:
- - (usr/)?lib/gconv/.*
-- artifact: glibc-libs
- include:
- - sbin/ldconfig
- - lib(32|64)?/ld-.*
- - (usr/)?lib(exec)?/pt_chown
-- artifact: glibc-bins
- include:
- - (usr/)?s?bin/.*
- - (usr/)?libexec/getconf/.*
- - (usr/)?lib(32|64)?/libSegFault\.so(\.\d+)*$
-- artifact: glibc-libs
- include:
- # This is processed after bins, so bins can take libSegFault.so
- - (usr/)?lib(32|64)?/lib[^/]*\.so(\.\d+)*$
- - etc/ld.so.conf
- - etc/ld.so.conf.d
-- artifact: glibc-devel
- include:
- - (usr/)?include/.*
- - (usr/)?lib(32|64)?/lib.*\.a
- - (usr/)?lib(32|64)?/lib.*\.la
- - (usr/)?(lib(32|64)?|share)/pkgconfig/.*\.pc
- - (usr/)?lib(32|64)?/.*\.o
-- artifact: glibc-locale
- include:
- - (usr/)?lib/locale/.*
- - (usr/)?share/locale/.*
- - (usr/)?share/i18n/.*
- - (usr/)?share/zoneinfo/.*
-- artifact: glibc-misc
- include:
- - .*
-configure-commands:
-- mkdir o
-
-- |
- case "$MORPH_ARCH" in
- armv7*)
- ARCH_FLAGS="--without-fp" ;;
- esac
-
- # We override the PATH here to remove /tools/bin from it.
- # Thanks to this glibc finds bash in /bin/bash through the /bin
- # symlink. This is important because glibc changes the path to bash
- # of the shebang in some scripts and these scripts will be broken if
- # they point to bash in /tools/bin/bash.
- export PATH="/usr/bin:/sbin:/bin";
- export CFLAGS="-O2 $CFLAGS";
- cd o && ../configure \
- $ARCH_FLAGS \
- --prefix="$PREFIX" \
- --disable-profile \
- --enable-kernel=3.0.0 \
- --without-cvs \
- --without-selinux \
- --enable-obsolete-rpc
-
-build-commands:
-- cd o && make localtime=UTC
-
-install-commands:
-- cd o && make install_root="$DESTDIR" localtime=UTC install
-- cd o && make install_root="$DESTDIR" localtime=UTC localedata/install-locales
-- mkdir -p "$DESTDIR/etc"
-- mkdir -p "$DESTDIR/etc/ld.so.conf.d"
-- |
- cat <<EOF > nsswitch.conf
- passwd: compat
- group: compat
- shadow: compat
-
- hosts: files myhostname mdns4_minimal [NOTFOUND=return] dns mdns4
- networks: files
-
- protocols: db files
- services: db files
- ethers: db files
- rpc: db files
-
- netgroup: nis
- EOF
-- install -m 644 -o root -g root nsswitch.conf "$DESTDIR/etc/nsswitch.conf"
-- |
- cat <<EOF > ld.so.conf
- /lib
- /usr/lib
- /usr/local/lib
- include /etc/ld.so.conf.d/*.conf
- EOF
-- install -m 644 -o root -g root ld.so.conf "$DESTDIR/etc/ld.so.conf"
diff --git a/strata/build-essential/linux-api-headers.morph b/strata/build-essential/linux-api-headers.morph
deleted file mode 100644
index 62aa22b8..00000000
--- a/strata/build-essential/linux-api-headers.morph
+++ /dev/null
@@ -1,24 +0,0 @@
-name: linux-api-headers
-kind: chunk
-install-commands:
-- |
- case "$MORPH_ARCH" in
- armv5l)
- ARCH="arm" ;;
- armv7b|armv7l|armv7lhf)
- ARCH="arm" ;;
- armv8l64|armv8b64)
- ARCH="arm64" ;;
- x86_32)
- ARCH="i386" ;;
- x86_64)
- ARCH="x86_64" ;;
- ppc64)
- ARCH="powerpc" ;;
- *)
- echo "Error: unsupported Morph architecture: $MORPH_ARCH" >&2
- exit 1
- esac
- ARCH=$ARCH make INSTALL_HDR_PATH=dest headers_install
-- install -d "$DESTDIR${PREFIX-/usr}/include"
-- cp -r dest/include/* "$DESTDIR/${PREFIX-/usr}/include"
diff --git a/strata/build-essential/m4-tarball.morph b/strata/build-essential/m4-tarball.morph
deleted file mode 100644
index eb16726a..00000000
--- a/strata/build-essential/m4-tarball.morph
+++ /dev/null
@@ -1,5 +0,0 @@
-name: m4-tarball
-kind: chunk
-build-system: autotools
-configure-commands:
-- ./configure --prefix="$PREFIX" --disable-gcc-warnings
diff --git a/strata/build-essential/make.morph b/strata/build-essential/make.morph
deleted file mode 100644
index 1259b342..00000000
--- a/strata/build-essential/make.morph
+++ /dev/null
@@ -1,5 +0,0 @@
-name: make
-kind: chunk
-build-system: autotools
-configure-commands:
-- ./configure --prefix="$PREFIX" --disable-nls
diff --git a/strata/build-essential/stage1-binutils.morph b/strata/build-essential/stage1-binutils.morph
deleted file mode 100644
index 69a79d14..00000000
--- a/strata/build-essential/stage1-binutils.morph
+++ /dev/null
@@ -1,23 +0,0 @@
-name: stage1-binutils
-kind: chunk
-build-system: autotools
-
-configure-commands:
-# We set the sysroot location dynamically at runtime by passing
-# `--sysroot` to GCC, so we need to build a linker with sysroot support.
-# We set it to a non-existent directory as a safety net to avoid looking
-# at the host dirs in case we forget to set the sysroot. Setting the
-# lib path is vital to avoid the tools we build linking to the libraries
-# on the host system; the '=' makes the path we give relative to the
-# sysroot, which we can then set at runtime by passing -Wl,--sysroot to
-# GCC. Although nothing should be installed on /lib64, we configure the
-# linker to look at that directory as well to make things more robust
-# (currently GCC installs libraries to this directory at least on
-# x86_64).
-
-- |
- ./configure --prefix="$PREFIX" --disable-nls --disable-werror \
- --build=$(sh config.guess) \
- --host=$(sh config.guess) \
- --target=$TARGET_STAGE1 \
- --with-sysroot=/nonexistentdir --with-lib-path="=$PREFIX/lib:=$PREFIX/lib64"
diff --git a/strata/build-essential/stage1-gcc.morph b/strata/build-essential/stage1-gcc.morph
deleted file mode 100644
index f5d828f7..00000000
--- a/strata/build-essential/stage1-gcc.morph
+++ /dev/null
@@ -1,83 +0,0 @@
-name: stage1-gcc
-kind: chunk
-
-configure-commands:
-# Workaround from LFS due GCC not detecting stack protection correctly
-- |
- sed -i -e '/k prot/a \
- gcc_cv_libc_provides_ssp=yes
- ' gcc/configure
-
-- mkdir o
-
-# Configure flag notes:
-# 1. See gcc.morph.
-# 2. Although we will be setting a sysroot at runtime, giving a
-# temporary one at configuration time seems necessary so that
-# `--with-native-system-header-dir` produces effect and
-# /tools/include is in the include path for the newly built GCC. We
-# set it by default to a non-existent directory to avoid GCC looking
-# at the host dirs, in case we forget to give it at runtime.
-# 3. Disable searching /usr/local/include for headers
-# 4. The pass 1 compiler needs to find the libraries we build in pass
-# 2. Include path must be set explicility, because it defaults to
-# $SYSROOT/usr/include rather than $SYSROOT/include.
-# 5. Disable stuff that doesn't work when building a cross compiler
-# without an existing libc, and generally try to keep this build as
-# simple as possible.
-- |
- case "$MORPH_ARCH" in
- armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
- --with-tune=cortex-a9 \
- --with-fpu=vfpv3-d16 \
- --with-float=hard" ;;
- armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
- esac
-
- cd o && CXX="g++ -std=gnu++98" ../configure \
- $ARCH_FLAGS \
- --build=$(sh ../config.guess) \
- --host=$(sh ../config.guess) \
- --target=$TARGET_STAGE1 \
- --prefix="$PREFIX" \
- `# [1]` --libdir="$PREFIX/lib" \
- `# [2]` --with-sysroot=/nonexistentdir \
- --with-newlib \
- `# [3]` --with-local-prefix="$PREFIX" \
- `# [4]` --with-native-system-header-dir="$PREFIX/include" \
- --without-headers \
- --disable-nls \
- --disable-shared \
- --disable-multilib \
- `# [5]` --disable-decimal-float \
- `# [5]` --disable-threads \
- `# [5]` --disable-libatomic \
- `# [5]` --disable-libgomp \
- `# [5]` --disable-libitm \
- `# [5]` --disable-libmpx \
- `# [5]` --disable-libquadmath \
- `# [5]` --disable-libsanitizer \
- `# [5]` --disable-libssp \
- `# [5]` --disable-libvtv \
- `# [5]` --disable-libcilkrts \
- `# [5]` --disable-libstdc++-v3 \
- --enable-languages=c,c++
-
-build-commands:
-- |
- # GCC is not passing the correct host/target flags to GMP's configure
- # script, which causes it to not use the machine-dependent code for
- # the platform and use the generic one instead. However, the generic
- # code results on an undefined reference to `__gmpn_invert_limb' in
- # ARMv7. Fix the invocation of GMP's configure script so that GMP can
- # use the machine-dependent code.
- case "$MORPH_ARCH" in
- armv5*) sed -i "s/--host=none/--host=armv5/" o/Makefile
- sed -i "s/--target=none/--target=armv5/" o/Makefile ;;
- armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile
- sed -i "s/--target=none/--target=armv7a/" o/Makefile ;;
- esac
- cd o && make
-
-install-commands:
-- cd o && make DESTDIR="$DESTDIR" install
diff --git a/strata/build-essential/stage2-binutils.morph b/strata/build-essential/stage2-binutils.morph
deleted file mode 100644
index b07b56a4..00000000
--- a/strata/build-essential/stage2-binutils.morph
+++ /dev/null
@@ -1,21 +0,0 @@
-name: stage2-binutils
-kind: chunk
-build-system: autotools
-
-configure-commands:
-- |
- export STAGE2_SYSROOT="$(dirname $(pwd))"
- export CXX="$TARGET_STAGE1-g++ --sysroot=$STAGE2_SYSROOT"
- # binutils has its own embedded libtool, which is old and strips out
- # `--sysroot`. Work around by modifying the compiler command to
- # include the sysroot flag
- export CC="$TARGET_STAGE1-gcc --sysroot=$STAGE2_SYSROOT"
- ./configure --prefix="$PREFIX" --disable-nls --disable-werror \
- --build=$(sh config.guess) \
- --host=$TARGET_STAGE1 \
- --target=$TARGET_STAGE1
-
-build-commands:
-- |
- export STAGE2_SYSROOT="$(dirname $(pwd))"
- make
diff --git a/strata/build-essential/stage2-busybox.morph b/strata/build-essential/stage2-busybox.morph
deleted file mode 100644
index f271a40d..00000000
--- a/strata/build-essential/stage2-busybox.morph
+++ /dev/null
@@ -1,80 +0,0 @@
-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- KCONFIG_NOTIMESTAMP=1 defconfig
-
-# 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
-
-# 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_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
-- sed -e 's/CONFIG_INIT=y.*/# CONFIG_INIT is not set/' -i .config
-- sed -e 's/CONFIG_INIT_TERMINAL_TYPE=y.*/CONFIG_INIT_TERMINAL_TYPE=""/' -i .config
-- sed -e 's/CONFIG_LOSETUP=y.*/# CONFIG_LOSETUP is not set/' -i .config
-- sed -e 's/CONFIG_LSUSB=y.*/# CONFIG_LSUSB is not set/' -i .config
-- sed -e 's/CONFIG_LZMA=y.*/# CONFIG_LZMA is not set/' -i .config
-- sed -e 's/CONFIG_MKFS_EXT2=y.*/# CONFIG_MKFS_EXT2 is not set/' -i .config
-- sed -e 's/CONFIG_MKFS_MINIX=y.*/# CONFIG_MKFS_MINIX is not set/' -i .config
-- sed -e 's/CONFIG_RUNLEVEL=y.*/# CONFIG_RUNLEVEL is not set/' -i .config
-- sed -e 's/CONFIG_STRINGS=y.*/# CONFIG_STRINGS is not set/' -i .config
-- 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="--sysroot=$STAGE2_SYSROOT"
- make HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- KCONFIG_NOTIMESTAMP=1
-
-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"
- export LDFLAGS="--sysroot=$STAGE2_SYSROOT"
- make CONFIG_PREFIX="$DESTDIR$PREFIX" \
- HOSTCC="/usr/bin/gcc" \
- CROSS_COMPILE=$TARGET_STAGE1- \
- KCONFIG_NOTIMESTAMP=1 install &&
- chmod 6755 "$DESTDIR$PREFIX"/bin/busybox
diff --git a/strata/build-essential/stage2-fake-bash.morph b/strata/build-essential/stage2-fake-bash.morph
deleted file mode 100644
index 021fd366..00000000
--- a/strata/build-essential/stage2-fake-bash.morph
+++ /dev/null
@@ -1,4 +0,0 @@
-name: stage2-fake-bash
-kind: chunk
-install-commands:
-- printf '#!/bin/sh\nexec /bin/sh "$@"\n' | install -D /proc/self/fd/0 -m 755 "$DESTDIR$PREFIX/bin/bash"
diff --git a/strata/build-essential/stage2-fhs-dirs.morph b/strata/build-essential/stage2-fhs-dirs.morph
deleted file mode 100644
index 6f842403..00000000
--- a/strata/build-essential/stage2-fhs-dirs.morph
+++ /dev/null
@@ -1,51 +0,0 @@
-name: stage2-fhs-dirs
-kind: chunk
-description: create the FHS 2.3 directory hierarchy and the usual files
-install-commands:
-- sh ./create-fhs-dirs "$DESTDIR"
-- rmdir "$DESTDIR/usr/bin"
-- ln -s "$PREFIX/bin" "$DESTDIR/usr/bin"
-- install -m 644 passwd "$DESTDIR/etc/passwd"
-- install -m 600 shadow "$DESTDIR/etc/shadow"
-- install -m 644 interfaces "$DESTDIR/etc/network/interfaces"
-- install -m 644 group "$DESTDIR/etc/group"
-- install -m 644 issue "$DESTDIR/etc/issue"
-- install -m 644 services "$DESTDIR/etc/services"
-- install -m 644 protocols "$DESTDIR/etc/protocols"
-- echo baserock > "$DESTDIR"/etc/hostname
-devices:
-- type: c
- filename: /dev/console
- gid: 0
- major: 5
- minor: 1
- permissions: '0600'
- uid: 0
-- type: c
- filename: /dev/full
- gid: 0
- major: 1
- minor: 7
- permissions: '0666'
- uid: 0
-- type: c
- filename: /dev/null
- gid: 0
- major: 1
- minor: 3
- permissions: '0666'
- uid: 0
-- type: c
- filename: /dev/urandom
- gid: 0
- major: 1
- minor: 9
- permissions: '0666'
- uid: 0
-- type: c
- filename: /dev/zero
- gid: 0
- major: 1
- minor: 5
- permissions: '0666'
- uid: 0
diff --git a/strata/build-essential/stage2-gawk.morph b/strata/build-essential/stage2-gawk.morph
deleted file mode 100644
index 15c838b6..00000000
--- a/strata/build-essential/stage2-gawk.morph
+++ /dev/null
@@ -1,9 +0,0 @@
-name: stage2-gawk
-kind: chunk
-build-system: autotools
-configure-commands:
-- STAGE2_SYSROOT="$(dirname $(pwd))" CPPFLAGS="--sysroot=$STAGE2_SYSROOT" CXX=false
- LDFLAGS="--sysroot=$STAGE2_SYSROOT" ./configure --prefix="$PREFIX" --disable-nls
- --build=$(sh config.guess) --host=$TARGET_STAGE1
-build-commands:
-- STAGE2_SYSROOT="$(dirname $(pwd))" make
diff --git a/strata/build-essential/stage2-gcc-fixed-headers.morph b/strata/build-essential/stage2-gcc-fixed-headers.morph
deleted file mode 100644
index 10794872..00000000
--- a/strata/build-essential/stage2-gcc-fixed-headers.morph
+++ /dev/null
@@ -1,19 +0,0 @@
-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)")"
- target_libgcc_dir="${libgcc_dir#$sysroot}"
- 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
deleted file mode 100644
index 6f211e83..00000000
--- a/strata/build-essential/stage2-gcc.morph
+++ /dev/null
@@ -1,81 +0,0 @@
-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 runs in the bootstrap machine, and
-# targets the same machine (TARGET_STAGE1) so that the stage 1 GCC
-# is used instead of the compiler of the build machine.
-# 2. See gcc.morph.
-# 3. Disable searching /usr/local/include for headers
-# 4. This flag causes the correct --sysroot flag to be passed when
-# calling stage 1 GCC.
-- |
- case "$MORPH_ARCH" in
- armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
- --with-tune=cortex-a9 \
- --with-fpu=vfpv3-d16 \
- --with-float=hard" ;;
- armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
- esac
- export STAGE2_SYSROOT="$(dirname $(pwd))"
- export CC="$TARGET_STAGE1-gcc --sysroot=$STAGE2_SYSROOT"
- export CXX="$TARGET_STAGE1-g++ --sysroot=$STAGE2_SYSROOT"
- export AR="$TARGET_STAGE1-ar"
- export RANLIB="$TARGET_STAGE1-ranlib"
- cd o && ../configure \
- $ARCH_FLAGS \
- --build=$(sh ../config.guess) \
- `# [1]` --host=$TARGET_STAGE1 \
- `# [1]` --target=$TARGET_STAGE1 \
- --prefix="$PREFIX" \
- `# [2]` --libdir=$PREFIX/lib \
- `# [3]` --with-local-prefix=$PREFIX \
- `# [4]` --with-build-sysroot="$STAGE2_SYSROOT" \
- --disable-bootstrap \
- --disable-nls \
- --disable-multilib \
- --disable-libgomp \
- --disable-libstdcxx-pch \
- --enable-languages=c,c++
-
-build-commands:
-- |
- case "$MORPH_ARCH" in
- armv5*) sed -i "s/--host=none/--host=armv5/" o/Makefile
- sed -i "s/--target=none/--target=armv5/" o/Makefile ;;
- armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile
- sed -i "s/--target=none/--target=armv7a/" o/Makefile ;;
- esac
- export STAGE2_SYSROOT="$(dirname $(pwd))"
- cd o && make
-
-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
- else
- libdir=lib
- fi
-
- install -d "$DESTDIR/lib"
- ln -s "$PREFIX/$libdir/libgcc_s.so" "$DESTDIR/lib/"
- ln -s "$PREFIX/$libdir/libgcc_s.so.1" "$DESTDIR/lib/"
diff --git a/strata/build-essential/stage2-glibc.morph b/strata/build-essential/stage2-glibc.morph
deleted file mode 100644
index d2ead6c6..00000000
--- a/strata/build-essential/stage2-glibc.morph
+++ /dev/null
@@ -1,108 +0,0 @@
-name: stage2-glibc
-kind: chunk
-build-system: manual
-
-configure-commands:
-- mkdir o
-
-# Configure flag notes:
-# 1. Avoid installing to PREFIX/lib64 on x86_64.
-# 2. Location of linux-api-headers.
-# 3. Normal flags. See glibc.morph.
-# 4. Force configuration values of certain things that can't be detected
-# in a cross-compile.
-- |
- case "$MORPH_ARCH" in
- armv7*)
- ARCH_FLAGS="--without-fp" ;;
- esac
-
- export CFLAGS="-O2 $CFLAGS"; export CXX=false; \
- cd o && ../configure \
- $ARCH_FLAGS \
- --build=$(../scripts/config.guess) --host=$TARGET_STAGE1 \
- --prefix="$PREFIX" \
- --enable-obsolete-rpc \
- `# [1]` --libdir="$PREFIX/lib" \
- `# [2]` --with-headers="$(pwd)/../../$PREFIX/include" \
- `# [3]` --disable-profile --enable-kernel=2.6.25 \
- `# [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
-- mkdir -p "$DESTDIR/etc"
-- mkdir -p "$DESTDIR/etc/ld.so.conf.d"
-- |
- cat <<EOF > ld.so.conf
- /lib
- /usr/lib
- /usr/local/lib
- include /etc/ld.so.conf.d/*.conf
- EOF
-- install -m 644 -o root -g root ld.so.conf "$DESTDIR/etc/ld.so.conf"
-- |
- # Fix up GCC to handle the sysroot containing glibc being in a different
- # location for each chunk build.
- #
- # For headers, it's enough to pass -B in the CPPFLAGS. This would work for
- # the startup files (crt*.o) as well, except where libtool is involved (in
- # which case it strips -B out of your LDFLAGS before calling GCC). We get
- # around this by making GCC locate them relative to the environment variable
- # STAGE2_SYSROOT, which we can then set along with CPPFLAGS in each stage 2
- # chunk build.
- #
- # We also force the use of the program loader at PREFIX/lib/ld.so instead
- # of its usual home in /lib or /lib64, which is necessary for the output of
- # stage 2 to work as a chroot when building stage 3.
-
- sysroot="$(dirname "$(pwd)")"
- specs_dir="$(dirname $($TARGET_STAGE1-gcc --print-libgcc-file-name))"
- target_specs_dir="$DESTDIR/${specs_dir#$sysroot}"
- mkdir -p "$target_specs_dir"
-
- $TARGET_STAGE1-gcc -dumpspecs |
- sed -e "s@[gMS]\?crt[1in].o%s@%:getenv(STAGE2_SYSROOT $PREFIX/lib/&)@g" \
- -e "s@/lib\(64\)\?/ld@$PREFIX/lib/ld@g" \
- > "$target_specs_dir/specs-for-sysroot"
-
- # NASTY HACK #
- # We create a symlink to the actual specs here, so that later the
- # symlink can be replaced with a dangling link.
- #
- # This is necessary as we need to have gcc use its internal specs,
- # which can differ to the specs generated by `gcc -dumpspecs`.
- #
- # The dangling symlink will not make it onto the final system, just
- # like all other bootstrap only components.
- ln -s specs-for-sysroot "$target_specs_dir/specs"
-
-# Install a symlink for the program interpreter (ld.so) so that binaries
-# built in stage 3 before the stage 3 glibc is built can use it.
-# FIXME: get a better way of finding the name of the loader. The lib64
-# path is hardcoded into glibc in the file
-# sysdeps/unix/sysv/linux/configure.
-- install -d $DESTDIR/lib
-- |
- case "$MORPH_ARCH" in
- x86_64)
- install -d "$DESTDIR/lib64"
- ln -s "$PREFIX/lib/ld-linux-x86-64.so.2" \
- "$DESTDIR/lib64/ld-linux-x86-64.so.2" ;;
- ppc64l)
- install -d "$DESTDIR/lib64"
- ln -s "$PREFIX/lib/ld64.so.2" \
- "$DESTDIR/lib64/ld64.so.2" ;;
- ppc64|ppc64b)
- install -d "$DESTDIR/lib64"
- ln -s "$PREFIX/lib/ld64.so.1" \
- "$DESTDIR/lib64/ld64.so.1" ;;
- *)
- loader=$(basename $(ls "$DESTDIR$PREFIX"/lib/ld-linux*))
- [ -z $loader ] && loader=$(basename $(ls "$DESTDIR$PREFIX"/lib/ld.so*))
- [ -z $loader ] && ( echo "Bug in stage2-glibc ld.so symlinks" ; exit 1 )
- ln -s "$PREFIX/lib/$loader" "$DESTDIR/lib/$loader"
- esac
diff --git a/strata/build-essential/stage2-libstdc++.morph b/strata/build-essential/stage2-libstdc++.morph
deleted file mode 100644
index 79a40308..00000000
--- a/strata/build-essential/stage2-libstdc++.morph
+++ /dev/null
@@ -1,36 +0,0 @@
-name: stage2-libstdc++
-kind: chunk
-configure-commands:
-- mkdir o
-
-# Configure flag notes:
-# 1. The thread C++ library cannot be built, as the thread C library
-# was not build in stage1-gcc.
-# 2. Prevents the installation of precompiled include files, which are
-# not needed at this stage.
-# 3. From LFS: the header location of C++ needs to be explicitly given
-# as we are running the configure script from the top-level
-# directory.
-- |
- export STAGE2_SYSROOT="$(dirname $(pwd))"
- # -fPIC must be given, otherwise it will not be possible to create
- # shared libraries linked to libstdc++
- export CPPFLAGS="--sysroot=$STAGE2_SYSROOT -fPIC"
- export LDFLAGS="--sysroot=$STAGE2_SYSROOT"
- cd o && ../libstdc++-v3/configure \
- --build=$(sh ../config.guess) \
- --host="$TARGET_STAGE1" \
- --target="$TARGET_STAGE1" \
- --prefix="$PREFIX" \
- --disable-nls \
- --disable-shared \
- --disable-multilib \
- `# [1]` --disable-libstdcxx-threads \
- `# [2]` --disable-libstdcxx-pch \
- `# [3]` --with-gxx-include-dir=/tools/"$TARGET_STAGE1"/include/c++/7.1.0
-
-build-commands:
-- cd o && make
-
-install-commands:
-- cd o && make DESTDIR="$DESTDIR" install
diff --git a/strata/build-essential/stage2-linux-api-headers.morph b/strata/build-essential/stage2-linux-api-headers.morph
deleted file mode 100644
index 1da94ee9..00000000
--- a/strata/build-essential/stage2-linux-api-headers.morph
+++ /dev/null
@@ -1,24 +0,0 @@
-name: stage2-linux-api-headers
-kind: chunk
-install-commands:
-- |
- case "$MORPH_ARCH" in
- armv5l)
- ARCH="arm" ;;
- armv7b|armv7l|armv7lhf)
- ARCH="arm" ;;
- armv8l64|armv8b64)
- ARCH="arm64" ;;
- x86_32)
- ARCH="i386" ;;
- x86_64)
- ARCH="x86_64" ;;
- ppc64)
- ARCH="powerpc" ;;
- *)
- echo "Error: unsupported Morph architecture: $MORPH_ARCH" >&2
- exit 1
- esac
- ARCH=$ARCH make INSTALL_HDR_PATH=dest headers_install
-- install -d "$DESTDIR${PREFIX-/usr}/include"
-- cp -r dest/include/* "$DESTDIR/${PREFIX-/usr}/include"
diff --git a/strata/build-essential/stage2-make.morph b/strata/build-essential/stage2-make.morph
deleted file mode 100644
index af5e5347..00000000
--- a/strata/build-essential/stage2-make.morph
+++ /dev/null
@@ -1,9 +0,0 @@
-name: stage2-make
-kind: chunk
-build-system: autotools
-configure-commands:
-- STAGE2_SYSROOT="$(dirname $(pwd))" CPPFLAGS="--sysroot=$STAGE2_SYSROOT" CXX=false
- LDFLAGS="--sysroot=$STAGE2_SYSROOT" ./configure --prefix="$PREFIX" --disable-nls --without-guile
- --build=$(sh config/config.guess) --host=$TARGET_STAGE1
-build-commands:
-- STAGE2_SYSROOT="$(dirname $(pwd))" make
diff --git a/strata/build-essential/stage2-reset-specs.morph b/strata/build-essential/stage2-reset-specs.morph
deleted file mode 100644
index 8892f67c..00000000
--- a/strata/build-essential/stage2-reset-specs.morph
+++ /dev/null
@@ -1,21 +0,0 @@
-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)")"
- specs_dir="$(dirname $($TARGET_STAGE1-gcc -print-libgcc-file-name))"
- target_specs_dir="$DESTDIR/${specs_dir#$STAGE2_SYSROOT}"
- mkdir -p "$target_specs_dir"
- ln -s "temporary specs removed by baserock bootstrap" "$target_specs_dir/specs"
diff --git a/strata/build-essential/zlib.morph b/strata/build-essential/zlib.morph
deleted file mode 100644
index 900648b6..00000000
--- a/strata/build-essential/zlib.morph
+++ /dev/null
@@ -1,9 +0,0 @@
-name: zlib
-kind: chunk
-build-system: manual
-configure-commands:
-- ./configure --prefix="$PREFIX"
-build-commands:
-- make
-install-commands:
-- make DESTDIR="$DESTDIR" install