summaryrefslogtreecommitdiff
path: root/build-essential.morph
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2013-01-24 11:49:48 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2013-01-24 17:25:15 +0000
commit4de377ebd6877abeb312954dda001fb1f45b14df (patch)
tree2c880e0f80d73dd1082b32d0099ff3e72cd4d51e /build-essential.morph
parentec66dd9129f4b00bb9297b94814e27ad82c63b4d (diff)
downloaddefinitions-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.morph61
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": []
+ }
+ ]
+}