mrrl

Minimal Reliable Reproducible Linux
git clone https://ccx.te2000.cz/git/mrrl
Log | Files | Refs | Submodules | README

busybox:bootstrap (1682B)


      1 #!/usr/bin/env pthbs-build
      2 #@pragma:nosandbox
      3 #@pragma:nopath
      4 #+musl-cross-make.de554c172179c402cf921f506a2369385ea83330a5bb4ab6bb6a253db9aac258
      5 #+gnu-make.6236d2c236f658167aece4d10bc59fa913f7fac60938f31bb5ef4a34bad42a94
      6 #+nawk.596c1948e96cbcabfe3954a70deb947de0c73be1ddde41fafe8291bfec04bdd4
      7 #@git:3621595939e43a831d66f6b757d4f410029bff95:busybox
      8 #@sha256:18cd9ac8b9c738eaa9b33657dd52ffea6e1707c75ad40983ac477a5a5684c548:busybox/.config
      9 
     10 PATH="$pthbs_build_environment/command:$PATH"
     11 mcm=/versions/musl-cross-make.de554c172179c402cf921f506a2369385ea83330a5bb4ab6bb6a253db9aac258
     12 make=/versions/gnu-make.6236d2c236f658167aece4d10bc59fa913f7fac60938f31bb5ef4a34bad42a94
     13 
     14 export CC="$pthbs_build_environment/command/x86_64-linux-musl-gcc"
     15 export CFLAGS="-D_GNU_SOURCE"
     16 export LDFLAGS="-static"
     17 $CC --version
     18 
     19 with_make_args() {
     20 	"$@" V=1 CROSS_COMPILE=x86_64-linux-musl- LDFLAGS="$LDFLAGS" HOSTLDFLAGS="$LDFLAGS" \
     21 		HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS="$CFLAGS" \
     22 		KBUILD_VERBOSE=1
     23 }
     24 
     25 cd busybox
     26 grep -R '#!/.*/bash' . || true
     27 wc ./.config
     28 cat >>.config <<EOF
     29 CONFIG_BUSYBOX_EXEC_PATH="${prefix}/command/busybox"
     30 EOF
     31 
     32 with_make_args make oldconfig
     33 cat ./.config
     34 
     35 with_make_args make -j${JOBS:-1} -l$((1+${JOBS:-1}))
     36 
     37 mkdir -p "$pthbs_destdir/versions/$pthbs_package/command"
     38 cp -a busybox "$pthbs_destdir/versions/$pthbs_package/command/"
     39 cd "$pthbs_destdir/versions/$pthbs_package"
     40 
     41 echo false | ./command/busybox --list >/dev/null # test if it works
     42 ./command/busybox --list | awk '
     43 $0 == "awk" { next }  # seems buggy, use nawk instead
     44 $0 == "bbconfig" { next }
     45 { print "./command/busybox\t./command/" $0 }
     46 ' >.install-links.new
     47 mv .install-links.new .install-links