diff options
Diffstat (limited to 'modules.d/busybox/module-setup.sh')
-rw-r--r-- | modules.d/busybox/module-setup.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/modules.d/busybox/module-setup.sh b/modules.d/busybox/module-setup.sh new file mode 100644 index 00000000..807022e9 --- /dev/null +++ b/modules.d/busybox/module-setup.sh @@ -0,0 +1,42 @@ +#!/bin/bash +[ -z "$BB_GIT" ] && declare -rg BB_GIT="git://git.busybox.net/busybox" +[ -z "$BB_BRANCH" ] && declare -rg BB_BRANCH="1_25_1" + +build() { + local base_url="https://git.openslx.org/openslx-ng/mltk.git/plain/core/modules/busybox/" + ( + set -e + git clone --depth 1 "$BB_GIT" --branch "$BB_BRANCH" "${moddir}/src" + # apply patches + cd "${moddir}/src" + for _patch in "$base_url"{fbsplash-center,fbsplash-fillbg,rtcwake-compat}.patch ; do + curl "$_patch" | git apply - || derror "Failed to apply: $_patch" + done + + cp "${moddir}/openslx.config" > "${target}/.config" + yes '' | make oldconfig + make -j busybox + cd - &> /dev/null + ) +} +check() { + if [ ! -x "${moddir}/src/busybox" ] && ! build; then + derror "Failed to build busybox." + return 1 + fi + return 255 +} + +depends() { + echo "" +} + +install() { + if [ ! -s "${moddir}/src/busybox" ]; then + derror "Failed to find busybox binary in build directory!" + return 1 + fi + inst "${moddir}/src/busybox" "/bin/busybox" + inst_hook cmdline 00 "${moddir}/install-busybox.sh" + inst_hook pre-pivot 50 "${moddir}/install-busybox-stage4.sh" +} |