From 558b9096338e80126e30730efc295d64c0a94707 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Fri, 8 Feb 2013 16:20:20 +0000 Subject: Add morphs for build-essential bootstrap JSON versions are generated from .yaml versions using the edit-morph script in the Morph source tree: 'scripts/edit-morph to-json *.morph.yaml' The .morph files themselves should be converted to YAML after the next Baserock release. --- fhs-dirs.morph.yaml | 55 +++++++++++++++++++++++++++++++++++ stage2-fhs-dirs.morph | 65 ++++++++++++++++++++++++++++++++++++++++++ stage2-fhs-dirs.morph.yaml | 71 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 191 insertions(+) create mode 100644 fhs-dirs.morph.yaml create mode 100644 stage2-fhs-dirs.morph create mode 100644 stage2-fhs-dirs.morph.yaml 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' -- cgit v1.2.1