diff options
Diffstat (limited to 'elements/gnu-toolchain/busybox.bst')
-rw-r--r-- | elements/gnu-toolchain/busybox.bst | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/elements/gnu-toolchain/busybox.bst b/elements/gnu-toolchain/busybox.bst new file mode 100644 index 00000000..be14fa51 --- /dev/null +++ b/elements/gnu-toolchain/busybox.bst @@ -0,0 +1,104 @@ +kind: manual + +sources: +- kind: git + url: upstream:busybox + track: 1_23_1 + ref: 1ecfe811fe2f70380170ef7d820e8150054e88ca + +depends: +- filename: gnu-toolchain/stage2.bst + type: build +- gnu-toolchain/fhs-dirs.bst +- gnu-toolchain/glibc.bst + +environment: + PATH: /usr/bin:/bin:/usr/sbin:/sbin:/tools/bin:/tools/sbin + +config: + configure-commands: + # Busybox's default config has everything enabled. + - make defconfig KCONFIG_NOTIMESTAMP=1 + + - 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_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_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_LSPCI=y.*/# CONFIG_LSPCI 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_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 + + # Now turn on some little bits we do need + - sed -e 's/# CONFIG_BBCONFIG is not set/CONFIG_BBCONFIG=y/' -i .config + - sed -e 's/# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set/CONFIG_FEATURE_COMPRESS_BBCONFIG=y/' + -i .config + - sed -e 's/# CONFIG_FEATURE_MOUNT_HELPERS is not set/CONFIG_FEATURE_MOUNT_HELPERS=y/' + -i .config + + build-commands: + - make KCONFIG_NOTIMESTAMP=1 + + install-commands: + - | + # Note here we intentionally ignore '%{prefix}', this is going into '/' + make CONFIG_PREFIX="%{install-root}" KCONFIG_NOTIMESTAMP=1 install && + chmod 6755 "%{install-root}/bin/busybox" + + # Set up man environment variables + - mkdir -p "%{install-root}/etc" + - | + cat << EOF > "%{install-root}/etc/man.conf" + # This file is used by man to provide a manpath for those without one by + # examining their PATH environment variable. + # + # Lines beginning with `#' are comments and are ignored. Any combination of + # tabs or spaces may be used as `whitespace' separators. + + MANDATORY_MANPATH /usr/man + MANDATORY_MANPATH /usr/share/man + MANDATORY_MANPATH /usr/local/share/man + EOF |