diff --git a/multi_build.sh b/multi_build.sh new file mode 100755 index 0000000..d5b954c --- /dev/null +++ b/multi_build.sh @@ -0,0 +1,69 @@ +pause () { + read -p "Press enter to continue" +} + +clear +echo "------- Multi build -------" +echo "This is build for:" +echo " - x86 + musl*" +echo " - arm + musl*" +echo "" +echo "* - alternative C library" +echo "---------------------------" +pause + +clear +echo "------ Requirements ------" +echo "Please install this packages (Debian):" +echo "" +echo "docker qemu binfmt-support qemu-user-static" +echo "---------------------------" +pause + +clear +echo "--------- Build -----------" +mkdir build + +echo "[BUILD] BUILD FOR X86 ON ALPINE" +echo "[BUILD] START CONTAINER" +if [ "$(docker ps -a -q -f name=run_tracker_x86)" ]; then + docker start run_tracker_x86 +else + docker run -d --name run_tracker_x86 alpine:latest tail -f /dev/null +fi + +echo "[BUILD] INSTALL PACKAGES" +docker exec run_tracker_x86 apk add --no-cache git gcc musl-dev +echo "[BUILD] CLONE REPO && UPDATE" +docker exec run_tracker_x86 sh -c "git clone https://gitea.del.pw/justuser-31/run_tracker.git" +docker exec run_tracker_x86 sh -c "cd run_tracker && git pull" +echo "[BUILD] BUILD" +docker exec run_tracker_x86 sh -c "cd run_tracker && ./build.sh" +echo "[BUILD] COPY RESULT" +docker cp run_tracker_x86:/run_tracker/rtracker build/rtracker_x86 +echo "[BUILD] STOP CONTAINER" +docker stop run_tracker_x86 + +echo "[BUILD] BUILD FOR ARM64 ON ALPINE" +echo "[BUILD] START CONTAINER" +if [ "$(docker ps -a -q -f name=run_tracker_arm64)" ]; then + docker start run_tracker_arm64 +else + docker run --platform=linux/arm64/v8 -d --name run_tracker_arm64 arm64v8/alpine:latest tail -f /dev/null +fi + +echo "[BUILD] INSTALL PACKAGES" +docker exec run_tracker_arm64 apk add --no-cache git gcc musl-dev +echo "[BUILD] CLONE REPO && UPDATE" +docker exec run_tracker_arm64 sh -c "git clone https://gitea.del.pw/justuser-31/run_tracker.git" +docker exec run_tracker_arm64 sh -c "cd run_tracker && git pull" +echo "[BUILD] BUILD" +docker exec run_tracker_arm64 sh -c "cd run_tracker && ./build.sh" +echo "[BUILD] COPY RESULT" +docker cp run_tracker_arm64:/run_tracker/rtracker build/rtracker_arm64 +echo "[BUILD] STOP CONTAINER" +docker stop run_tracker_arm64 +echo "---------------------------" +echo "Build ended, result should be in build path" +echo "---------------------------" +pause