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"