From adac44f6248996d0d45d0bb87af3a689122f7027 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Fri, 1 Feb 2013 13:10:56 +0000 Subject: Split 'foundation' stratum back out of 'core' Mixing together the set of build tools required to build the base system and the components in the base system itself has one big issue: changing any component of the base system triggers a rebuild of every higher stratum, which even for simple Baserock systems means constantly rebuilding Linux. To solve this, I have turned 'core' into a sort of larger version of build-essential (I am considering renaming it to 'build-core' or even just 'build'). Chunks which are required for running a base system but not during the build of other components are now in the resurrected 'foundation' stratum, along with their specific dependencies (which stratum a chunk should go in is roughly decided by its utility to chunks outside of foundation). --- base-system-armv7-versatile.morph | 9 +- base-system-x86_32-generic.morph | 9 +- base-system-x86_64-generic.morph | 9 +- bsp-armv7-versatile.morph | 2 +- bsp-imx53.morph | 2 +- bsp-x86_32-generic.morph | 2 +- bsp-x86_64-generic.morph | 2 +- core.morph | 330 ++----------------------------------- devel-system-armv7-versatile.morph | 11 +- devel-system-x86_32-generic.morph | 11 +- devel-system-x86_64-generic.morph | 11 +- foundation.morph | 226 +++++++++++++++++++++++++ tools.morph | 4 +- 13 files changed, 293 insertions(+), 335 deletions(-) create mode 100644 foundation.morph diff --git a/base-system-armv7-versatile.morph b/base-system-armv7-versatile.morph index 710024a..66f7488 100644 --- a/base-system-armv7-versatile.morph +++ b/base-system-armv7-versatile.morph @@ -14,12 +14,17 @@ { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" + }, + { + "morph": "foundation", + "repo": "baserock:baserock/morphs", + "ref": "baserock/samthursfield/minimal-core" }, { "morph": "bsp-armv7-versatile", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" } ] } diff --git a/base-system-x86_32-generic.morph b/base-system-x86_32-generic.morph index 5b91403..b8b2f6c 100644 --- a/base-system-x86_32-generic.morph +++ b/base-system-x86_32-generic.morph @@ -14,12 +14,17 @@ { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" + }, + { + "morph": "foundation", + "repo": "baserock:baserock/morphs", + "ref": "baserock/samthursfield/minimal-core" }, { "morph": "bsp-x86_32-generic", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" } ] } diff --git a/base-system-x86_64-generic.morph b/base-system-x86_64-generic.morph index f5ef472..b3c442e 100644 --- a/base-system-x86_64-generic.morph +++ b/base-system-x86_64-generic.morph @@ -14,12 +14,17 @@ { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" + }, + { + "morph": "foundation", + "repo": "baserock:baserock/morphs", + "ref": "baserock/samthursfield/minimal-core" }, { "morph": "bsp-x86_64-generic", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" } ] } diff --git a/bsp-armv7-versatile.morph b/bsp-armv7-versatile.morph index 6f5e4a1..4048a86 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/minimal-core", "morph": "core" } ], diff --git a/bsp-imx53.morph b/bsp-imx53.morph index d8c668d..7b7bd06 100644 --- a/bsp-imx53.morph +++ b/bsp-imx53.morph @@ -5,7 +5,7 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", + "ref": "baserock/samthursfield/minimal-core", "morph": "core" } ], diff --git a/bsp-x86_32-generic.morph b/bsp-x86_32-generic.morph index 0636f27..afbc9cf 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/minimal-core", "morph": "core" } ], diff --git a/bsp-x86_64-generic.morph b/bsp-x86_64-generic.morph index b984a13..fb95c37 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/minimal-core", "morph": "core" } ], diff --git a/core.morph b/core.morph index 15abf90..e473352 100644 --- a/core.morph +++ b/core.morph @@ -1,6 +1,6 @@ { "name": "core", - "description": "Core components required to build a Baserock devel system", + "description": "Core components of a Baserock base system that are build tools required for the BSP and Foundation strata, but a step above build-essential", "kind": "stratum", "build-depends": [ { @@ -22,18 +22,6 @@ "ref": "baserock/build-essential", "build-depends": [] }, - { - "name": "gperf", - "repo": "upstream:gperf", - "ref": "baserock/morph", - "build-depends": [] - }, - { - "name": "libffi", - "repo": "upstream:libffi", - "ref": "master", - "build-depends": [] - }, { "name": "m4", "repo": "upstream:m4", @@ -52,12 +40,6 @@ "ref": "baserock/morph", "build-depends": [] }, - { - "name": "pciutils", - "repo": "upstream:pciutils", - "ref": "baserock/morph", - "build-depends": [] - }, { "name": "perl", "repo": "upstream:perl", @@ -66,12 +48,6 @@ "gdbm" ] }, - { - "name": "pkg-config", - "repo": "upstream:pkg-config", - "ref": "baserock/build-essential", - "build-depends": [] - }, { "name": "readline", "repo": "upstream:readline", @@ -145,16 +121,6 @@ "bash" ] }, - { - "name": "libusbx", - "repo": "upstream:libusbx", - "ref": "master", - "build-depends": [ - "autoconf", - "automake", - "libtool" - ] - }, { "name": "libxml2", "repo": "upstream:libxml2", @@ -173,39 +139,6 @@ "perl" ] }, - { - "name": "usbutils", - "repo": "upstream:usbutils", - "ref": "baserock/morph", - "build-depends": [ - "autoconf", - "automake", - "libusbx", - "pkg-config" - ] - }, - { - "name": "xz", - "repo": "upstream:xz", - "ref": "baserock/morph", - "build-depends": [ - "autoconf", - "automake", - "gettext", - "libtool" - ] - }, - { - "name": "attr", - "repo": "upstream:attr", - "ref": "baserock/morph", - "build-depends": [ - "autoconf", - "automake", - "gettext", - "libtool" - ] - }, { "name": "cpython", "repo": "upstream:cpython", @@ -227,41 +160,6 @@ "openssl" ] }, - { - "name": "glib", - "repo": "upstream:glib", - "ref": "master", - "build-depends": [ - "autoconf", - "automake", - "cpython", - "gettext", - "libffi", - "libtool", - "pkg-config", - "zlib" - ] - }, - { - "name": "kmod", - "repo": "upstream:kmod", - "ref": "baserock/morph", - "build-depends": [ - "autoconf", - "automake", - "libtool", - "pkg-config", - "zlib" - ] - }, - { - "name": "libcap2", - "repo": "upstream:libcap2", - "ref": "baserock/morph", - "build-depends": [ - "attr" - ] - }, { "name": "libexpat", "repo": "upstream:libexpat", @@ -272,31 +170,6 @@ "libtool" ] }, - { - "name": "python-setuptools", - "repo": "upstream:python-setuptools", - "ref": "baserock/morph", - "build-depends": [ - "cpython" - ] - }, - { - "name": "python-ttystatus", - "repo": "upstream:python-ttystatus", - "ref": "baserock/morph", - "build-depends": [ - "cpython" - ] - }, - { - "name": "pyyaml", - "repo": "upstream:pyyaml", - "ref": "baserock/morph", - "build-depends": [ - "cpython", - "python-setuptools" - ] - }, { "name": "XML-Parser", "repo": "upstream:XML-Parser", @@ -307,19 +180,6 @@ "perl" ] }, - { - "name": "dbus-pre", - "repo": "upstream:dbus", - "ref": "baserock/build-essential", - "build-depends": [ - "autoconf", - "automake", - "glib", - "libexpat", - "libtool", - "pkg-config" - ] - }, { "name": "git", "repo": "upstream:git", @@ -335,39 +195,6 @@ "zlib" ] }, - { - "name": "intltool", - "repo": "upstream:intltool", - "ref": "baserock/morph", - "build-depends": [ - "XML-Parser", - "autoconf", - "automake", - "perl" - ] - }, - { - "name": "python-coveragepy", - "repo": "upstream:python-coveragepy", - "ref": "baserock/morph", - "build-depends": [ - "cpython", - "python-setuptools" - ] - }, - { - "name": "util-linux", - "repo": "upstream:util-linux", - "ref": "baserock/morph", - "build-depends": [ - "autoconf", - "automake", - "gettext", - "git", - "libtool", - "pkg-config" - ] - }, { "name": "bison", "repo": "upstream:bison", @@ -382,88 +209,6 @@ "mini-utils" ] }, - { - "name": "gobject-introspection", - "repo": "upstream:gobject-introspection", - "ref": "baserock/morph", - "build-depends": [ - "autoconf", - "automake", - "bison", - "cpython", - "flex", - "glib", - "libtool", - "pkg-config" - ] - }, - { - "name": "groff", - "repo": "upstream:groff", - "ref": "baserock/morph", - "build-depends": [ - "bison", - "texinfo-tarball" - ] - }, - { - "name": "python-coverage-test-runner", - "repo": "upstream:python-coverage-test-runner", - "ref": "baserock/morph", - "build-depends": [ - "cpython", - "python-coveragepy" - ] - }, - { - "name": "systemd", - "repo": "upstream:systemd", - "ref": "baserock/morph", - "build-depends": [ - "autoconf", - "automake", - "dbus-pre", - "gobject-introspection", - "gperf", - "intltool", - "kmod", - "libcap2", - "libtool", - "pciutils", - "usbutils", - "util-linux", - "xz" - ] - }, - { - "name": "cliapp", - "repo": "upstream:cliapp", - "ref": "trunk", - "build-depends": [ - "cpython", - "python-coverage-test-runner" - ] - }, - { - "name": "cmdtest", - "repo": "upstream:cmdtest", - "ref": "baserock/morph", - "build-depends": [ - "cliapp", - "cpython", - "python-ttystatus" - ] - }, - { - "name": "btrfs-progs", - "repo": "upstream:btrfs-progs", - "ref": "baserock/morph", - "build-depends": [ - "attr", - "util-linux", - "zlib" - ] - }, { "name": "bzip2", "repo": "upstream:bzip2", @@ -471,79 +216,36 @@ "build-depends": [] }, { - "name": "dbus", - "repo": "upstream:dbus", - "ref": "baserock/build-essential", - "build-depends": [ - "autoconf", - "automake", - "glib", - "libexpat", - "libtool", - "pkg-config", - "systemd" - ] - }, - { - "name": "gtk-doc-stub", - "repo": "upstream:gtk-doc-stub", - "ref": "master", - "build-depends": [ - "bash" - ] - }, - { - "name": "help2man", - "repo": "upstream:help2man", + "name": "gperf", + "repo": "upstream:gperf", "ref": "baserock/morph", - "build-depends": [ - "autoconf", - "perl", - "texinfo-tarball" - ] + "build-depends": [] }, { - "name": "libxslt", - "repo": "upstream:libxslt", - "ref": "master", + "name": "intltool", + "repo": "upstream:intltool", + "ref": "baserock/morph", "build-depends": [ + "XML-Parser", "autoconf", "automake", - "libtool", - "libxml2" + "perl" ] }, { - "name": "morph", - "repo": "baserock:baserock/morph", - "ref": "master", - "build-depends": [ - "cliapp", - "cmdtest", - "git", - "python-coverage-test-runner", - "pyyaml" - ] + "name": "pkg-config", + "repo": "upstream:pkg-config", + "ref": "baserock/build-essential", + "build-depends": [] }, { - "name": "openssh", - "repo": "upstream:openssh", + "name": "xz", + "repo": "upstream:xz", "ref": "baserock/morph", "build-depends": [ - "autoconf", - "groff", - "openssl", - "zlib" - ] - }, - { - "name": "tbdiff", - "repo": "baserock:baserock/tbdiff", - "ref": "master", - "build-depends": [ - "attr", "autoconf", "automake", + "gettext", "libtool" ] } diff --git a/devel-system-armv7-versatile.morph b/devel-system-armv7-versatile.morph index d268259..1a550a0 100644 --- a/devel-system-armv7-versatile.morph +++ b/devel-system-armv7-versatile.morph @@ -14,17 +14,22 @@ { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" + }, + { + "morph": "foundation", + "repo": "baserock:baserock/morphs", + "ref": "baserock/samthursfield/minimal-core" }, { "morph": "bsp-armv7-versatile", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" }, { "morph": "tools", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" } ] } diff --git a/devel-system-x86_32-generic.morph b/devel-system-x86_32-generic.morph index 0a328bc..84ebf79 100644 --- a/devel-system-x86_32-generic.morph +++ b/devel-system-x86_32-generic.morph @@ -14,17 +14,22 @@ { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" + }, + { + "morph": "foundation", + "repo": "baserock:baserock/morphs", + "ref": "baserock/samthursfield/minimal-core" }, { "morph": "bsp-x86_32-generic", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" }, { "morph": "tools", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" } ] } diff --git a/devel-system-x86_64-generic.morph b/devel-system-x86_64-generic.morph index 33756f3..ad18574 100644 --- a/devel-system-x86_64-generic.morph +++ b/devel-system-x86_64-generic.morph @@ -14,17 +14,22 @@ { "morph": "core", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" + }, + { + "morph": "foundation", + "repo": "baserock:baserock/morphs", + "ref": "baserock/samthursfield/minimal-core" }, { "morph": "bsp-x86_64-generic", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" }, { "morph": "tools", "repo": "baserock:baserock/morphs", - "ref": "master" + "ref": "baserock/samthursfield/minimal-core" } ] } diff --git a/foundation.morph b/foundation.morph new file mode 100644 index 0000000..1a5b53f --- /dev/null +++ b/foundation.morph @@ -0,0 +1,226 @@ +{ + "name": "foundation", + "kind": "stratum", + "description": "Non-build components of a Baserock base system", + "build-depends": [ + { + "repo": "baserock:baserock/morphs", + "ref": "baserock/samthursfield/minimal-core", + "morph": "core" + } + ], + "chunks": [ + { + "name": "attr", + "repo": "upstream:attr", + "ref": "baserock/morph", + "build-depends": [] + }, + { + "name": "groff", + "repo": "upstream:groff", + "ref": "baserock/morph", + "build-depends": [] + }, + { + "name": "kmod", + "repo": "upstream:kmod", + "ref": "baserock/morph", + "build-depends": [] + }, + { + "name": "libcap2", + "repo": "upstream:libcap2", + "ref": "baserock/morph", + "build-depends": [ + "attr" + ] + }, + { + "name": "libffi", + "repo": "upstream:libffi", + "ref": "master", + "build-depends": [] + }, + { + "name": "libusbx", + "repo": "upstream:libusbx", + "ref": "master", + "build-depends": [] + }, + { + "name": "pciutils", + "repo": "upstream:pciutils", + "ref": "baserock/morph", + "build-depends": [] + }, + { + "name": "python-setuptools", + "repo": "upstream:python-setuptools", + "ref": "baserock/morph", + "build-depends": [] + }, + { + "name": "python-ttystatus", + "repo": "upstream:python-ttystatus", + "ref": "baserock/morph", + "build-depends": [] + }, + { + "name": "pyyaml", + "repo": "upstream:pyyaml", + "ref": "baserock/morph", + "build-depends": [ + "python-setuptools" + ] + }, + { + "name": "usbutils", + "repo": "upstream:usbutils", + "ref": "baserock/morph", + "build-depends": [ + "libusbx" + ] + }, + { + "name": "util-linux", + "repo": "upstream:util-linux", + "ref": "baserock/morph", + "build-depends": [] + }, + { + "name": "glib", + "repo": "upstream:glib", + "ref": "master", + "build-depends": [ + "libffi" + ] + }, + { + "name": "gobject-introspection", + "repo": "upstream:gobject-introspection", + "ref": "baserock/morph", + "build-depends": [ + "glib" + ] + }, + { + "name": "python-coveragepy", + "repo": "upstream:python-coveragepy", + "ref": "baserock/morph", + "build-depends": [ + "python-setuptools" + ] + }, + { + "name": "dbus-pre", + "repo": "upstream:dbus", + "ref": "baserock/build-essential", + "build-depends": [ + "glib" + ] + }, + { + "name": "python-coverage-test-runner", + "repo": "upstream:python-coverage-test-runner", + "ref": "baserock/morph", + "build-depends": [ + "python-coveragepy" + ] + }, + { + "name": "systemd", + "repo": "upstream:systemd", + "ref": "baserock/morph", + "build-depends": [ + "dbus-pre", + "gobject-introspection", + "kmod", + "libcap2", + "pciutils", + "usbutils", + "util-linux" + ] + }, + { + "name": "cliapp", + "repo": "upstream:cliapp", + "ref": "trunk", + "build-depends": [ + "python-coverage-test-runner" + ] + }, + { + "name": "cmdtest", + "repo": "upstream:cmdtest", + "ref": "baserock/morph", + "build-depends": [ + "cliapp", + "python-ttystatus" + ] + }, + { + "name": "btrfs-progs", + "repo": "upstream:btrfs-progs", + "ref": "baserock/morph", + "build-depends": [ + "attr", + "util-linux" + ] + }, + { + "name": "dbus", + "repo": "upstream:dbus", + "ref": "baserock/build-essential", + "build-depends": [ + "glib", + "systemd" + ] + }, + { + "name": "gtk-doc-stub", + "repo": "upstream:gtk-doc-stub", + "ref": "master", + "build-depends": [] + }, + { + "name": "help2man", + "repo": "upstream:help2man", + "ref": "baserock/morph", + "build-depends": [] + }, + { + "name": "libxslt", + "repo": "upstream:libxslt", + "ref": "master", + "build-depends": [] + }, + { + "name": "morph", + "repo": "baserock:baserock/morph", + "ref": "master", + "build-depends": [ + "cliapp", + "cmdtest", + "python-coverage-test-runner", + "pyyaml" + ] + }, + { + "name": "openssh", + "repo": "upstream:openssh", + "ref": "baserock/morph", + "build-depends": [ + "groff" + ] + }, + { + "name": "tbdiff", + "repo": "baserock:baserock/tbdiff", + "ref": "master", + "build-depends": [ + "attr" + ] + } + ] +} diff --git a/tools.morph b/tools.morph index 96d4272..ffbacec 100644 --- a/tools.morph +++ b/tools.morph @@ -5,8 +5,8 @@ "build-depends": [ { "repo": "baserock:baserock/morphs", - "ref": "master", - "morph": "core" + "ref": "baserock/samthursfield/minimal-core", + "morph": "foundation" } ], "chunks": [ -- cgit v1.2.1