diff options
author | Tiago Gomes <tiago.gomes@codethink.co.uk> | 2013-07-01 22:52:32 +0000 |
---|---|---|
committer | Tiago Gomes <tiago.gomes@codethink.co.uk> | 2013-07-01 22:52:32 +0000 |
commit | 61285eb5ca7a94a5d7f2ccd0429386beaf225754 (patch) | |
tree | 158b999f3bde35d3e747c0d42733fbadb752ee30 | |
parent | affce543de8e1427e0c6a19aa3588adbd0488a53 (diff) | |
download | busybox-baserock/tiagogomes/bbgawk.tar.gz |
Switch to using yaml and add awk to busybox buildbaserock/tiagogomes/bbgawk
We want to get rid of gawk in GENIVI baseline.
-rw-r--r-- | busybox.morph | 153 | ||||
-rw-r--r-- | busybox.morph.yaml | 95 | ||||
-rw-r--r-- | stage2-busybox.morph | 120 | ||||
-rw-r--r-- | stage2-busybox.morph.yaml | 74 |
4 files changed, 169 insertions, 273 deletions
diff --git a/busybox.morph b/busybox.morph index 9408c49a6..188edf4dc 100644 --- a/busybox.morph +++ b/busybox.morph @@ -1,58 +1,95 @@ -{ - "name": "busybox", - "kind": "chunk", - "configure-commands": [ - "make defconfig", - "sed -e 's|.*UDHCPC_DEFAULT_SCRIPT.*|CONFIG_UDHCPC_DEFAULT_SCRIPT=\"'\"$PREFIX\"/share/udhcpc/default.script'\"|' -i .config", - "sed -e 's|.*IFUPDOWN_IFSTATE_PATH.*|CONFIG_IFUPDOWN_IFSTATE_PATH=\"/run/ifstate\"|' -i .config", - "[ \"$PREFIX\" = /usr ] || sed -e 's/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/' -i .config", - "sed -e 's/CONFIG_AWK=y.*/# CONFIG_AWK is not set/' -i .config", - "sed -e 's/CONFIG_INETD=y.*/# CONFIG_INETD is not set/' -i .config", - "sed -e 's/CONFIG_PATCH=y.*/# CONFIG_PATCH is not set/' -i .config", - "sed -e 's/CONFIG_DEPMOD=y.*/# CONFIG_DEPMOD is not set/' -i .config", - "sed -e 's/CONFIG_INSMOD=y.*/# CONFIG_INSMOD is not set/' -i .config", - "sed -e 's/CONFIG_MODPROBE=y.*/# CONFIG_MODPROBE is not set/' -i .config", - "sed -e 's/CONFIG_MODPROBE_SMALL=y.*/# CONFIG_MODPROBE_SMALL is not set/' -i .config", - "sed -e 's/CONFIG_LSMOD=y.*/# CONFIG_LSMOD is not set/' -i .config", - "sed -e 's/CONFIG_RMMOD=y.*/# CONFIG_RMMOD is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_MOUNT_CIFS=y.*/# CONFIG_FEATURE_MOUNT_CIFS is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_EXTRA_QUIET=y.*/# CONFIG_FEATURE_EXTRA_QUIET is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_INIT_COREDUMPS=y.*/# CONFIG_FEATURE_INIT_COREDUMPS is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_INIT_SCTTY=y.*/# CONFIG_FEATURE_INIT_SCTTY is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_INIT_SYSLOG=y.*/# CONFIG_FEATURE_INIT_SYSLOG is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_INITRD=y.*/# CONFIG_FEATURE_INITRD is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_USE_INITTAB=y.*/# CONFIG_FEATURE_USE_INITTAB is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_MINIX2=y.*/# CONFIG_FEATURE_MINIX2 is not set/' -i .config", - "sed -e 's/CONFIG_FSCK_MINIX=y.*/# CONFIG_FSCK_MINIX is not set/' -i .config", - "sed -e 's/CONFIG_HALT=y.*/# CONFIG_HALT is not set/' -i .config", - "sed -e 's/CONFIG_INIT=y.*/# CONFIG_INIT is not set/' -i .config", - "sed -e 's/CONFIG_INIT_TERMINAL_TYPE=y.*/CONFIG_INIT_TERMINAL_TYPE=\"\"/' -i .config", - "sed -e 's/CONFIG_LOSETUP=y.*/# CONFIG_LOSETUP is not set/' -i .config", - "sed -e 's/CONFIG_LSUSB=y.*/# CONFIG_LSUSB is not set/' -i .config", - "sed -e 's/CONFIG_LZMA=y.*/# CONFIG_LZMA is not set/' -i .config", - "sed -e 's/CONFIG_MKFS_EXT2=y.*/# CONFIG_MKFS_EXT2 is not set/' -i .config", - "sed -e 's/CONFIG_MKFS_MINIX=y.*/# CONFIG_MKFS_MINIX is not set/' -i .config", - "sed -e 's/CONFIG_RUNLEVEL=y.*/# CONFIG_RUNLEVEL is not set/' -i .config", - "sed -e 's/CONFIG_STRINGS=y.*/# CONFIG_STRINGS is not set/' -i .config", - "sed -e 's/CONFIG_UNLZMA=y.*/# CONFIG_UNLZMA is not set/' -i .config", - "sed -e 's/CONFIG_UNXZ=y.*/# CONFIG_UNXZ is not set/' -i .config", - "sed -e 's/CONFIG_XZ=y.*/# CONFIG_XZ is not set/' -i .config" - ], - "build-commands": [ - "make", - "for f in ifup@.service ntpd.service crond.service; do\n sed -e 's|@rootprefix@||g' \"systemd-units/$f.in\" >\"systemd-units/$f\";\ndone\n" - ], - "install-commands": [ - "if [ \"$PREFIX\" = /usr ]; then PREFIX=; fi &&\n make CONFIG_PREFIX=\"$DESTDIR$PREFIX\" install &&\n chmod 6755 \"$DESTDIR$PREFIX\"/bin/busybox\n", - "mkdir -p \"$DESTDIR/var/spool/cron/crontabs\"", - "mkdir -p \"$DESTDIR/lib/systemd/system/multi-user.target.wants\"", - "for f in systemd-units/*.service; do\n install -m 644 \"$f\" \"$DESTDIR/lib/systemd/system\";\ndone\n", - "for f in $(cd systemd-units; ls *.service | grep -v -F \"@\"); do\n ln -s \"../$f\" \"$DESTDIR/lib/systemd/system/multi-user.target.wants/\";\ndone\n", - "mkdir -p \"$DESTDIR/lib/udev/rules.d\"", - "for f in udev-rules/100-baserock.rules; do install -m 644 \"$f\" \"$DESTDIR/lib/udev/rules.d\"; done", - "mkdir -p \"$DESTDIR$PREFIX\"/share/udhcpc", - "cp examples/udhcp/simple.script \"$DESTDIR$PREFIX\"/share/udhcpc/default.script", - "cp scripts/ntpd-set.sh \"$DESTDIR$PREFIX\"/bin/ntpd-set.sh", - "chmod 6755 \"$DESTDIR$PREFIX\"/bin/ntpd-set.sh" - ] -} +name: busybox +kind: chunk + +configure-commands: + # Busybox's default config has everything enabled. + - make defconfig + + - sed -e 's|.*UDHCPC_DEFAULT_SCRIPT.*|CONFIG_UDHCPC_DEFAULT_SCRIPT="'"$PREFIX"/share/udhcpc/default.script'"|' -i .config + - sed -e 's|.*IFUPDOWN_IFSTATE_PATH.*|CONFIG_IFUPDOWN_IFSTATE_PATH="/run/ifstate"|' -i .config + + # Avoid dividing applets between $PREFIX/[s]bin and $PREFIX/usr/[s]bin. + - '[ "$PREFIX" = /usr ] || sed -e ''s/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/'' -i .config' + + # We have GAWK, but in GENIVI baseline we want to get rid of it + # - sed -e 's/CONFIG_AWK=y.*/# CONFIG_AWK is not set/' -i .config + + # Depends on stuff that was removed since eglibc 2.14. + - sed -e 's/CONFIG_INETD=y.*/# CONFIG_INETD is not set/' -i .config + + # Busybox Patch is incompatible enough with GNU Patch that it can't be + # used for GNULib projects built from Git. + - sed -e 's/CONFIG_PATCH=y.*/# CONFIG_PATCH is not set/' -i .config + + # None of this is needed because we have kmod; and it actually breaks the + # Linux build because depmod isn't compatible enough with util-linux's. + - sed -e 's/CONFIG_DEPMOD=y.*/# CONFIG_DEPMOD is not set/' -i .config + - sed -e 's/CONFIG_INSMOD=y.*/# CONFIG_INSMOD is not set/' -i .config + - sed -e 's/CONFIG_MODPROBE=y.*/# CONFIG_MODPROBE is not set/' -i .config + - sed -e 's/CONFIG_MODPROBE_SMALL=y.*/# CONFIG_MODPROBE_SMALL is not set/' -i .config + - sed -e 's/CONFIG_LSMOD=y.*/# CONFIG_LSMOD is not set/' -i .config + - sed -e 's/CONFIG_RMMOD=y.*/# CONFIG_RMMOD is not set/' -i .config + + # General features that we don't need. + - sed -e 's/CONFIG_FEATURE_MOUNT_CIFS=y.*/# CONFIG_FEATURE_MOUNT_CIFS is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_EXTRA_QUIET=y.*/# CONFIG_FEATURE_EXTRA_QUIET is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_INIT_COREDUMPS=y.*/# CONFIG_FEATURE_INIT_COREDUMPS is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_INIT_SCTTY=y.*/# CONFIG_FEATURE_INIT_SCTTY is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_INIT_SYSLOG=y.*/# CONFIG_FEATURE_INIT_SYSLOG is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_INITRD=y.*/# CONFIG_FEATURE_INITRD is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_USE_INITTAB=y.*/# CONFIG_FEATURE_USE_INITTAB is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_MINIX2=y.*/# CONFIG_FEATURE_MINIX2 is not set/' -i .config + - sed -e 's/CONFIG_FSCK_MINIX=y.*/# CONFIG_FSCK_MINIX is not set/' -i .config + - sed -e 's/CONFIG_HALT=y.*/# CONFIG_HALT is not set/' -i .config + - sed -e 's/CONFIG_INIT=y.*/# CONFIG_INIT is not set/' -i .config + - sed -e 's/CONFIG_INIT_TERMINAL_TYPE=y.*/CONFIG_INIT_TERMINAL_TYPE=""/' -i .config + - sed -e 's/CONFIG_LOSETUP=y.*/# CONFIG_LOSETUP is not set/' -i .config + - sed -e 's/CONFIG_LSUSB=y.*/# CONFIG_LSUSB is not set/' -i .config + - sed -e 's/CONFIG_LZMA=y.*/# CONFIG_LZMA is not set/' -i .config + - sed -e 's/CONFIG_MKFS_EXT2=y.*/# CONFIG_MKFS_EXT2 is not set/' -i .config + - sed -e 's/CONFIG_MKFS_MINIX=y.*/# CONFIG_MKFS_MINIX is not set/' -i .config + - sed -e 's/CONFIG_RUNLEVEL=y.*/# CONFIG_RUNLEVEL is not set/' -i .config + - sed -e 's/CONFIG_STRINGS=y.*/# CONFIG_STRINGS is not set/' -i .config + - sed -e 's/CONFIG_UNLZMA=y.*/# CONFIG_UNLZMA is not set/' -i .config + - sed -e 's/CONFIG_UNXZ=y.*/# CONFIG_UNXZ is not set/' -i .config + - sed -e 's/CONFIG_XZ=y.*/# CONFIG_XZ is not set/' -i .config + +build-commands: + - make + - | + for f in ifup@.service ntpd.service crond.service; do + sed -e 's|@rootprefix@||g' "systemd-units/$f.in" >"systemd-units/$f"; + done + +install-commands: + - | + if [ "$PREFIX" = /usr ]; then PREFIX=; fi && + make CONFIG_PREFIX="$DESTDIR$PREFIX" install && + chmod 6755 "$DESTDIR$PREFIX"/bin/busybox + + - mkdir -p "$DESTDIR/var/spool/cron/crontabs" + + # Install systemd units + - mkdir -p "$DESTDIR/lib/systemd/system/multi-user.target.wants" + - | + for f in systemd-units/*.service; do + install -m 644 "$f" "$DESTDIR/lib/systemd/system"; + done + - | + for f in $(cd systemd-units; ls *.service | grep -v -F "@"); do + ln -s "../$f" "$DESTDIR/lib/systemd/system/multi-user.target.wants/"; + done + + # Install custom udev rule to run ifup for every network device detected + - mkdir -p "$DESTDIR/lib/udev/rules.d" + - for f in udev-rules/100-baserock.rules; do + install -m 644 "$f" "$DESTDIR/lib/udev/rules.d"; + done + + # Set up DHCP + - mkdir -p "$DESTDIR$PREFIX"/share/udhcpc + - cp examples/udhcp/simple.script "$DESTDIR$PREFIX"/share/udhcpc/default.script + + # Set up NTP + - cp scripts/ntpd-set.sh "$DESTDIR$PREFIX"/bin/ntpd-set.sh + - chmod 6755 "$DESTDIR$PREFIX"/bin/ntpd-set.sh diff --git a/busybox.morph.yaml b/busybox.morph.yaml deleted file mode 100644 index 8be8faa2d..000000000 --- a/busybox.morph.yaml +++ /dev/null @@ -1,95 +0,0 @@ -name: busybox -kind: chunk - -configure-commands: - # Busybox's default config has everything enabled. - - make defconfig - - - sed -e 's|.*UDHCPC_DEFAULT_SCRIPT.*|CONFIG_UDHCPC_DEFAULT_SCRIPT="'"$PREFIX"/share/udhcpc/default.script'"|' -i .config - - sed -e 's|.*IFUPDOWN_IFSTATE_PATH.*|CONFIG_IFUPDOWN_IFSTATE_PATH="/run/ifstate"|' -i .config - - # Avoid dividing applets between $PREFIX/[s]bin and $PREFIX/usr/[s]bin. - - '[ "$PREFIX" = /usr ] || sed -e ''s/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/'' -i .config' - - # We have GAWK. - - sed -e 's/CONFIG_AWK=y.*/# CONFIG_AWK is not set/' -i .config - - # Depends on stuff that was removed since eglibc 2.14. - - sed -e 's/CONFIG_INETD=y.*/# CONFIG_INETD is not set/' -i .config - - # Busybox Patch is incompatible enough with GNU Patch that it can't be - # used for GNULib projects built from Git. - - sed -e 's/CONFIG_PATCH=y.*/# CONFIG_PATCH is not set/' -i .config - - # None of this is needed because we have kmod; and it actually breaks the - # Linux build because depmod isn't compatible enough with util-linux's. - - sed -e 's/CONFIG_DEPMOD=y.*/# CONFIG_DEPMOD is not set/' -i .config - - sed -e 's/CONFIG_INSMOD=y.*/# CONFIG_INSMOD is not set/' -i .config - - sed -e 's/CONFIG_MODPROBE=y.*/# CONFIG_MODPROBE is not set/' -i .config - - sed -e 's/CONFIG_MODPROBE_SMALL=y.*/# CONFIG_MODPROBE_SMALL is not set/' -i .config - - sed -e 's/CONFIG_LSMOD=y.*/# CONFIG_LSMOD is not set/' -i .config - - sed -e 's/CONFIG_RMMOD=y.*/# CONFIG_RMMOD is not set/' -i .config - - # General features that we don't need. - - sed -e 's/CONFIG_FEATURE_MOUNT_CIFS=y.*/# CONFIG_FEATURE_MOUNT_CIFS is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_EXTRA_QUIET=y.*/# CONFIG_FEATURE_EXTRA_QUIET is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_INIT_COREDUMPS=y.*/# CONFIG_FEATURE_INIT_COREDUMPS is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_INIT_SCTTY=y.*/# CONFIG_FEATURE_INIT_SCTTY is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_INIT_SYSLOG=y.*/# CONFIG_FEATURE_INIT_SYSLOG is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_INITRD=y.*/# CONFIG_FEATURE_INITRD is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_USE_INITTAB=y.*/# CONFIG_FEATURE_USE_INITTAB is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_MINIX2=y.*/# CONFIG_FEATURE_MINIX2 is not set/' -i .config - - sed -e 's/CONFIG_FSCK_MINIX=y.*/# CONFIG_FSCK_MINIX is not set/' -i .config - - sed -e 's/CONFIG_HALT=y.*/# CONFIG_HALT is not set/' -i .config - - sed -e 's/CONFIG_INIT=y.*/# CONFIG_INIT is not set/' -i .config - - sed -e 's/CONFIG_INIT_TERMINAL_TYPE=y.*/CONFIG_INIT_TERMINAL_TYPE=""/' -i .config - - sed -e 's/CONFIG_LOSETUP=y.*/# CONFIG_LOSETUP is not set/' -i .config - - sed -e 's/CONFIG_LSUSB=y.*/# CONFIG_LSUSB is not set/' -i .config - - sed -e 's/CONFIG_LZMA=y.*/# CONFIG_LZMA is not set/' -i .config - - sed -e 's/CONFIG_MKFS_EXT2=y.*/# CONFIG_MKFS_EXT2 is not set/' -i .config - - sed -e 's/CONFIG_MKFS_MINIX=y.*/# CONFIG_MKFS_MINIX is not set/' -i .config - - sed -e 's/CONFIG_RUNLEVEL=y.*/# CONFIG_RUNLEVEL is not set/' -i .config - - sed -e 's/CONFIG_STRINGS=y.*/# CONFIG_STRINGS is not set/' -i .config - - sed -e 's/CONFIG_UNLZMA=y.*/# CONFIG_UNLZMA is not set/' -i .config - - sed -e 's/CONFIG_UNXZ=y.*/# CONFIG_UNXZ is not set/' -i .config - - sed -e 's/CONFIG_XZ=y.*/# CONFIG_XZ is not set/' -i .config - -build-commands: - - make - - | - for f in ifup@.service ntpd.service crond.service; do - sed -e 's|@rootprefix@||g' "systemd-units/$f.in" >"systemd-units/$f"; - done - -install-commands: - - | - if [ "$PREFIX" = /usr ]; then PREFIX=; fi && - make CONFIG_PREFIX="$DESTDIR$PREFIX" install && - chmod 6755 "$DESTDIR$PREFIX"/bin/busybox - - - mkdir -p "$DESTDIR/var/spool/cron/crontabs" - - # Install systemd units - - mkdir -p "$DESTDIR/lib/systemd/system/multi-user.target.wants" - - | - for f in systemd-units/*.service; do - install -m 644 "$f" "$DESTDIR/lib/systemd/system"; - done - - | - for f in $(cd systemd-units; ls *.service | grep -v -F "@"); do - ln -s "../$f" "$DESTDIR/lib/systemd/system/multi-user.target.wants/"; - done - - # Install custom udev rule to run ifup for every network device detected - - mkdir -p "$DESTDIR/lib/udev/rules.d" - - for f in udev-rules/100-baserock.rules; do - install -m 644 "$f" "$DESTDIR/lib/udev/rules.d"; - done - - # Set up DHCP - - mkdir -p "$DESTDIR$PREFIX"/share/udhcpc - - cp examples/udhcp/simple.script "$DESTDIR$PREFIX"/share/udhcpc/default.script - - # Set up NTP - - cp scripts/ntpd-set.sh "$DESTDIR$PREFIX"/bin/ntpd-set.sh - - chmod 6755 "$DESTDIR$PREFIX"/bin/ntpd-set.sh diff --git a/stage2-busybox.morph b/stage2-busybox.morph index ec4a38912..d2f0ec7af 100644 --- a/stage2-busybox.morph +++ b/stage2-busybox.morph @@ -1,46 +1,74 @@ -{ - "name": "stage2-busybox", - "kind": "chunk", - "configure-commands": [ - "stage2-eglibc-fix-specs", - "make HOSTCC=\"/usr/bin/gcc\" CROSS_COMPILE=$TARGET_STAGE1- defconfig", - "[ \"$PREFIX\" = /usr ] || sed -e 's/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/' -i .config", - "sed -e 's/CONFIG_AWK=y.*/# CONFIG_AWK is not set/' -i .config", - "sed -e 's/CONFIG_INETD=y.*/# CONFIG_INETD is not set/' -i .config", - "sed -e 's/CONFIG_PATCH=y.*/# CONFIG_PATCH is not set/' -i .config", - "sed -e 's/CONFIG_DEPMOD=y.*/# CONFIG_DEPMOD is not set/' -i .config", - "sed -e 's/CONFIG_INSMOD=y.*/# CONFIG_INSMOD is not set/' -i .config", - "sed -e 's/CONFIG_MODPROBE=y.*/# CONFIG_MODPROBE is not set/' -i .config", - "sed -e 's/CONFIG_MODPROBE_SMALL=y.*/# CONFIG_MODPROBE_SMALL is not set/' -i .config", - "sed -e 's/CONFIG_LSMOD=y.*/# CONFIG_LSMOD is not set/' -i .config", - "sed -e 's/CONFIG_RMMOD=y.*/# CONFIG_RMMOD is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_MOUNT_CIFS=y.*/# CONFIG_FEATURE_MOUNT_CIFS is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_EXTRA_QUIET=y.*/# CONFIG_FEATURE_EXTRA_QUIET is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_INIT_COREDUMPS=y.*/# CONFIG_FEATURE_INIT_COREDUMPS is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_INIT_SCTTY=y.*/# CONFIG_FEATURE_INIT_SCTTY is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_INIT_SYSLOG=y.*/# CONFIG_FEATURE_INIT_SYSLOG is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_INITRD=y.*/# CONFIG_FEATURE_INITRD is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_USE_INITTAB=y.*/# CONFIG_FEATURE_USE_INITTAB is not set/' -i .config", - "sed -e 's/CONFIG_FEATURE_MINIX2=y.*/# CONFIG_FEATURE_MINIX2 is not set/' -i .config", - "sed -e 's/CONFIG_FSCK_MINIX=y.*/# CONFIG_FSCK_MINIX is not set/' -i .config", - "sed -e 's/CONFIG_HALT=y.*/# CONFIG_HALT is not set/' -i .config", - "sed -e 's/CONFIG_INIT=y.*/# CONFIG_INIT is not set/' -i .config", - "sed -e 's/CONFIG_INIT_TERMINAL_TYPE=y.*/CONFIG_INIT_TERMINAL_TYPE=\"\"/' -i .config", - "sed -e 's/CONFIG_LOSETUP=y.*/# CONFIG_LOSETUP is not set/' -i .config", - "sed -e 's/CONFIG_LSUSB=y.*/# CONFIG_LSUSB is not set/' -i .config", - "sed -e 's/CONFIG_LZMA=y.*/# CONFIG_LZMA is not set/' -i .config", - "sed -e 's/CONFIG_MKFS_EXT2=y.*/# CONFIG_MKFS_EXT2 is not set/' -i .config", - "sed -e 's/CONFIG_MKFS_MINIX=y.*/# CONFIG_MKFS_MINIX is not set/' -i .config", - "sed -e 's/CONFIG_RUNLEVEL=y.*/# CONFIG_RUNLEVEL is not set/' -i .config", - "sed -e 's/CONFIG_STRINGS=y.*/# CONFIG_STRINGS is not set/' -i .config", - "sed -e 's/CONFIG_UNLZMA=y.*/# CONFIG_UNLZMA is not set/' -i .config", - "sed -e 's/CONFIG_UNXZ=y.*/# CONFIG_UNXZ is not set/' -i .config", - "sed -e 's/CONFIG_XZ=y.*/# CONFIG_XZ is not set/' -i .config" - ], - "build-commands": [ - "export STAGE2_SYSROOT=\"$(dirname $(pwd))\"\nexport CPPFLAGS=\"--sysroot=$STAGE2_SYSROOT\"\nexport LDFLAGS=\"-Wl,--sysroot=$STAGE2_SYSROOT\"\nmake HOSTCC=\"/usr/bin/gcc\" CROSS_COMPILE=$TARGET_STAGE1-\n" - ], - "install-commands": [ - "export STAGE2_SYSROOT=\"$(dirname $(pwd))\"\nexport CPPFLAGS=\"--sysroot=$STAGE2_SYSROOT\"\nexport LDFLAGS=\"-Wl,--sysroot=$STAGE2_SYSROOT\"\nmake CONFIG_PREFIX=\"$DESTDIR$PREFIX\" \\\n HOSTCC=\"/usr/bin/gcc\" CROSS_COMPILE=$TARGET_STAGE1- install &&\nchmod 6755 \"$DESTDIR$PREFIX\"/bin/busybox\n" - ] -} +name: stage2-busybox +kind: chunk + +configure-commands: + - stage2-eglibc-fix-specs + + # Explicitly setting HOSTCC is required because we have a 'gcc' earlier in + # the PATH supplied by the stage2-gcc chunk, which can't execute outside of + # the stage 3 staging area. + - make HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- defconfig + + # Avoid dividing applets between $PREFIX/[s]bin and $PREFIX/usr/[s]bin. + - '[ "$PREFIX" = /usr ] || sed -e ''s/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/'' -i .config' + + # We have GAWK. + - sed -e 's/CONFIG_AWK=y.*/# CONFIG_AWK is not set/' -i .config + + # Depends on stuff that was removed since eglibc 2.14. + - sed -e 's/CONFIG_INETD=y.*/# CONFIG_INETD is not set/' -i .config + + # Busybox Patch is incompatible enough with GNU Patch that it can't be + # used for GNULib projects built from Git. + - sed -e 's/CONFIG_PATCH=y.*/# CONFIG_PATCH is not set/' -i .config + + # None of this is needed because we have kmod; and it actually breaks the + # Linux build because depmod isn't compatible enough with util-linux's. + - sed -e 's/CONFIG_DEPMOD=y.*/# CONFIG_DEPMOD is not set/' -i .config + - sed -e 's/CONFIG_INSMOD=y.*/# CONFIG_INSMOD is not set/' -i .config + - sed -e 's/CONFIG_MODPROBE=y.*/# CONFIG_MODPROBE is not set/' -i .config + - sed -e 's/CONFIG_MODPROBE_SMALL=y.*/# CONFIG_MODPROBE_SMALL is not set/' -i .config + - sed -e 's/CONFIG_LSMOD=y.*/# CONFIG_LSMOD is not set/' -i .config + - sed -e 's/CONFIG_RMMOD=y.*/# CONFIG_RMMOD is not set/' -i .config + + # General features that we don't need. + - sed -e 's/CONFIG_FEATURE_MOUNT_CIFS=y.*/# CONFIG_FEATURE_MOUNT_CIFS is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_EXTRA_QUIET=y.*/# CONFIG_FEATURE_EXTRA_QUIET is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_INIT_COREDUMPS=y.*/# CONFIG_FEATURE_INIT_COREDUMPS is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_INIT_SCTTY=y.*/# CONFIG_FEATURE_INIT_SCTTY is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_INIT_SYSLOG=y.*/# CONFIG_FEATURE_INIT_SYSLOG is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_INITRD=y.*/# CONFIG_FEATURE_INITRD is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_USE_INITTAB=y.*/# CONFIG_FEATURE_USE_INITTAB is not set/' -i .config + - sed -e 's/CONFIG_FEATURE_MINIX2=y.*/# CONFIG_FEATURE_MINIX2 is not set/' -i .config + - sed -e 's/CONFIG_FSCK_MINIX=y.*/# CONFIG_FSCK_MINIX is not set/' -i .config + - sed -e 's/CONFIG_HALT=y.*/# CONFIG_HALT is not set/' -i .config + - sed -e 's/CONFIG_INIT=y.*/# CONFIG_INIT is not set/' -i .config + - sed -e 's/CONFIG_INIT_TERMINAL_TYPE=y.*/CONFIG_INIT_TERMINAL_TYPE=""/' -i .config + - sed -e 's/CONFIG_LOSETUP=y.*/# CONFIG_LOSETUP is not set/' -i .config + - sed -e 's/CONFIG_LSUSB=y.*/# CONFIG_LSUSB is not set/' -i .config + - sed -e 's/CONFIG_LZMA=y.*/# CONFIG_LZMA is not set/' -i .config + - sed -e 's/CONFIG_MKFS_EXT2=y.*/# CONFIG_MKFS_EXT2 is not set/' -i .config + - sed -e 's/CONFIG_MKFS_MINIX=y.*/# CONFIG_MKFS_MINIX is not set/' -i .config + - sed -e 's/CONFIG_RUNLEVEL=y.*/# CONFIG_RUNLEVEL is not set/' -i .config + - sed -e 's/CONFIG_STRINGS=y.*/# CONFIG_STRINGS is not set/' -i .config + - sed -e 's/CONFIG_UNLZMA=y.*/# CONFIG_UNLZMA is not set/' -i .config + - sed -e 's/CONFIG_UNXZ=y.*/# CONFIG_UNXZ is not set/' -i .config + - sed -e 's/CONFIG_XZ=y.*/# CONFIG_XZ is not set/' -i .config + +build-commands: + - | + export STAGE2_SYSROOT="$(dirname $(pwd))" + export CPPFLAGS="--sysroot=$STAGE2_SYSROOT" + export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT" + make HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- + +install-commands: + # We expect to be built with a non-standard prefix in stage 2 (i.e. not + # /usr). The install will break if prefix is set to /usr. + - | + export STAGE2_SYSROOT="$(dirname $(pwd))" + export CPPFLAGS="--sysroot=$STAGE2_SYSROOT" + export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT" + make CONFIG_PREFIX="$DESTDIR$PREFIX" \ + HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- install && + chmod 6755 "$DESTDIR$PREFIX"/bin/busybox diff --git a/stage2-busybox.morph.yaml b/stage2-busybox.morph.yaml deleted file mode 100644 index d2f0ec7af..000000000 --- a/stage2-busybox.morph.yaml +++ /dev/null @@ -1,74 +0,0 @@ -name: stage2-busybox -kind: chunk - -configure-commands: - - stage2-eglibc-fix-specs - - # Explicitly setting HOSTCC is required because we have a 'gcc' earlier in - # the PATH supplied by the stage2-gcc chunk, which can't execute outside of - # the stage 3 staging area. - - make HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- defconfig - - # Avoid dividing applets between $PREFIX/[s]bin and $PREFIX/usr/[s]bin. - - '[ "$PREFIX" = /usr ] || sed -e ''s/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/'' -i .config' - - # We have GAWK. - - sed -e 's/CONFIG_AWK=y.*/# CONFIG_AWK is not set/' -i .config - - # Depends on stuff that was removed since eglibc 2.14. - - sed -e 's/CONFIG_INETD=y.*/# CONFIG_INETD is not set/' -i .config - - # Busybox Patch is incompatible enough with GNU Patch that it can't be - # used for GNULib projects built from Git. - - sed -e 's/CONFIG_PATCH=y.*/# CONFIG_PATCH is not set/' -i .config - - # None of this is needed because we have kmod; and it actually breaks the - # Linux build because depmod isn't compatible enough with util-linux's. - - sed -e 's/CONFIG_DEPMOD=y.*/# CONFIG_DEPMOD is not set/' -i .config - - sed -e 's/CONFIG_INSMOD=y.*/# CONFIG_INSMOD is not set/' -i .config - - sed -e 's/CONFIG_MODPROBE=y.*/# CONFIG_MODPROBE is not set/' -i .config - - sed -e 's/CONFIG_MODPROBE_SMALL=y.*/# CONFIG_MODPROBE_SMALL is not set/' -i .config - - sed -e 's/CONFIG_LSMOD=y.*/# CONFIG_LSMOD is not set/' -i .config - - sed -e 's/CONFIG_RMMOD=y.*/# CONFIG_RMMOD is not set/' -i .config - - # General features that we don't need. - - sed -e 's/CONFIG_FEATURE_MOUNT_CIFS=y.*/# CONFIG_FEATURE_MOUNT_CIFS is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_EXTRA_QUIET=y.*/# CONFIG_FEATURE_EXTRA_QUIET is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_INIT_COREDUMPS=y.*/# CONFIG_FEATURE_INIT_COREDUMPS is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_INIT_SCTTY=y.*/# CONFIG_FEATURE_INIT_SCTTY is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_INIT_SYSLOG=y.*/# CONFIG_FEATURE_INIT_SYSLOG is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_INITRD=y.*/# CONFIG_FEATURE_INITRD is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_USE_INITTAB=y.*/# CONFIG_FEATURE_USE_INITTAB is not set/' -i .config - - sed -e 's/CONFIG_FEATURE_MINIX2=y.*/# CONFIG_FEATURE_MINIX2 is not set/' -i .config - - sed -e 's/CONFIG_FSCK_MINIX=y.*/# CONFIG_FSCK_MINIX is not set/' -i .config - - sed -e 's/CONFIG_HALT=y.*/# CONFIG_HALT is not set/' -i .config - - sed -e 's/CONFIG_INIT=y.*/# CONFIG_INIT is not set/' -i .config - - sed -e 's/CONFIG_INIT_TERMINAL_TYPE=y.*/CONFIG_INIT_TERMINAL_TYPE=""/' -i .config - - sed -e 's/CONFIG_LOSETUP=y.*/# CONFIG_LOSETUP is not set/' -i .config - - sed -e 's/CONFIG_LSUSB=y.*/# CONFIG_LSUSB is not set/' -i .config - - sed -e 's/CONFIG_LZMA=y.*/# CONFIG_LZMA is not set/' -i .config - - sed -e 's/CONFIG_MKFS_EXT2=y.*/# CONFIG_MKFS_EXT2 is not set/' -i .config - - sed -e 's/CONFIG_MKFS_MINIX=y.*/# CONFIG_MKFS_MINIX is not set/' -i .config - - sed -e 's/CONFIG_RUNLEVEL=y.*/# CONFIG_RUNLEVEL is not set/' -i .config - - sed -e 's/CONFIG_STRINGS=y.*/# CONFIG_STRINGS is not set/' -i .config - - sed -e 's/CONFIG_UNLZMA=y.*/# CONFIG_UNLZMA is not set/' -i .config - - sed -e 's/CONFIG_UNXZ=y.*/# CONFIG_UNXZ is not set/' -i .config - - sed -e 's/CONFIG_XZ=y.*/# CONFIG_XZ is not set/' -i .config - -build-commands: - - | - export STAGE2_SYSROOT="$(dirname $(pwd))" - export CPPFLAGS="--sysroot=$STAGE2_SYSROOT" - export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT" - make HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- - -install-commands: - # We expect to be built with a non-standard prefix in stage 2 (i.e. not - # /usr). The install will break if prefix is set to /usr. - - | - export STAGE2_SYSROOT="$(dirname $(pwd))" - export CPPFLAGS="--sysroot=$STAGE2_SYSROOT" - export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT" - make CONFIG_PREFIX="$DESTDIR$PREFIX" \ - HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- install && - chmod 6755 "$DESTDIR$PREFIX"/bin/busybox |