From fe0cf73ba9641cb217485f486d55d2b64d2c0c7e Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Fri, 8 Feb 2013 16:19:07 +0000 Subject: Set refs for system branch --- base-system-armv7-highbank.morph | 8 ++++---- base-system-armv7-versatile.morph | 8 ++++---- base-system-x86_32-generic.morph | 8 ++++---- base-system-x86_64-generic.morph | 8 ++++---- bsp-armv7-highbank.morph | 2 +- bsp-armv7-versatile.morph | 2 +- bsp-imx53.morph | 2 +- bsp-x86_32-generic.morph | 2 +- bsp-x86_64-generic.morph | 2 +- core.morph | 2 +- devel-system-armv7-highbank.morph | 10 +++++----- devel-system-armv7-versatile.morph | 10 +++++----- devel-system-x86_32-generic.morph | 10 +++++----- devel-system-x86_64-generic.morph | 10 +++++----- foundation.morph | 2 +- tools.morph | 2 +- 16 files changed, 44 insertions(+), 44 deletions(-) diff --git a/base-system-armv7-highbank.morph b/base-system-armv7-highbank.morph index 22005cb..193ae6e 100644 --- a/base-system-armv7-highbank.morph +++ b/base-system-armv7-highbank.morph @@ -9,22 +9,22 @@ { "morph": "build-essential", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "foundation", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "bsp-armv7-highbank", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" } ] } diff --git a/base-system-armv7-versatile.morph b/base-system-armv7-versatile.morph index 04db502..259c3a1 100644 --- a/base-system-armv7-versatile.morph +++ b/base-system-armv7-versatile.morph @@ -9,22 +9,22 @@ { "morph": "build-essential", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "foundation", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "bsp-armv7-versatile", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" } ] } diff --git a/base-system-x86_32-generic.morph b/base-system-x86_32-generic.morph index 2e29dbe..dd687d0 100644 --- a/base-system-x86_32-generic.morph +++ b/base-system-x86_32-generic.morph @@ -9,22 +9,22 @@ { "morph": "build-essential", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "foundation", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "bsp-x86_32-generic", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" } ] } diff --git a/base-system-x86_64-generic.morph b/base-system-x86_64-generic.morph index 4ae4e71..6340a43 100644 --- a/base-system-x86_64-generic.morph +++ b/base-system-x86_64-generic.morph @@ -9,22 +9,22 @@ { "morph": "build-essential", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "foundation", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "bsp-x86_64-generic", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" } ] } diff --git a/bsp-armv7-highbank.morph b/bsp-armv7-highbank.morph index 1a49c68..384189d 100644 --- a/bsp-armv7-highbank.morph +++ b/bsp-armv7-highbank.morph @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/samthursfield/build-essential-2-rebase", "morph": "core" } ], diff --git a/bsp-armv7-versatile.morph b/bsp-armv7-versatile.morph index 6f5e4a1..7c4e30d 100644 --- a/bsp-armv7-versatile.morph +++ b/bsp-armv7-versatile.morph @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/samthursfield/build-essential-2-rebase", "morph": "core" } ], diff --git a/bsp-imx53.morph b/bsp-imx53.morph index d8c668d..4c3aa38 100644 --- a/bsp-imx53.morph +++ b/bsp-imx53.morph @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/samthursfield/build-essential-2-rebase", "morph": "core" } ], diff --git a/bsp-x86_32-generic.morph b/bsp-x86_32-generic.morph index bd52755..02e68fd 100644 --- a/bsp-x86_32-generic.morph +++ b/bsp-x86_32-generic.morph @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/samthursfield/build-essential-2-rebase", "morph": "core" } ], diff --git a/bsp-x86_64-generic.morph b/bsp-x86_64-generic.morph index b984a13..4e6b15b 100644 --- a/bsp-x86_64-generic.morph +++ b/bsp-x86_64-generic.morph @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/samthursfield/build-essential-2-rebase", "morph": "core" } ], diff --git a/core.morph b/core.morph index 56c046b..14c144d 100644 --- a/core.morph +++ b/core.morph @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/samthursfield/build-essential-2-rebase", "morph": "build-essential" } ], diff --git a/devel-system-armv7-highbank.morph b/devel-system-armv7-highbank.morph index ab73541..17666c8 100644 --- a/devel-system-armv7-highbank.morph +++ b/devel-system-armv7-highbank.morph @@ -9,27 +9,27 @@ { "morph": "build-essential", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "foundation", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "bsp-armv7-highbank", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "tools", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" } ] } diff --git a/devel-system-armv7-versatile.morph b/devel-system-armv7-versatile.morph index b10a52f..65f882e 100644 --- a/devel-system-armv7-versatile.morph +++ b/devel-system-armv7-versatile.morph @@ -9,27 +9,27 @@ { "morph": "build-essential", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "foundation", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "bsp-armv7-versatile", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "tools", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" } ] } diff --git a/devel-system-x86_32-generic.morph b/devel-system-x86_32-generic.morph index c0f4b87..5ec40ec 100644 --- a/devel-system-x86_32-generic.morph +++ b/devel-system-x86_32-generic.morph @@ -9,27 +9,27 @@ { "morph": "build-essential", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "foundation", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "bsp-x86_32-generic", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "tools", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" } ] } diff --git a/devel-system-x86_64-generic.morph b/devel-system-x86_64-generic.morph index 4872961..ae1db02 100644 --- a/devel-system-x86_64-generic.morph +++ b/devel-system-x86_64-generic.morph @@ -9,27 +9,27 @@ { "morph": "build-essential", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "foundation", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "bsp-x86_64-generic", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" }, { "morph": "tools", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/build-essential-2-rebase" } ] } diff --git a/foundation.morph b/foundation.morph index 39e366d..da63c6a 100644 --- a/foundation.morph +++ b/foundation.morph @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/samthursfield/build-essential-2-rebase", "morph": "core" } ], diff --git a/tools.morph b/tools.morph index 7342cd2..7d95987 100644 --- a/tools.morph +++ b/tools.morph @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/samthursfield/build-essential-2-rebase", "morph": "foundation" } ], -- cgit v1.2.1 From 7e69ba13132df002c166c4c6efb6e2568450c2b0 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Fri, 8 Feb 2013 15:29:01 +0000 Subject: Add new build-essential morphology --- build-essential.morph | 261 +++++++++++++++++++++++++++++++++++++++---- build-essential.morph.yaml | 270 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 508 insertions(+), 23 deletions(-) create mode 100644 build-essential.morph.yaml diff --git a/build-essential.morph b/build-essential.morph index 5a3fb2c..49843af 100644 --- a/build-essential.morph +++ b/build-essential.morph @@ -4,58 +4,273 @@ "kind": "stratum", "chunks": [ { - "name": "binutils", + "name": "stage1-binutils", "repo": "upstream:binutils-redhat", - "ref": "baserock/build-essential", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "bootstrap", + "prefix": "/tools", "build-depends": [] }, { - "name": "busybox", - "repo": "upstream:busybox", - "ref": "baserock/build-essential", - "build-depends": [] + "name": "stage1-gcc", + "repo": "upstream:gcc-tarball", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "bootstrap", + "prefix": "/tools", + "build-depends": [ + "stage1-binutils" + ] }, { - "name": "eglibc", + "name": "stage2-linux-api-headers", + "repo": "upstream:linux", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "bootstrap", + "prefix": "/tools", + "build-depends": [ + "stage1-binutils", + "stage1-gcc" + ] + }, + { + "name": "stage2-eglibc", "repo": "upstream:eglibc2", - "ref": "baserock/2.15-build-essential", - "build-depends": [] + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "bootstrap", + "prefix": "/tools", + "build-depends": [ + "stage1-binutils", + "stage1-gcc", + "stage2-linux-api-headers" + ] }, { - "name": "fhs-dirs", - "repo": "baserock:baserock/fhs-dirs", - "ref": "master", - "build-depends": [] + "name": "stage2-binutils", + "repo": "upstream:binutils-redhat", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "bootstrap", + "prefix": "/tools", + "build-depends": [ + "stage1-binutils", + "stage1-gcc", + "stage2-eglibc" + ] }, { - "name": "gcc", + "name": "stage2-gcc", "repo": "upstream:gcc-tarball", - "ref": "baserock/build-essential", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "bootstrap", + "prefix": "/tools", + "build-depends": [ + "stage1-binutils", + "stage1-gcc", + "stage2-eglibc" + ] + }, + { + "name": "stage2-busybox", + "repo": "upstream:busybox", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "bootstrap", + "prefix": "/tools", + "build-depends": [ + "stage1-binutils", + "stage1-gcc", + "stage2-eglibc" + ] + }, + { + "name": "stage2-fhs-dirs", + "repo": "baserock:baserock/fhs-dirs", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "bootstrap", + "prefix": "/tools", "build-depends": [] }, + { + "name": "stage2-gawk", + "repo": "upstream:gawk", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "bootstrap", + "prefix": "/tools", + "build-depends": [ + "stage1-binutils", + "stage1-gcc", + "stage2-eglibc" + ] + }, + { + "name": "stage2-make", + "repo": "upstream:make", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "bootstrap", + "prefix": "/tools", + "build-depends": [ + "stage1-binutils", + "stage1-gcc", + "stage2-eglibc" + ] + }, + { + "name": "fhs-dirs", + "repo": "baserock:baserock/fhs-dirs", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "staging", + "prefix": "/usr", + "build-depends": [ + "stage2-binutils", + "stage2-busybox", + "stage2-eglibc", + "stage2-fhs-dirs", + "stage2-gawk", + "stage2-gcc", + "stage2-linux-api-headers", + "stage2-make" + ] + }, { "name": "linux-api-headers", "repo": "upstream:linux", - "ref": "baserock/build-essential", - "build-depends": [] + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "staging", + "prefix": "/usr", + "build-depends": [ + "stage2-binutils", + "stage2-busybox", + "stage2-eglibc", + "stage2-fhs-dirs", + "stage2-gawk", + "stage2-gcc", + "stage2-linux-api-headers", + "stage2-make" + ] + }, + { + "name": "eglibc", + "repo": "upstream:eglibc2", + "ref": "baserock/2.15-build-essential", + "build-mode": "staging", + "prefix": "/usr", + "build-depends": [ + "stage2-binutils", + "stage2-busybox", + "stage2-eglibc", + "stage2-fhs-dirs", + "stage2-gawk", + "stage2-gcc", + "stage2-linux-api-headers", + "stage2-make", + "linux-api-headers" + ] + }, + { + "name": "binutils", + "repo": "upstream:binutils-redhat", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "staging", + "prefix": "/usr", + "build-depends": [ + "stage2-binutils", + "stage2-busybox", + "stage2-eglibc", + "stage2-fhs-dirs", + "stage2-gawk", + "stage2-gcc", + "stage2-linux-api-headers", + "stage2-make", + "eglibc" + ] + }, + { + "name": "busybox", + "repo": "upstream:busybox", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "staging", + "prefix": "/usr", + "build-depends": [ + "stage2-binutils", + "stage2-busybox", + "stage2-eglibc", + "stage2-fhs-dirs", + "stage2-gawk", + "stage2-gcc", + "stage2-linux-api-headers", + "stage2-make", + "eglibc" + ] }, { "name": "gawk", "repo": "upstream:gawk", - "ref": "baserock/build-essential", - "build-depends": [] + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "staging", + "prefix": "/usr", + "build-depends": [ + "stage2-binutils", + "stage2-busybox", + "stage2-eglibc", + "stage2-fhs-dirs", + "stage2-gawk", + "stage2-gcc", + "stage2-linux-api-headers", + "stage2-make", + "eglibc" + ] + }, + { + "name": "gcc", + "repo": "upstream:gcc-tarball", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "staging", + "prefix": "/usr", + "build-depends": [ + "stage2-binutils", + "stage2-busybox", + "stage2-eglibc", + "stage2-fhs-dirs", + "stage2-gawk", + "stage2-gcc", + "stage2-linux-api-headers", + "stage2-make", + "eglibc" + ] }, { "name": "make", "repo": "upstream:make", - "ref": "baserock/build-essential", - "build-depends": [] + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "staging", + "prefix": "/usr", + "build-depends": [ + "stage2-binutils", + "stage2-busybox", + "stage2-eglibc", + "stage2-fhs-dirs", + "stage2-gawk", + "stage2-gcc", + "stage2-linux-api-headers", + "stage2-make", + "eglibc" + ] }, { "name": "ccache", "repo": "upstream:ccache", - "ref": "baserock/build-essential", - "build-depends": [] + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "staging", + "prefix": "/usr", + "build-depends": [ + "stage2-binutils", + "stage2-busybox", + "stage2-eglibc", + "stage2-fhs-dirs", + "stage2-gawk", + "stage2-gcc", + "stage2-linux-api-headers", + "stage2-make", + "eglibc" + ] } ] } diff --git a/build-essential.morph.yaml b/build-essential.morph.yaml new file mode 100644 index 0000000..e81d9ae --- /dev/null +++ b/build-essential.morph.yaml @@ -0,0 +1,270 @@ +name: build-essential +description: Toolchain stratum +kind: stratum + +chunks: + # 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. + + - name: stage1-binutils + repo: upstream:binutils-redhat + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: bootstrap + prefix: /tools + build-depends: [] + + - name: stage1-gcc + repo: upstream:gcc-tarball + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: bootstrap + prefix: /tools + build-depends: + - stage1-binutils + + # 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). + + - name: stage2-linux-api-headers + repo: upstream:linux + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: bootstrap + prefix: /tools + build-depends: + - stage1-binutils + - stage1-gcc + + - name: stage2-eglibc + repo: upstream:eglibc2 + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: bootstrap + prefix: /tools + build-depends: + - stage1-binutils + - stage1-gcc + - stage2-linux-api-headers + + - name: stage2-binutils + repo: upstream:binutils-redhat + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: bootstrap + prefix: /tools + build-depends: + - stage1-binutils + - stage1-gcc + - stage2-eglibc + + - name: stage2-gcc + repo: upstream:gcc-tarball + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: bootstrap + prefix: /tools + build-depends: + - stage1-binutils + - stage1-gcc + - stage2-eglibc + + - name: stage2-busybox + repo: upstream:busybox + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: bootstrap + prefix: /tools + build-depends: + - stage1-binutils + - stage1-gcc + - stage2-eglibc + + - name: stage2-fhs-dirs + repo: baserock:baserock/fhs-dirs + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: bootstrap + prefix: /tools + build-depends: [] + + - name: stage2-gawk + repo: upstream:gawk + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: bootstrap + prefix: /tools + build-depends: + - stage1-binutils + - stage1-gcc + - stage2-eglibc + + - name: stage2-make + repo: upstream:make + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: bootstrap + prefix: /tools + build-depends: + - stage1-binutils + - stage1-gcc + - stage2-eglibc + + # 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 built 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 + # the host. + # + # After build-essential is built we do another trick: stage2-fhs-dirs + # symlinks /bin to /tools/bin and /lib to /tools/lib, while the stage 3 + # chunks actually install things to those directories. FIXME: which breaks + # everything!!! This will have to change. + # + + - name: fhs-dirs + repo: baserock:baserock/fhs-dirs + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: staging + prefix: /usr + build-depends: + - stage2-binutils + - stage2-busybox + - stage2-eglibc + - stage2-fhs-dirs + - stage2-gawk + - stage2-gcc + - stage2-linux-api-headers + - stage2-make + + - name: linux-api-headers + repo: upstream:linux + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: staging + prefix: /usr + build-depends: + - stage2-binutils + - stage2-busybox + - stage2-eglibc + - stage2-fhs-dirs + - stage2-gawk + - stage2-gcc + - stage2-linux-api-headers + - stage2-make + + - name: eglibc + repo: upstream:eglibc2 + ref: baserock/2.15-build-essential + build-mode: staging + prefix: /usr + build-depends: + - stage2-binutils + - stage2-busybox + - stage2-eglibc + - stage2-fhs-dirs + - stage2-gawk + - stage2-gcc + - stage2-linux-api-headers + - stage2-make + - linux-api-headers + + - name: binutils + repo: upstream:binutils-redhat + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: staging + prefix: /usr + build-depends: + - stage2-binutils + - stage2-busybox + - stage2-eglibc + - stage2-fhs-dirs + - stage2-gawk + - stage2-gcc + - stage2-linux-api-headers + - stage2-make + - eglibc + + - name: busybox + repo: upstream:busybox + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: staging + prefix: /usr + build-depends: + - stage2-binutils + - stage2-busybox + - stage2-eglibc + - stage2-fhs-dirs + - stage2-gawk + - stage2-gcc + - stage2-linux-api-headers + - stage2-make + - eglibc + + - name: gawk + repo: upstream:gawk + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: staging + prefix: /usr + build-depends: + - stage2-binutils + - stage2-busybox + - stage2-eglibc + - stage2-fhs-dirs + - stage2-gawk + - stage2-gcc + - stage2-linux-api-headers + - stage2-make + - eglibc + + - name: gcc + repo: upstream:gcc-tarball + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: staging + prefix: /usr + build-depends: + - stage2-binutils + - stage2-busybox + - stage2-eglibc + - stage2-fhs-dirs + - stage2-gawk + - stage2-gcc + - stage2-linux-api-headers + - stage2-make + - eglibc + + - name: make + repo: upstream:make + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: staging + prefix: /usr + build-depends: + - stage2-binutils + - stage2-busybox + - stage2-eglibc + - stage2-fhs-dirs + - stage2-gawk + - stage2-gcc + - stage2-linux-api-headers + - stage2-make + - eglibc + + # Extras that need to be in build-essential but don't need bootstrapping. + + - name: ccache + repo: upstream:ccache + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: staging + prefix: /usr + build-depends: + - stage2-binutils + - stage2-busybox + - stage2-eglibc + - stage2-fhs-dirs + - stage2-gawk + - stage2-gcc + - stage2-linux-api-headers + - stage2-make + - eglibc -- cgit v1.2.1 From 1f3c22493494b14760262be4782182ec67a59fa5 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Thu, 14 Mar 2013 10:59:46 +0000 Subject: Add zlib to build-essential It's never good to have multiple versions of the same library in use on a system, so we should avoid using the versions of ZLib that are bundled in the GCC and Binutils releases. --- build-essential.morph | 61 ++++++++++++++++++++++++++++++++++++++++------ build-essential.morph.yaml | 43 +++++++++++++++++++++++++++++++- core.morph | 12 ++------- 3 files changed, 97 insertions(+), 19 deletions(-) diff --git a/build-essential.morph b/build-essential.morph index 49843af..c8c9413 100644 --- a/build-essential.morph +++ b/build-essential.morph @@ -44,6 +44,18 @@ "stage2-linux-api-headers" ] }, + { + "name": "stage2-zlib", + "repo": "upstream:zlib", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "bootstrap", + "prefix": "/tools", + "build-depends": [ + "stage1-binutils", + "stage1-gcc", + "stage2-eglibc" + ] + }, { "name": "stage2-binutils", "repo": "upstream:binutils-redhat", @@ -53,7 +65,8 @@ "build-depends": [ "stage1-binutils", "stage1-gcc", - "stage2-eglibc" + "stage2-eglibc", + "stage2-zlib" ] }, { @@ -65,7 +78,8 @@ "build-depends": [ "stage1-binutils", "stage1-gcc", - "stage2-eglibc" + "stage2-eglibc", + "stage2-zlib" ] }, { @@ -126,7 +140,8 @@ "stage2-gawk", "stage2-gcc", "stage2-linux-api-headers", - "stage2-make" + "stage2-make", + "stage2-zlib" ] }, { @@ -143,13 +158,14 @@ "stage2-gawk", "stage2-gcc", "stage2-linux-api-headers", - "stage2-make" + "stage2-make", + "stage2-zlib" ] }, { "name": "eglibc", "repo": "upstream:eglibc2", - "ref": "baserock/2.15-build-essential", + "ref": "baserock/samthursfield/build-essential-2-rebase", "build-mode": "staging", "prefix": "/usr", "build-depends": [ @@ -161,9 +177,29 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", + "stage2-zlib", "linux-api-headers" ] }, + { + "name": "zlib", + "repo": "upstream:zlib", + "ref": "baserock/samthursfield/build-essential-2-rebase", + "build-mode": "staging", + "prefix": "/usr", + "build-depends": [ + "stage2-binutils", + "stage2-busybox", + "stage2-eglibc", + "stage2-fhs-dirs", + "stage2-gawk", + "stage2-gcc", + "stage2-linux-api-headers", + "stage2-make", + "stage2-zlib", + "eglibc" + ] + }, { "name": "binutils", "repo": "upstream:binutils-redhat", @@ -179,7 +215,9 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", - "eglibc" + "stage2-zlib", + "eglibc", + "zlib" ] }, { @@ -197,6 +235,7 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", + "stage2-zlib", "eglibc" ] }, @@ -215,6 +254,7 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", + "stage2-zlib", "eglibc" ] }, @@ -233,7 +273,9 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", - "eglibc" + "stage2-zlib", + "eglibc", + "zlib" ] }, { @@ -251,6 +293,7 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", + "stage2-zlib", "eglibc" ] }, @@ -269,7 +312,9 @@ "stage2-gcc", "stage2-linux-api-headers", "stage2-make", - "eglibc" + "stage2-zlib", + "eglibc", + "zlib" ] } ] diff --git a/build-essential.morph.yaml b/build-essential.morph.yaml index e81d9ae..79c6974 100644 --- a/build-essential.morph.yaml +++ b/build-essential.morph.yaml @@ -52,6 +52,16 @@ chunks: - stage1-gcc - stage2-linux-api-headers + - name: stage2-zlib + repo: upstream:zlib + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: bootstrap + prefix: /tools + build-depends: + - stage1-binutils + - stage1-gcc + - stage2-eglibc + - name: stage2-binutils repo: upstream:binutils-redhat ref: baserock/samthursfield/build-essential-2-rebase @@ -61,6 +71,7 @@ chunks: - stage1-binutils - stage1-gcc - stage2-eglibc + - stage2-zlib - name: stage2-gcc repo: upstream:gcc-tarball @@ -71,6 +82,7 @@ chunks: - stage1-binutils - stage1-gcc - stage2-eglibc + - stage2-zlib - name: stage2-busybox repo: upstream:busybox @@ -139,6 +151,7 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make + - stage2-zlib - name: linux-api-headers repo: upstream:linux @@ -154,10 +167,11 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make + - stage2-zlib - name: eglibc repo: upstream:eglibc2 - ref: baserock/2.15-build-essential + ref: baserock/samthursfield/build-essential-2-rebase build-mode: staging prefix: /usr build-depends: @@ -169,8 +183,26 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make + - stage2-zlib - linux-api-headers + - name: zlib + repo: upstream:zlib + ref: baserock/samthursfield/build-essential-2-rebase + build-mode: staging + prefix: /usr + build-depends: + - stage2-binutils + - stage2-busybox + - stage2-eglibc + - stage2-fhs-dirs + - stage2-gawk + - stage2-gcc + - stage2-linux-api-headers + - stage2-make + - stage2-zlib + - eglibc + - name: binutils repo: upstream:binutils-redhat ref: baserock/samthursfield/build-essential-2-rebase @@ -185,7 +217,9 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make + - stage2-zlib - eglibc + - zlib - name: busybox repo: upstream:busybox @@ -201,6 +235,7 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make + - stage2-zlib - eglibc - name: gawk @@ -217,6 +252,7 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make + - stage2-zlib - eglibc - name: gcc @@ -233,7 +269,9 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make + - stage2-zlib - eglibc + - zlib - name: make repo: upstream:make @@ -249,6 +287,7 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make + - stage2-zlib - eglibc # Extras that need to be in build-essential but don't need bootstrapping. @@ -267,4 +306,6 @@ chunks: - stage2-gcc - stage2-linux-api-headers - stage2-make + - stage2-zlib - eglibc + - zlib diff --git a/core.morph b/core.morph index 14c144d..eb99e69 100644 --- a/core.morph +++ b/core.morph @@ -76,12 +76,6 @@ "ncurses" ] }, - { - "name": "zlib", - "repo": "upstream:zlib", - "ref": "baserock/morph", - "build-depends": [] - }, { "name": "autoconf", "repo": "upstream:autoconf", @@ -139,8 +133,7 @@ "ref": "baserock/morph-2.7", "build-depends": [ "openssl", - "readline", - "zlib" + "readline" ] }, { @@ -214,8 +207,7 @@ "error-perl-tarball", "gettext", "libexpat", - "openssl", - "zlib" + "openssl" ] }, { -- cgit v1.2.1