sandbox_rootfs (1639B)
1 #!/usr/bin/env pthbs-build 2 #@pragma:nosandbox 3 #+musl-cross-make.de554c172179c402cf921f506a2369385ea83330a5bb4ab6bb6a253db9aac258 4 #+gnu-make.6236d2c236f658167aece4d10bc59fa913f7fac60938f31bb5ef4a34bad42a94 5 #+busybox.119bbc99a86bd999b052ed79095bc38c05f6280924ec718a0eb13f1a8d3410c1 6 #+nawk.596c1948e96cbcabfe3954a70deb947de0c73be1ddde41fafe8291bfec04bdd4 7 #+skalibs.4c3cedd3c18d6de9434e80675ec95825ec0a44a420a31be408e11da7bbaed05a 8 #@sha256:8d716caa5ea940bbbb8f68ac0907cea36773c183bd4c1eebad030f6cc7deaec9:argv0exec.c 9 10 # - build script start - 11 12 build_env_static() { 13 export CFLAGS="-ffile-prefix-map=${pthbs_workdir}=builddir $CFLAGS" 14 export CXXFLAGS="-ffile-prefix-map=${pthbs_workdir}=builddir $CXXFLAGS" 15 export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS" 16 } 17 18 prefix=/versions/$pthbs_package 19 dest=${pthbs_destdir%/}${prefix} 20 cd '.' 21 22 export CC="$pthbs_build_environment/command/x86_64-linux-musl-gcc" 23 export CPATH="$pthbs_build_environment/include" 24 export LIBRARY_PATH="$pthbs_build_environment/library" 25 export LDFLAGS="-L$pthbs_build_environment/library" 26 27 28 mkdir -p root/bin root/usr root/sbin root/mnt/oldroot 29 ln -v -s ../bin root/usr/ 30 31 build_env_static 32 gcc ${CFLAGS} -o "root/bin/argv0exec" "argv0exec.c" $LDFLAGS -lskarnet 33 34 ln -v -s argv0exec root/bin/sh 35 ln -v -s argv0exec root/bin/env 36 ln -v -s ../bin/argv0exec root/sbin/sh 37 ln -v -s ../bin/argv0exec root/sbin/env 38 mkdir -p "$dest/pthbs/sandbox" 39 tar -cvf "$dest/pthbs/sandbox/root.tar" -C root . 40 41 42 43 44 cd "$dest" 45 ls -lh ./pthbs/sandbox/root.tar 46 printf '%s\t%s\n' >.install-links.new ./pthbs/sandbox/root.tar ./pthbs/sandbox/root.tar 47 mv .install-links.new .install-links 48