summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2013-03-15 16:24:44 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2013-03-15 16:24:44 +0000
commitc989da4874a8ee2379484b725c792140dae06b13 (patch)
tree0e600c77a46eb7f3fd8f0865427277d96e72efdf
parent268b374f02d93a5df6f8f21e62a46c82e700cd92 (diff)
parent558b9096338e80126e30730efc295d64c0a94707 (diff)
downloadfhs-dirs-c989da4874a8ee2379484b725c792140dae06b13.tar.gz
Merge branch 'baserock/samthursfield/build-essential-2-rebase'
-rw-r--r--fhs-dirs.morph.yaml55
-rw-r--r--stage2-fhs-dirs.morph65
-rw-r--r--stage2-fhs-dirs.morph.yaml71
3 files changed, 191 insertions, 0 deletions
diff --git a/fhs-dirs.morph.yaml b/fhs-dirs.morph.yaml
new file mode 100644
index 0000000..321b086
--- /dev/null
+++ b/fhs-dirs.morph.yaml
@@ -0,0 +1,55 @@
+name: fhs-dirs
+kind: chunk
+decription: create the FHS 2.3 directory hierarchy and the usual files
+
+install-commands:
+ - sh ./create-fhs-dirs "$DESTDIR"
+ - install -m 644 passwd "$DESTDIR/etc/passwd"
+ - install -m 600 shadow "$DESTDIR/etc/shadow"
+ - install -m 644 interfaces "$DESTDIR/etc/network/interfaces"
+ - install -m 644 group "$DESTDIR/etc/group"
+ - install -m 644 ld.so.conf "$DESTDIR/etc/ld.so.conf"
+ - install -m 644 issue "$DESTDIR/etc/issue"
+ - install -m 644 services "$DESTDIR/etc/services"
+ - echo baserock > "$DESTDIR"/etc/hostname
+
+devices:
+ - filename: /dev/console
+ uid: 0
+ gid: 0
+ type: c
+ major: 5
+ minor: 1
+ permissions: '0600'
+
+ - filename: /dev/full
+ uid: 0
+ gid: 0
+ type: c
+ major: 1
+ minor: 7
+ permissions: '0666'
+
+ - filename: /dev/null
+ uid: 0
+ gid: 0
+ type: c
+ major: 1
+ minor: 3
+ permissions: '0666'
+
+ - filename: /dev/urandom
+ uid: 0
+ gid: 0
+ type: c
+ major: 1
+ minor: 9
+ permissions: '0666'
+
+ - filename: /dev/zero
+ uid: 0
+ gid: 0
+ type: c
+ major: 1
+ minor: 5
+ permissions: '0666'
diff --git a/stage2-fhs-dirs.morph b/stage2-fhs-dirs.morph
new file mode 100644
index 0000000..636f279
--- /dev/null
+++ b/stage2-fhs-dirs.morph
@@ -0,0 +1,65 @@
+{
+ "name": "stage2-fhs-dirs",
+ "kind": "chunk",
+ "decription": "create the FHS 2.3 directory hierarchy and the usual files",
+ "install-commands": [
+ "sh ./create-fhs-dirs \"$DESTDIR\"",
+ "rmdir \"$DESTDIR/bin\"",
+ "ln -s \"$PREFIX/bin\" \"$DESTDIR/bin\"",
+ "install -m 644 passwd \"$DESTDIR/etc/passwd\"",
+ "install -m 600 shadow \"$DESTDIR/etc/shadow\"",
+ "install -m 644 interfaces \"$DESTDIR/etc/network/interfaces\"",
+ "install -m 644 group \"$DESTDIR/etc/group\"",
+ "install -m 644 ld.so.conf \"$DESTDIR/etc/ld.so.conf\"",
+ "install -m 644 issue \"$DESTDIR/etc/issue\"",
+ "install -m 644 services \"$DESTDIR/etc/services\"",
+ "echo baserock > \"$DESTDIR\"/etc/hostname"
+ ],
+ "devices": [
+ {
+ "filename": "/dev/console",
+ "uid": 0,
+ "gid": 0,
+ "type": "c",
+ "major": 5,
+ "minor": 1,
+ "permissions": "0600"
+ },
+ {
+ "filename": "/dev/full",
+ "uid": 0,
+ "gid": 0,
+ "type": "c",
+ "major": 1,
+ "minor": 7,
+ "permissions": "0666"
+ },
+ {
+ "filename": "/dev/null",
+ "uid": 0,
+ "gid": 0,
+ "type": "c",
+ "major": 1,
+ "minor": 3,
+ "permissions": "0666"
+ },
+ {
+ "filename": "/dev/urandom",
+ "uid": 0,
+ "gid": 0,
+ "type": "c",
+ "major": 1,
+ "minor": 9,
+ "permissions": "0666"
+ },
+ {
+ "filename": "/dev/zero",
+ "uid": 0,
+ "gid": 0,
+ "type": "c",
+ "major": 1,
+ "minor": 5,
+ "permissions": "0666"
+ }
+ ]
+}
diff --git a/stage2-fhs-dirs.morph.yaml b/stage2-fhs-dirs.morph.yaml
new file mode 100644
index 0000000..f9b2260
--- /dev/null
+++ b/stage2-fhs-dirs.morph.yaml
@@ -0,0 +1,71 @@
+name: stage2-fhs-dirs
+kind: chunk
+decription: create the FHS 2.3 directory hierarchy and the usual files
+
+install-commands:
+ # We tweak this a little for stage 2 because everything is installed into
+ # the one sysroot (/tools). We use symlinked versions of /bin, to make
+ # happy things that hardcode /bin/sh (i.e. everyone). There are probably
+ # assorted other hardcoded references to things in /bin so the symlink
+ # is a nice solution.
+
+ - sh ./create-fhs-dirs "$DESTDIR"
+ - rmdir "$DESTDIR/bin"
+ - ln -s "$PREFIX/bin" "$DESTDIR/bin"
+
+ # A symlinked /lib isn't an option though, because the eglibc chunk
+ # in stage 3 installs files there, and other chunks in stage 3 depend
+ # on it. To work around this, the stage2-gcc morphology manually
+ # creates symlinks for the libraries it installs into /tools/lib so
+ # that they can be found during stage 3 builds, and stage2-eglibc
+ # likewise installs a symlink for the program loader (ld.so).
+
+ - install -m 644 passwd "$DESTDIR/etc/passwd"
+ - install -m 600 shadow "$DESTDIR/etc/shadow"
+ - install -m 644 interfaces "$DESTDIR/etc/network/interfaces"
+ - install -m 644 group "$DESTDIR/etc/group"
+ - install -m 644 ld.so.conf "$DESTDIR/etc/ld.so.conf"
+ - install -m 644 issue "$DESTDIR/etc/issue"
+ - install -m 644 services "$DESTDIR/etc/services"
+ - echo baserock > "$DESTDIR"/etc/hostname
+
+devices:
+ - filename: /dev/console
+ uid: 0
+ gid: 0
+ type: c
+ major: 5
+ minor: 1
+ permissions: '0600'
+
+ - filename: /dev/full
+ uid: 0
+ gid: 0
+ type: c
+ major: 1
+ minor: 7
+ permissions: '0666'
+
+ - filename: /dev/null
+ uid: 0
+ gid: 0
+ type: c
+ major: 1
+ minor: 3
+ permissions: '0666'
+
+ - filename: /dev/urandom
+ uid: 0
+ gid: 0
+ type: c
+ major: 1
+ minor: 9
+ permissions: '0666'
+
+ - filename: /dev/zero
+ uid: 0
+ gid: 0
+ type: c
+ major: 1
+ minor: 5
+ permissions: '0666'