summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2013-02-01 13:10:56 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2013-02-05 12:00:40 +0000
commitadac44f6248996d0d45d0bb87af3a689122f7027 (patch)
treefef8cd79c4d04d59f45d740488731a2d68d7140b
parentb8b6e89d37a622c3276cba31d06de1fe720a108a (diff)
downloaddefinitions-adac44f6248996d0d45d0bb87af3a689122f7027.tar.gz
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).
-rw-r--r--base-system-armv7-versatile.morph9
-rw-r--r--base-system-x86_32-generic.morph9
-rw-r--r--base-system-x86_64-generic.morph9
-rw-r--r--bsp-armv7-versatile.morph2
-rw-r--r--bsp-imx53.morph2
-rw-r--r--bsp-x86_32-generic.morph2
-rw-r--r--bsp-x86_64-generic.morph2
-rw-r--r--core.morph330
-rw-r--r--devel-system-armv7-versatile.morph11
-rw-r--r--devel-system-x86_32-generic.morph11
-rw-r--r--devel-system-x86_64-generic.morph11
-rw-r--r--foundation.morph226
-rw-r--r--tools.morph4
13 files changed, 293 insertions, 335 deletions
diff --git a/base-system-armv7-versatile.morph b/base-system-armv7-versatile.morph
index 710024a6..66f7488a 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 5b914031..b8b2f6c4 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 f5ef472e..b3c442ea 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 6f5e4a1c..4048a867 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 d8c668da..7b7bd064 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 0636f273..afbc9cfa 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 b984a138..fb95c375 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 15abf900..e4733520 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": [
{
@@ -23,18 +23,6 @@
"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",
@@ -53,12 +41,6 @@
"build-depends": []
},
{
- "name": "pciutils",
- "repo": "upstream:pciutils",
- "ref": "baserock/morph",
- "build-depends": []
- },
- {
"name": "perl",
"repo": "upstream:perl",
"ref": "baserock/morph",
@@ -67,12 +49,6 @@
]
},
{
- "name": "pkg-config",
- "repo": "upstream:pkg-config",
- "ref": "baserock/build-essential",
- "build-depends": []
- },
- {
"name": "readline",
"repo": "upstream:readline",
"ref": "baserock/morph",
@@ -146,16 +122,6 @@
]
},
{
- "name": "libusbx",
- "repo": "upstream:libusbx",
- "ref": "master",
- "build-depends": [
- "autoconf",
- "automake",
- "libtool"
- ]
- },
- {
"name": "libxml2",
"repo": "upstream:libxml2",
"ref": "master",
@@ -174,39 +140,6 @@
]
},
{
- "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",
@@ -228,41 +161,6 @@
]
},
{
- "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",
@@ -273,31 +171,6 @@
]
},
{
- "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",
"ref": "master",
@@ -308,19 +181,6 @@
]
},
{
- "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",
@@ -336,39 +196,6 @@
]
},
{
- "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",
@@ -383,167 +210,42 @@
]
},
{
- "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",
+ "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 d268259b..1a550a02 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 0a328bc7..84ebf795 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 33756f39..ad185747 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 00000000..1a5b53f5
--- /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 96d4272e..ffbacecc 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": [