[PATCH] Reorganise morphologies for build-essential

Sam Thursfield sam.thursfield at codethink.co.uk
Thu Jan 24 17:27:08 GMT 2013


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'.
---
 base-system-armv7-versatile.morph  |   11 +-
 base-system-x86_32-generic.morph   |   13 +-
 base-system-x86_64-generic.morph   |   13 +-
 bsp-x86_64-generic.morph           |    7 +
 build-essential.morph              |   61 ++++
 core.morph                         |  540 ++++++++++++++++++++++++++++++++++++
 devel-system-armv7-versatile.morph |   17 +-
 devel-system-x86_32-generic.morph  |   17 +-
 devel-system-x86_64-generic.morph  |   17 +-
 devel.morph                        |  523 ----------------------------------
 foundation.morph                   |  182 ------------
 tools.morph                        |  108 ++++++++
 12 files changed, 775 insertions(+), 734 deletions(-)
 create mode 100644 build-essential.morph
 create mode 100644 core.morph
 delete mode 100644 devel.morph
 delete mode 100644 foundation.morph
 create mode 100644 tools.morph

diff --git a/base-system-armv7-versatile.morph b/base-system-armv7-versatile.morph
index 9f49ea8..7aafc39 100644
--- a/base-system-armv7-versatile.morph
+++ b/base-system-armv7-versatile.morph
@@ -7,12 +7,17 @@
     "disk-size": "2G",
     "strata": [
         {
-            "morph": "bsp-armv7-versatile",
+            "morph": "build-essential",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
+        },
+        {
+            "morph": "core",
+            "repo": "baserock:baserock/morphs",
+            "ref": "baserock/samthursfield/build-essential"
         },
         {
-            "morph": "foundation",
+            "morph": "bsp-armv7-versatile",
             "repo": "baserock:baserock/morphs",
             "ref": "master"
         }
diff --git a/base-system-x86_32-generic.morph b/base-system-x86_32-generic.morph
index b1af9fe..548a5d6 100644
--- a/base-system-x86_32-generic.morph
+++ b/base-system-x86_32-generic.morph
@@ -7,14 +7,19 @@
     "disk-size": "2G",
     "strata": [
         {
-            "morph": "bsp-x86_32-generic",
+            "morph": "build-essential",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         },
         {
-            "morph": "foundation",
+            "morph": "core",
+            "repo": "baserock:baserock/morphs",
+            "ref": "baserock/samthursfield/build-essential"
+        },
+        {
+            "morph": "bsp-x86_32-generic",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         }
     ]
 }
diff --git a/base-system-x86_64-generic.morph b/base-system-x86_64-generic.morph
index 94c93ff..68fc776 100644
--- a/base-system-x86_64-generic.morph
+++ b/base-system-x86_64-generic.morph
@@ -7,14 +7,19 @@
     "disk-size": "2G",
     "strata": [
         {
-            "morph": "bsp-x86_64-generic",
+            "morph": "build-essential",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         },
         {
-            "morph": "foundation",
+            "morph": "core",
+            "repo": "baserock:baserock/morphs",
+            "ref": "baserock/samthursfield/build-essential"
+        },
+        {
+            "morph": "bsp-x86_64-generic",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         }
     ]
 }
diff --git a/bsp-x86_64-generic.morph b/bsp-x86_64-generic.morph
index 954b7b5..ae477fe 100644
--- a/bsp-x86_64-generic.morph
+++ b/bsp-x86_64-generic.morph
@@ -2,6 +2,13 @@
     "name": "bsp-x86_64-generic",
     "description": "The set of platform specific components required for booting a 64-bit x86 based system.",
     "kind": "stratum",
+    "build-depends": [
+        {
+            "repo": "baserock:baserock/morphs",
+            "ref": "baserock/samthursfield/build-essential",
+            "morph": "core"
+        }
+    ],
     "chunks": [
         {
             "name": "linux",
diff --git a/build-essential.morph b/build-essential.morph
new file mode 100644
index 0000000..5a3fb2c
--- /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": []
+        }
+    ]
+}
diff --git a/core.morph b/core.morph
new file mode 100644
index 0000000..2981138
--- /dev/null
+++ b/core.morph
@@ -0,0 +1,540 @@
+{
+    "name": "core",
+    "description": "Core components required to build a Baserock devel system",
+    "kind": "stratum",
+    "build-depends": [
+        {
+            "repo": "baserock:baserock/morphs",
+            "ref": "baserock/samthursfield/build-essential",
+            "morph": "build-essential"
+        }
+    ],
+    "chunks": [
+        {
+            "name": "gdbm",
+            "repo": "upstream:gdbm",
+            "ref": "baserock/build-essential",
+            "build-depends": []
+        },
+        {
+            "name": "gettext",
+            "repo": "upstream:gettext",
+            "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",
+            "ref": "baserock/build-essential",
+            "build-depends": []
+        },
+        {
+            "name": "mini-utils",
+            "repo": "baserock:baserock/mini-utils",
+            "ref": "master",
+            "build-depends": []
+        },
+        {
+            "name": "ncurses",
+            "repo": "upstream:ncurses",
+            "ref": "baserock/morph",
+            "build-depends": []
+        },
+        {
+            "name": "pciutils",
+            "repo": "upstream:pciutils",
+            "ref": "baserock/morph",
+            "build-depends": []
+        },
+        {
+            "name": "perl",
+            "repo": "upstream:perl",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "gdbm"
+            ]
+        },
+        {
+            "name": "pkg-config",
+            "repo": "upstream:pkg-config",
+            "ref": "baserock/build-essential",
+            "build-depends": []
+        },
+        {
+            "name": "readline",
+            "repo": "upstream:readline",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "ncurses"
+            ]
+        },
+        {
+            "name": "texinfo-tarball",
+            "repo": "upstream:texinfo-tarball",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "ncurses"
+            ]
+        },
+        {
+            "name": "zlib",
+            "repo": "upstream:zlib",
+            "ref": "baserock/morph",
+            "build-depends": []
+        },
+        {
+            "name": "autoconf",
+            "repo": "upstream:autoconf",
+            "ref": "baserock/build-essential",
+            "build-depends": [
+                "m4",
+                "perl"
+            ]
+        },
+        {
+            "name": "automake",
+            "repo": "upstream:automake",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "autoconf",
+                "perl",
+                "texinfo-tarball"
+            ]
+        },
+        {
+            "name": "bash",
+            "repo": "upstream:bash",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "readline"
+            ]
+        },
+        {
+            "name": "error-perl-tarball",
+            "repo": "upstream:error-perl-tarball",
+            "ref": "master",
+            "build-depends": [
+                "perl"
+            ]
+        },
+        {
+            "name": "flex",
+            "repo": "upstream:flex",
+            "ref": "baserock/build-essential",
+            "build-depends": [
+                "m4"
+            ]
+        },
+        {
+            "name": "libtool",
+            "repo": "upstream:libtool",
+            "ref": "baserock/build-essential",
+            "build-depends": [
+                "bash"
+            ]
+        },
+        {
+            "name": "libusbx",
+            "repo": "upstream:libusbx",
+            "ref": "master",
+            "build-depends": [
+                "autoconf",
+                "automake",
+                "libtool"
+            ]
+        },
+        {
+            "name": "libxml2",
+            "repo": "upstream:libxml2",
+            "ref": "master",
+            "build-depends": [
+                "autoconf",
+                "automake",
+                "libtool"
+            ]
+        },
+        {
+            "name": "openssl",
+            "repo": "upstream:openssl",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "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",
+            "ref": "baserock/morph-2.7",
+            "build-depends": [
+                "openssl",
+                "readline",
+                "zlib"
+            ]
+        },
+        {
+            "name": "curl",
+            "repo": "upstream:curl",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "autoconf",
+                "automake",
+                "libtool",
+                "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",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "autoconf",
+                "automake",
+                "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": "XML-Parser",
+            "repo": "upstream:XML-Parser",
+            "ref": "master",
+            "build-depends": [
+                "libexpat",
+                "libxml2",
+                "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",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "autoconf",
+                "cpython",
+                "curl",
+                "error-perl-tarball",
+                "gettext",
+                "libexpat",
+                "openssl",
+                "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",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "autoconf",
+                "automake",
+                "bash",
+                "flex",
+                "gettext",
+                "git",
+                "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",
+            "ref": "baserock/morph",
+            "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",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "autoconf",
+                "perl",
+                "texinfo-tarball"
+            ]
+        },
+        {
+            "name": "libxslt",
+            "repo": "upstream:libxslt",
+            "ref": "master",
+            "build-depends": [
+                "autoconf",
+                "automake",
+                "libtool",
+                "libxml2"
+            ]
+        },
+        {
+            "name": "morph",
+            "repo": "baserock:baserock/morph",
+            "ref": "master",
+            "build-depends": [
+                "cliapp",
+                "cmdtest",
+                "python-coverage-test-runner"
+            ]
+        },
+        {
+            "name": "openssh",
+            "repo": "upstream:openssh",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "autoconf",
+                "groff",
+                "openssl",
+                "zlib"
+            ]
+        },
+        {
+            "name": "tbdiff",
+            "repo": "baserock:baserock/tbdiff",
+            "ref": "master",
+            "build-depends": [
+                "attr",
+                "autoconf",
+                "automake",
+                "libtool"
+            ]
+        }
+    ]
+}
diff --git a/devel-system-armv7-versatile.morph b/devel-system-armv7-versatile.morph
index 5d799fc..343b366 100644
--- a/devel-system-armv7-versatile.morph
+++ b/devel-system-armv7-versatile.morph
@@ -7,19 +7,24 @@
     "disk-size": "2G",
     "strata": [
         {
-            "morph": "bsp-armv7-versatile",
+            "morph": "build-essential",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         },
         {
-            "morph": "foundation",
+            "morph": "core",
+            "repo": "baserock:baserock/morphs",
+            "ref": "baserock/samthursfield/build-essential"
+        },
+        {
+            "morph": "bsp-armv7-versatile",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         },
         {
-            "morph": "devel",
+            "morph": "tools",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         }
     ]
 }
diff --git a/devel-system-x86_32-generic.morph b/devel-system-x86_32-generic.morph
index 99e23ef..6c6b06e 100644
--- a/devel-system-x86_32-generic.morph
+++ b/devel-system-x86_32-generic.morph
@@ -7,19 +7,24 @@
     "disk-size": "2G",
     "strata": [
         {
-            "morph": "bsp-x86_32-generic",
+            "morph": "build-essential",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         },
         {
-            "morph": "foundation",
+            "morph": "core",
+            "repo": "baserock:baserock/morphs",
+            "ref": "baserock/samthursfield/build-essential"
+        },
+        {
+            "morph": "bsp-x86_32-generic",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         },
         {
-            "morph": "devel",
+            "morph": "tools",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         }
     ]
 }
diff --git a/devel-system-x86_64-generic.morph b/devel-system-x86_64-generic.morph
index c9bcda6..2da2d1f 100644
--- a/devel-system-x86_64-generic.morph
+++ b/devel-system-x86_64-generic.morph
@@ -7,19 +7,24 @@
     "disk-size": "2G",
     "strata": [
         {
-            "morph": "bsp-x86_64-generic",
+            "morph": "build-essential",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         },
         {
-            "morph": "foundation",
+            "morph": "core",
+            "repo": "baserock:baserock/morphs",
+            "ref": "baserock/samthursfield/build-essential"
+        },
+        {
+            "morph": "bsp-x86_64-generic",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         },
         {
-            "morph": "devel",
+            "morph": "tools",
             "repo": "baserock:baserock/morphs",
-            "ref": "master"
+            "ref": "baserock/samthursfield/build-essential"
         }
     ]
 }
diff --git a/devel.morph b/devel.morph
deleted file mode 100644
index c789c5b..0000000
--- a/devel.morph
+++ /dev/null
@@ -1,523 +0,0 @@
-{
-    "name": "devel",
-    "description": "The set of programs that, when combined with foundation, are able to build devel and foundation. This is somewhat analogous to debian's build-essential",
-    "kind": "stratum",
-    "chunks": [
-        {
-            "name": "linux-api-headers",
-            "repo": "upstream:linux",
-            "ref": "baserock/3.2-headers",
-            "build-depends": []
-        },
-        {
-            "name": "eglibc",
-            "repo": "upstream:eglibc2",
-            "ref": "baserock/2.15-morph",
-            "build-depends": [
-                "linux-api-headers"
-            ]
-        },
-        {
-            "name": "binutils",
-            "repo": "upstream:binutils-redhat",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc"
-            ]
-        },
-        {
-            "name": "gmp",
-            "repo": "upstream:gmp",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc"
-            ]
-        },
-        {
-            "name": "mpfr",
-            "repo": "upstream:mpfr",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "gmp"
-            ]
-        },
-        {
-            "name": "mpc",
-            "repo": "upstream:mpc",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "mpfr"
-            ]
-        },
-        {
-            "name": "gcc",
-            "repo": "upstream:gcc-tarball",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "mpc",
-                "binutils",
-                "eglibc"
-            ]
-        },
-        {
-            "name": "ccache",
-            "repo": "upstream:ccache",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "gcc"
-            ]
-        },
-        {
-            "name": "make",
-            "repo": "upstream:make",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "gcc"
-            ]
-        },
-        {
-            "name": "patch",
-            "repo": "upstream:patch",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "ncurses",
-            "repo": "upstream:ncurses",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "gperf",
-            "repo": "upstream:gperf",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "coreutils",
-            "repo": "upstream:coreutils",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "m4",
-            "repo": "upstream:m4",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "bison",
-            "repo": "upstream:bison",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "readline",
-            "repo": "upstream:readline",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make",
-                "ncurses"
-            ]
-        },
-        {
-            "name": "bash",
-            "repo": "upstream:bash",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make",
-                "readline"
-            ]
-        },
-        {
-            "name": "gdbm",
-            "repo": "upstream:gdbm",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "perl",
-            "repo": "upstream:perl",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make",
-                "gdbm"
-            ]
-        },
-        {
-            "name": "autoconf",
-            "repo": "upstream:autoconf",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "m4"
-            ]
-        },
-        {
-            "name": "automake",
-            "repo": "upstream:automake",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "autoconf",
-                "perl"
-            ]
-        },
-        {
-            "name": "libtool",
-            "repo": "upstream:libtool",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "bash"
-            ]
-        },
-        {
-            "name": "gawk",
-            "repo": "upstream:gawk",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "help2man",
-            "repo": "upstream:help2man",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "perl"
-            ]
-        },
-        {
-            "name": "flex",
-            "repo": "upstream:flex",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "gettext",
-            "repo": "upstream:gettext",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make",
-                "perl"
-            ]
-        },
-        {
-            "name": "pkg-config",
-            "repo": "upstream:pkg-config",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "linux-user-chroot",
-            "repo": "upstream:linux-user-chroot",
-            "ref": "master",
-            "build-depends": [
-                "make",
-                "autoconf",
-                "automake",
-                "libtool"
-            ]
-        },
-        {
-            "name": "groff",
-            "repo": "upstream:groff",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "gtk-doc-stub",
-            "repo": "upstream:gtk-doc-stub",
-            "ref": "master",
-            "build-depends": [
-                "bash",
-                "make"
-            ]
-        },
-        {
-            "name": "texinfo-tarball",
-            "repo": "upstream:texinfo-tarball",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "vim",
-            "repo": "upstream:vim",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make",
-                "ncurses",
-                "texinfo-tarball"
-            ]
-        },
-        {
-            "name": "openssl",
-            "repo": "upstream:openssl",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "curl",
-            "repo": "upstream:curl",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make",
-                "openssl"
-            ]
-        },
-        {
-            "name": "cpython",
-            "repo": "upstream:cpython",
-            "ref": "baserock/morph-2.7",
-            "build-depends": [
-                "make",
-                "readline",
-                "openssl"
-            ]
-        },
-        {
-            "name": "error-perl-tarball",
-            "repo": "upstream:error-perl-tarball",
-            "ref": "master",
-            "build-depends": [
-                "perl"
-            ]
-        },
-        {
-            "name": "git",
-            "repo": "upstream:git",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make",
-                "openssl",
-                "curl",
-                "cpython",
-                "error-perl-tarball"
-            ]
-        },
-        {
-            "name": "openssh",
-            "repo": "upstream:openssh",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make",
-                "autoconf",
-                "automake",
-                "libtool",
-                "gettext",
-                "openssl"
-            ]
-        },
-        {
-            "name": "python-setuptools",
-            "repo": "upstream:python-setuptools",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "cpython"
-            ]
-        },
-        {
-            "name": "python-coveragepy",
-            "repo": "upstream:python-coveragepy",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "cpython",
-                "python-setuptools"
-            ]
-        },
-        {
-            "name": "python-coverage-test-runner",
-            "repo": "upstream:python-coverage-test-runner",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "cpython",
-                "python-coveragepy"
-            ]
-        },
-        {
-            "name": "cliapp",
-            "repo": "upstream:cliapp",
-            "ref": "trunk",
-            "build-depends": [
-                "cpython",
-                "python-coverage-test-runner"
-            ]
-        },
-        {
-            "name": "python-ttystatus",
-            "repo": "upstream:python-ttystatus",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "cpython"
-            ]
-        },
-        {
-            "name": "cmdtest",
-            "repo": "upstream:cmdtest",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "cpython",
-                "python-ttystatus"
-            ]
-        },
-        {
-            "name": "libxml2",
-            "repo": "upstream:libxml2",
-            "ref": "master",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "libxslt",
-            "repo": "upstream:libxslt",
-            "ref": "master",
-            "build-depends": [
-                "libxml2"
-            ]
-        },
-        {
-            "name": "XML-Parser",
-            "repo": "upstream:XML-Parser",
-            "ref": "master",
-            "build-depends": [
-                "make",
-                "perl",
-                "libxml2"
-            ]
-        },
-        {
-            "name": "intltool",
-            "repo": "upstream:intltool",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "perl",
-                "XML-Parser"
-            ]
-        },
-        {
-            "name": "morph",
-            "repo": "baserock:baserock/morph",
-            "ref": "master",
-            "build-depends": [
-                "cliapp",
-                "cmdtest",
-                "python-coverage-test-runner"
-            ]
-        },
-        {
-            "name": "pv",
-            "repo": "upstream:pv",
-            "ref": "master",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "lzo",
-            "repo": "upstream:lzo",
-            "ref": "master",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "distcc",
-            "repo": "upstream:distcc",
-            "ref": "master",
-            "build-depends": [
-                "make",
-                "lzo"
-            ]
-        },
-        {
-            "name": "strace",
-            "repo": "upstream:strace",
-            "ref": "master",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "vala",
-            "repo": "upstream:vala",
-            "ref": "master",
-            "build-depends": [
-                "autoconf",
-                "automake",
-                "make"
-            ]
-        },
-        {
-            "name": "cmake",
-            "repo": "upstream:cmake",
-            "ref": "master",
-            "build-depends": [
-                "bash",
-                "make"
-            ]
-        },
-        {
-            "name": "less",
-            "repo": "upstream:less",
-            "ref": "master",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "lsof",
-            "repo": "upstream:lsof",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "rsync",
-            "repo": "upstream:rsync",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "gdb",
-            "repo": "upstream:gdb",
-            "ref": "refs/heads/master",
-            "build-depends": [
-                "make"
-            ]
-        },
-        {
-            "name": "e2fsprogs",
-            "repo": "upstream:e2fsprogs",
-            "ref": "master",
-            "build-depends": [
-                "make"
-            ]
-        }
-    ]
-}
diff --git a/foundation.morph b/foundation.morph
deleted file mode 100644
index 7176320..0000000
--- a/foundation.morph
+++ /dev/null
@@ -1,182 +0,0 @@
-{
-    "name": "foundation",
-    "description": "The components that go into every system. This is a balance between minimal and functional. It should be platform independent.",
-    "kind": "stratum",
-    "chunks": [
-        {
-            "name": "fhs-dirs",
-            "repo": "baserock:baserock/fhs-dirs",
-            "ref": "master",
-            "build-depends": []
-        },
-        {
-            "name": "eglibc",
-            "repo": "upstream:eglibc2",
-            "ref": "baserock/2.15-morph",
-            "build-depends": []
-        },
-        {
-            "name": "zlib",
-            "repo": "upstream:zlib",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc"
-            ]
-        },
-        {
-            "name": "busybox",
-            "repo": "upstream:busybox",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc"
-            ]
-        },
-        {
-            "name": "kmod",
-            "repo": "upstream:kmod",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc"
-            ]
-        },
-        {
-            "name": "attr",
-            "repo": "upstream:attr",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc"
-            ]
-        },
-        {
-            "name": "util-linux",
-            "repo": "upstream:util-linux",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc"
-            ]
-        },
-        {
-            "name": "libcap2",
-            "repo": "upstream:libcap2",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc",
-                "attr"
-            ]
-        },
-        {
-            "name": "btrfs-progs",
-            "repo": "upstream:btrfs-progs",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc",
-                "attr"
-            ]
-        },
-        {
-            "name": "tbdiff",
-            "repo": "baserock:baserock/tbdiff",
-            "ref": "master",
-            "build-depends": [
-                "eglibc",
-                "attr"
-            ]
-        },
-        {
-            "name": "libusbx",
-            "repo": "upstream:libusbx",
-            "ref": "master",
-            "build-depends": [
-                "eglibc"
-            ]
-        },
-        {
-            "name": "usbutils",
-            "repo": "upstream:usbutils",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc",
-                "libusbx"
-            ]
-        },
-        {
-            "name": "pciutils",
-            "repo": "upstream:pciutils",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc"
-            ]
-        },
-        {
-            "name": "libffi",
-            "repo": "upstream:libffi",
-            "ref": "master",
-            "build-depends": [
-                "eglibc"
-            ]
-        },
-        {
-            "name": "libexpat",
-            "repo": "upstream:libexpat",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc"
-            ]
-        },
-        {
-            "name": "glib",
-            "repo": "upstream:glib",
-            "ref": "master",
-            "build-depends": [
-                "eglibc",
-                "libffi"
-            ]
-        },
-        {
-            "name": "dbus",
-            "repo": "upstream:dbus",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "libexpat",
-                "glib"
-            ]
-        },
-        {
-            "name": "gobject-introspection",
-            "repo": "upstream:gobject-introspection",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "glib"
-            ]
-        },
-        {
-            "name": "xz",
-            "repo": "upstream:xz",
-            "ref": "baserock/morph",
-            "build-depends": []
-        },
-        {
-            "name": "systemd",
-            "repo": "upstream:systemd",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "xz",
-                "dbus",
-                "gobject-introspection",
-                "kmod",
-                "util-linux",
-                "libcap2",
-                "usbutils",
-                "pciutils"
-            ]
-        },
-        {
-            "name": "bzip2",
-            "repo": "upstream:bzip2",
-            "ref": "baserock/morph",
-            "build-depends": [
-                "eglibc"
-            ]
-        }
-    ]
-}
diff --git a/tools.morph b/tools.morph
new file mode 100644
index 0000000..7f64489
--- /dev/null
+++ b/tools.morph
@@ -0,0 +1,108 @@
+{
+    "name": "tools",
+    "description": "Extra development tools included in the devel system",
+    "kind": "stratum",
+    "build-depends": [
+        {
+            "repo": "baserock:baserock/morphs",
+            "ref": "baserock/samthursfield/build-essential",
+            "morph": "core"
+        }
+    ],
+    "chunks": [
+        {
+            "name": "lzo",
+            "repo": "upstream:lzo",
+            "ref": "master",
+            "build-depends": []
+        },
+        {
+            "name": "patch",
+            "repo": "upstream:patch",
+            "ref": "baserock/morph",
+            "build-depends": []
+        },
+        {
+            "name": "cmake",
+            "repo": "upstream:cmake",
+            "ref": "master",
+            "build-depends": []
+        },
+        {
+            "name": "coreutils",
+            "repo": "upstream:coreutils",
+            "ref": "baserock/morph",
+            "build-depends": [
+                "patch"
+            ]
+        },
+        {
+            "name": "distcc",
+            "repo": "upstream:distcc",
+            "ref": "master",
+            "build-depends": [
+                "lzo"
+            ]
+        },
+        {
+            "name": "e2fsprogs",
+            "repo": "upstream:e2fsprogs",
+            "ref": "master",
+            "build-depends": []
+        },
+        {
+            "name": "gdb",
+            "repo": "upstream:gdb",
+            "ref": "refs/heads/master",
+            "build-depends": []
+        },
+        {
+            "name": "less",
+            "repo": "upstream:less",
+            "ref": "master",
+            "build-depends": []
+        },
+        {
+            "name": "linux-user-chroot",
+            "repo": "upstream:linux-user-chroot",
+            "ref": "master",
+            "build-depends": []
+        },
+        {
+            "name": "lsof",
+            "repo": "upstream:lsof",
+            "ref": "baserock/morph",
+            "build-depends": []
+        },
+        {
+            "name": "pv",
+            "repo": "upstream:pv",
+            "ref": "master",
+            "build-depends": []
+        },
+        {
+            "name": "rsync",
+            "repo": "upstream:rsync",
+            "ref": "baserock/morph",
+            "build-depends": []
+        },
+        {
+            "name": "strace",
+            "repo": "upstream:strace",
+            "ref": "master",
+            "build-depends": []
+        },
+        {
+            "name": "vala",
+            "repo": "upstream:vala",
+            "ref": "baserock/bootstrap",
+            "build-depends": []
+        },
+        {
+            "name": "vim",
+            "repo": "upstream:vim",
+            "ref": "baserock/morph",
+            "build-depends": []
+        }
+    ]
+}
-- 
1.7.10.4





More information about the baserock-dev mailing list