summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2014-07-04 16:25:03 +0000
committerLars Wirzenius <lars.wirzenius@codethink.co.uk>2014-08-28 12:49:03 +0000
commit5e0b3df470ee1be98d0787e221e99f5a44873441 (patch)
treec26f871d332c4a21beb72df9e4d706d208ebd5cf
parenteeb9bbc3a5aceb6428c7c55dea18f69433555602 (diff)
downloaddefinitions-5e0b3df470ee1be98d0787e221e99f5a44873441.tar.gz
REmove GCC binaries in the chef system manually
Nasty hack, but saves 200MB or about 50% of the total size of the system.
-rw-r--r--chef-demo.morph13
-rw-r--r--chef-system-x86_32-container.morph1
-rw-r--r--remove-gcc.configure8
3 files changed, 22 insertions, 0 deletions
diff --git a/chef-demo.morph b/chef-demo.morph
new file mode 100644
index 00000000..606fad5e
--- /dev/null
+++ b/chef-demo.morph
@@ -0,0 +1,13 @@
+name: chef-demo
+kind: cluster
+description: |
+ Deploy a demo Chef system.
+systems:
+- morph: chef-system-x86_32-container
+ deploy:
+ chef-demo:
+ type: tar
+ location: chef-demo.tar
+ # If you put 'yes' without the quotes yaml converts it to True. Thanks yaml.
+ REMOVE_GCC: "yes"
+ INIT_SYSTEM: busybox
diff --git a/chef-system-x86_32-container.morph b/chef-system-x86_32-container.morph
index 40a41e90..4abc7d64 100644
--- a/chef-system-x86_32-container.morph
+++ b/chef-system-x86_32-container.morph
@@ -8,6 +8,7 @@ configuration-extensions:
- nfsboot
- install-files
- busybox-init
+- remove-gcc
strata:
- morph: build-essential
artifacts:
diff --git a/remove-gcc.configure b/remove-gcc.configure
new file mode 100644
index 00000000..67474af1
--- /dev/null
+++ b/remove-gcc.configure
@@ -0,0 +1,8 @@
+#!/bin/sh
+# This configure extension is a total hack to work around the fact that
+# the GCC chunk isn't split properly. I'll leave fixing that to Richard
+# Maw for now. This removes about 200MB from the resulting system.
+
+if [ "$REMOVE_GCC" = "yes" ]; then
+ rm -Rf "$1"/usr/libexec/gcc/
+fi