From f501976babcc283c7d2ae4bea25e5feefc4b98c2 Mon Sep 17 00:00:00 2001
From: Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
Date: Wed, 22 Mar 2017 09:47:09 +0000
Subject: Moved all elements under the elements directory

---
 elements/gnu-toolchain/stage2-reset-specs.bst | 35 +++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 elements/gnu-toolchain/stage2-reset-specs.bst

(limited to 'elements/gnu-toolchain/stage2-reset-specs.bst')

diff --git a/elements/gnu-toolchain/stage2-reset-specs.bst b/elements/gnu-toolchain/stage2-reset-specs.bst
new file mode 100644
index 00000000..5910903e
--- /dev/null
+++ b/elements/gnu-toolchain/stage2-reset-specs.bst
@@ -0,0 +1,35 @@
+kind: manual
+
+depends:
+- filename: gnu-toolchain/stage1.bst
+  type: build
+- filename: gnu-toolchain/stage2-fhs-dirs.bst
+  type: runtime
+- gnu-toolchain/stage2-linux-api-headers.bst
+- gnu-toolchain/stage2-glibc.bst
+
+variables:
+  prefix: /tools
+
+environment:
+  PATH: /tools/bin:/usr/bin:/bin:/usr/sbin:/sbin
+
+config:
+  # 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 $(dirname $(pwd)))"
+    specs_dir="$(dirname $(%{target-stage1}-gcc -print-libgcc-file-name))"
+    target_specs_dir="%{install-root}/${specs_dir#$STAGE2_SYSROOT}"
+    mkdir -p "$target_specs_dir"
+    ln -s "temporary specs removed by baserock bootstrap" "$target_specs_dir/specs"
-- 
cgit v1.2.1

