busybox (1550B)
1 {%- set pkg_source="git" -%} 2 {% extends "generic" %} 3 {%- block package_deps -%} 4 #+{{pkg_install_name("musl-cross-make")}} 5 #+{{pkg_install_name("gnu-make:bootstrap")}} 6 #+{{pkg_install_name("busybox:bootstrap")}} 7 #@sha256:{{files["busybox.config"]}}:busybox/.config 8 {% endblock %} 9 {% block configure -%} 10 export CC="$pthbs_build_environment/command/{{triplet}}-gcc" 11 export CFLAGS="-D_GNU_SOURCE" 12 export LDFLAGS="-static" 13 14 cat >>.config <<EOF 15 CONFIG_BUSYBOX_EXEC_PATH="${prefix}/command/busybox" 16 EOF 17 make oldconfig 18 cat .config 19 20 {% endblock %} 21 {% block build -%} 22 make V=1 CROSS_COMPILE={{triplet}}- LDFLAGS=-static HOSTLDFLAGS=-static \ 23 HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j${JOBS:-1} 24 25 {% endblock %} 26 {% block install -%} 27 mkdir -p "${dest}/command" 28 cp -a busybox "${dest}/command/" 29 30 {% endblock %} 31 {% block finish -%} 32 cd "${dest}" 33 echo false | ./command/busybox --list >/dev/null # test if it works 34 ./command/busybox --list | awk ' 35 /^(awk)$/ {next} 36 /^(cmp|diff)$/ {next} # provided by diffutils 37 /^(find|xargs)$/ {next} # provided by findutils 38 /^(login)$/ {next} # provided by logincaps 39 /^(reset|clear)$/ {next} # provided by netbsd-curses 40 /^(chvt|deallocvt|fgconsole|kbd_mode|openvt|setfont|setkeycodes|showkey)$/ {next} # provided by kbd 41 /^(modinfo|modprobe|(dep|ins|ls|rm)mod)$/ {next} # modutils 42 /^(getfattr|setfattr|attr)$/ {next} # attr 43 { print "./command/busybox\t./command/" $0 } 44 END { print "./command/busybox\t./command/busybox" } 45 ' >.install-links.new 46 mv .install-links.new .install-links 47 {% endblock %}