diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2013-01-24 11:49:48 +0000 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2013-01-24 17:25:15 +0000 |
commit | 4de377ebd6877abeb312954dda001fb1f45b14df (patch) | |
tree | 2c880e0f80d73dd1082b32d0099ff3e72cd4d51e /build-essential.morph | |
parent | ec66dd9129f4b00bb9297b94814e27ad82c63b4d (diff) | |
download | definitions-4de377ebd6877abeb312954dda001fb1f45b14df.tar.gz |
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'.
Diffstat (limited to 'build-essential.morph')
-rw-r--r-- | build-essential.morph | 61 |
1 files changed, 61 insertions, 0 deletions
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": [] + } + ] +} |