From 11acacb94a6c8f8b5f0e13c12c6c38f2a7675f46 Mon Sep 17 00:00:00 2001 From: justuser-31 Date: Tue, 22 Apr 2025 12:55:10 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B8=20arm64/x86?= =?UTF-8?q?=20=D0=B2=20docker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- multi_build.sh | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 multi_build.sh 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