diff options
author | Adam Coldrick <adam.coldrick@codethink.co.uk> | 2014-04-14 12:22:34 +0000 |
---|---|---|
committer | Adam Coldrick <adam.coldrick@codethink.co.uk> | 2014-04-14 12:22:34 +0000 |
commit | 10dda889872542b8f261555c139791ff34eec9b1 (patch) | |
tree | 3e9ab7f5f4973b68b32780cdafcc5ed050afcc1f /build-essential.morph | |
parent | 08cc81090d122ef6a6530b28a8c9619e92781fc7 (diff) | |
download | definitions-10dda889872542b8f261555c139791ff34eec9b1.tar.gz |
Update and move strata, systems and clusters
Diffstat (limited to 'build-essential.morph')
-rw-r--r-- | build-essential.morph | 331 |
1 files changed, 0 insertions, 331 deletions
diff --git a/build-essential.morph b/build-essential.morph deleted file mode 100644 index 628fffcb..00000000 --- a/build-essential.morph +++ /dev/null @@ -1,331 +0,0 @@ -name: build-essential -kind: stratum -description: | - Toolchain stratum - - Stage 1: build a minimal cross compiler with the host's tools. - - Starting with a cross compiler ensures that (a) nothing from the host - can leak into the build-essential artifacts, and (b) cross-compiling - build-essential is fully tested and supported, since we always use the - cross code paths. - - Stage 2: cross-build the whole of build-essential, using the host's tools - but the cross-compiler toolchain. - - Stage 2 GCC outputs code for the same 'bootstrap' machine as stage 1 GCC, - but because stage 2 GCC is also built to *run* on the bootstrap machine - it can only execute inside the stage 3 chroot (due to being built against - a libc with a non-standard prefix). - - Stage 3: build the whole of build-essential again, this time using a - staging area containing only the output of stage 2. The result of this - build is fully reproducible. - - We do a switch-a-roo between stage 2 and 3: stages 2 chunks are all built - to run on a host *-bootstrap-* while stage 3 chunks are native-built for - a *-baserock-* machine. This works, because the cross build was all for - show (and cleanliness) and the binaries actually still run on the host. - - After build-essential is built we do another trick. See - stage2-fhs-dirs.morph for details. Basically, /bin is a symlink to - /tools/bin during stage 2 but in stage 3 it becomes a real directory - again. -products: -- artifact: build-essential-minimal - include: - - fhs-dirs-.* - - busybox-.* -chunks: -- name: stage1-binutils - repo: upstream:binutils-redhat - ref: 987eb543a034cddc4eeb103f08f566f24a5f964a - unpetrify-ref: baserock/build-essential - build-depends: [] - build-mode: bootstrap - prefix: /tools -- name: stage1-gcc - repo: upstream:gcc-tarball - ref: dd78b627480ed8d3c135271cd627096ae76fa5fc - unpetrify-ref: baserock/build-essential - build-depends: - - stage1-binutils - build-mode: bootstrap - prefix: /tools -- name: stage2-linux-api-headers - repo: upstream:linux - ref: eff825d6e284eb0fb04b434429a3e3b2e10cabf8 - unpetrify-ref: baserock/build-essential - build-depends: - - stage1-binutils - - stage1-gcc - build-mode: bootstrap - prefix: /tools -- name: stage2-eglibc - repo: upstream:eglibc2 - ref: 43ee5d250ad47d2bee8ec17954efb7f22d2b804c - unpetrify-ref: baserock/2.15-build-essential - build-depends: - - stage1-binutils - - stage1-gcc - - stage2-linux-api-headers - build-mode: bootstrap - prefix: /tools -- name: stage2-binutils - repo: upstream:binutils-redhat - ref: 987eb543a034cddc4eeb103f08f566f24a5f964a - unpetrify-ref: baserock/build-essential - build-depends: - - stage1-binutils - - stage1-gcc - - stage2-eglibc - build-mode: bootstrap - prefix: /tools -- name: stage2-gcc-fixed-headers - repo: upstream:gcc-tarball - ref: dd78b627480ed8d3c135271cd627096ae76fa5fc - unpetrify-ref: baserock/build-essential - build-depends: - - stage1-binutils - - stage1-gcc - - stage2-eglibc - build-mode: bootstrap - prefix: /tools -- name: stage2-gcc - repo: upstream:gcc-tarball - ref: dd78b627480ed8d3c135271cd627096ae76fa5fc - unpetrify-ref: baserock/build-essential - build-depends: - - stage1-binutils - - stage1-gcc - - stage2-eglibc - - stage2-gcc-fixed-headers - build-mode: bootstrap - prefix: /tools -- name: stage2-busybox - repo: upstream:busybox - ref: eeb9014f28e3aa00673a0fad127e7420da4392db - unpetrify-ref: baserock/build-essential - build-depends: - - stage1-binutils - - stage1-gcc - - stage2-eglibc - build-mode: bootstrap - prefix: /tools -- name: stage2-fhs-dirs - repo: baserock:baserock/fhs-dirs - ref: 442e2a6453ec380bf9d64f6be50e57d54ddf93d3 - unpetrify-ref: master - build-depends: [] - build-mode: bootstrap - prefix: /tools -- name: stage2-gawk - repo: upstream:gawk - ref: 6a0eb04c3d2ac24d80d505b42a8f67799487d133 - unpetrify-ref: baserock/build-essential - build-depends: - - stage1-binutils - - stage1-gcc - - stage2-eglibc - build-mode: bootstrap - prefix: /tools -- name: stage2-make - repo: upstream:make - ref: 56968f58301e6e5157cf4c8b6deefbaff2955eba - unpetrify-ref: baserock/build-essential - build-depends: - - stage1-binutils - - stage1-gcc - - stage2-eglibc - build-mode: bootstrap - prefix: /tools -- name: stage2-reset-specs - repo: upstream:eglibc2 - ref: 43ee5d250ad47d2bee8ec17954efb7f22d2b804c - unpetrify-ref: baserock/2.15-build-essential - build-depends: - - stage1-binutils - - stage1-gcc - - stage2-linux-api-headers - - stage2-eglibc - build-mode: bootstrap - prefix: /tools -- name: fhs-dirs - repo: baserock:baserock/fhs-dirs - ref: 442e2a6453ec380bf9d64f6be50e57d54ddf93d3 - unpetrify-ref: master - build-depends: - - stage2-binutils - - stage2-busybox - - stage2-eglibc - - stage2-fhs-dirs - - stage2-gawk - - stage2-gcc - - stage2-linux-api-headers - - stage2-make - - stage2-reset-specs - build-mode: staging - prefix: /usr -- name: linux-api-headers - repo: upstream:linux - ref: eff825d6e284eb0fb04b434429a3e3b2e10cabf8 - unpetrify-ref: baserock/build-essential - build-depends: - - stage2-binutils - - stage2-busybox - - stage2-eglibc - - stage2-fhs-dirs - - stage2-gawk - - stage2-gcc - - stage2-linux-api-headers - - stage2-make - - stage2-reset-specs - build-mode: staging - prefix: /usr -- name: eglibc - repo: upstream:eglibc2 - ref: e57ce33023d37183847a0c2f692645887691576a - unpetrify-ref: baserock/2.15-build-essential - build-depends: - - stage2-binutils - - stage2-busybox - - stage2-eglibc - - stage2-fhs-dirs - - stage2-gawk - - stage2-gcc - - stage2-linux-api-headers - - stage2-make - - stage2-reset-specs - - linux-api-headers - build-mode: staging - artifacts: - eglibc-gconv: build-essential-runtime - eglibc-libs: build-essential-minimal - eglibc-nss: build-essential-runtime - prefix: /usr -- name: zlib - repo: upstream:zlib - ref: db333af7e9b90a23fd7f9cd8dc128123b34bf698 - unpetrify-ref: baserock/build-essential - build-depends: - - stage2-binutils - - stage2-busybox - - stage2-eglibc - - stage2-fhs-dirs - - stage2-gawk - - stage2-gcc - - stage2-linux-api-headers - - stage2-make - - stage2-reset-specs - - eglibc - build-mode: staging - artifacts: - zlib-libs: build-essential-minimal - prefix: /usr -- name: binutils - repo: upstream:binutils-redhat - ref: 987eb543a034cddc4eeb103f08f566f24a5f964a - unpetrify-ref: baserock/build-essential - build-depends: - - stage2-binutils - - stage2-busybox - - stage2-eglibc - - stage2-fhs-dirs - - stage2-gawk - - stage2-gcc - - stage2-linux-api-headers - - stage2-make - - stage2-reset-specs - - eglibc - - zlib - build-mode: staging - prefix: /usr -- name: busybox - repo: upstream:busybox - ref: eeb9014f28e3aa00673a0fad127e7420da4392db - unpetrify-ref: baserock/build-essential - build-depends: - - stage2-binutils - - stage2-busybox - - stage2-eglibc - - stage2-fhs-dirs - - stage2-gawk - - stage2-gcc - - stage2-linux-api-headers - - stage2-make - - stage2-reset-specs - - eglibc - build-mode: staging - prefix: /usr -- name: gawk - repo: upstream:gawk - ref: 6a0eb04c3d2ac24d80d505b42a8f67799487d133 - unpetrify-ref: baserock/build-essential - build-depends: - - stage2-binutils - - stage2-busybox - - stage2-eglibc - - stage2-fhs-dirs - - stage2-gawk - - stage2-gcc - - stage2-linux-api-headers - - stage2-make - - stage2-reset-specs - - eglibc - build-mode: staging - prefix: /usr -- name: gcc - repo: upstream:gcc-tarball - ref: 088b7ab28fe53b198ec5c4eaba0f54176c4c35a0 - unpetrify-ref: baserock/build-essential - build-depends: - - stage2-binutils - - stage2-busybox - - stage2-eglibc - - stage2-fhs-dirs - - stage2-gawk - - stage2-gcc - - stage2-linux-api-headers - - stage2-make - - stage2-reset-specs - - eglibc - - zlib - build-mode: staging - artifacts: - gcc-libs: build-essential-minimal - prefix: /usr -- name: make - repo: upstream:make - ref: 56968f58301e6e5157cf4c8b6deefbaff2955eba - unpetrify-ref: baserock/build-essential - build-depends: - - stage2-binutils - - stage2-busybox - - stage2-eglibc - - stage2-fhs-dirs - - stage2-gawk - - stage2-gcc - - stage2-linux-api-headers - - stage2-make - - stage2-reset-specs - - eglibc - build-mode: staging - prefix: /usr -- name: ccache - repo: upstream:ccache - ref: 567631456f0899cdf0c382f898d38aadc8901d32 - unpetrify-ref: baserock/build-essential - build-depends: - - stage2-binutils - - stage2-busybox - - stage2-eglibc - - stage2-fhs-dirs - - stage2-gawk - - stage2-gcc - - stage2-linux-api-headers - - stage2-make - - stage2-reset-specs - - eglibc - - zlib - build-mode: staging - prefix: /usr |