From 4de377ebd6877abeb312954dda001fb1f45b14df Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Thu, 24 Jan 2013 11:49:48 +0000 Subject: Reorganise morphologies for build-essential This patch rewrites the Baserock morphologies so that they can be built using a minimal "build-essential" staging filler, as described in my previous patch mail. The Baserock system is split up into three strata: - build-essential: the minimum set of tools that can rebuild itself (from tarballs) - core: the remaining set of components necessary to produce a Baserock system which can rebuild itself from source - tools: auxiliary development tools and libraries The 'build-essential' stratum does not specify any build dependencies, because it expects to be built with a staging filler containing itself. In effect, the stratum has a circular dependency on itself, which we solve by using a staging filler. The 'core' stratum depends on only on 'build-essential'. This ensures that all build dependencies between chunks in 'core' are explicit. These strata can also be built with the staging filler from the water-bomb release. The distinction between a base and a devel system is no longer defined by the 'foundation' and 'devel' strata (in practice these had various hidden build dependencies between each other). The size of a base system is larger than before, due to more development tools being in 'core'. --- build-essential.morph | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 build-essential.morph (limited to 'build-essential.morph') diff --git a/build-essential.morph b/build-essential.morph new file mode 100644 index 00000000..5a3fb2c0 --- /dev/null +++ b/build-essential.morph @@ -0,0 +1,61 @@ +{ + "name": "build-essential", + "description": "Toolchain stratum", + "kind": "stratum", + "chunks": [ + { + "name": "binutils", + "repo": "upstream:binutils-redhat", + "ref": "baserock/build-essential", + "build-depends": [] + }, + { + "name": "busybox", + "repo": "upstream:busybox", + "ref": "baserock/build-essential", + "build-depends": [] + }, + { + "name": "eglibc", + "repo": "upstream:eglibc2", + "ref": "baserock/2.15-build-essential", + "build-depends": [] + }, + { + "name": "fhs-dirs", + "repo": "baserock:baserock/fhs-dirs", + "ref": "master", + "build-depends": [] + }, + { + "name": "gcc", + "repo": "upstream:gcc-tarball", + "ref": "baserock/build-essential", + "build-depends": [] + }, + { + "name": "linux-api-headers", + "repo": "upstream:linux", + "ref": "baserock/build-essential", + "build-depends": [] + }, + { + "name": "gawk", + "repo": "upstream:gawk", + "ref": "baserock/build-essential", + "build-depends": [] + }, + { + "name": "make", + "repo": "upstream:make", + "ref": "baserock/build-essential", + "build-depends": [] + }, + { + "name": "ccache", + "repo": "upstream:ccache", + "ref": "baserock/build-essential", + "build-depends": [] + } + ] +} -- cgit v1.2.1