diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a79e7ad..fe47c9d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -45,7 +45,9 @@ jobs: - name: Build env: ARCHITECTURE: ${{ matrix.appimage_arch }} - run: ./chroot_build.sh + run: | + sudo apt-get -y install qemu-user-static + ./chroot_build.sh - uses: actions/upload-artifact@v3 with: diff --git a/build.sh b/build.sh index bee786a..5d8aa56 100755 --- a/build.sh +++ b/build.sh @@ -19,15 +19,16 @@ cd squashfuse-*/ ./autogen.sh ./configure --help ./configure CFLAGS=-no-pie LDFLAGS=-static -make -j$(nproc) +make -j"$(nproc)" make install -/usr/bin/install -c -m 644 *.h '/usr/local/include/squashfuse' # ll.h +/usr/bin/install -c -m 644 ./*.h '/usr/local/include/squashfuse' # ll.h cd - # Build static AppImage runtime -export GIT_COMMIT=$(cat src/runtime/version) +GIT_COMMIT="$(cat src/runtime/version)" +export GIT_COMMIT cd src/runtime -make runtime-fuse3 -j$(nproc) +make runtime-fuse3 -j"$(nproc)" file runtime-fuse3 strip runtime-fuse3 ls -lh runtime-fuse3 @@ -35,4 +36,4 @@ echo -ne 'AI\x02' | dd of=runtime-fuse3 bs=1 count=3 seek=8 conv=notrunc # magic cd - mkdir -p out -cp src/runtime/runtime-fuse3 out/runtime-fuse3-$ARCHITECTURE +cp src/runtime/runtime-fuse3 "out/runtime-fuse3-${ARCHITECTURE}" diff --git a/chroot_build.sh b/chroot_build.sh index 18dc271..e8379e0 100755 --- a/chroot_build.sh +++ b/chroot_build.sh @@ -6,11 +6,11 @@ set -ex # Download and extract minimal Alpine system ############################################# -wget http://dl-cdn.alpinelinux.org/alpine/v3.17/releases/$ARCHITECTURE/alpine-minirootfs-3.17.2-$ARCHITECTURE.tar.gz +wget "http://dl-cdn.alpinelinux.org/alpine/v3.17/releases/${ARCHITECTURE}/alpine-minirootfs-3.17.2-${ARCHITECTURE}.tar.gz" sudo rm -rf ./miniroot true # Clean up from previous runs mkdir -p ./miniroot cd ./miniroot -sudo tar xf ../alpine-minirootfs-*-$ARCHITECTURE.tar.gz +sudo tar xf ../alpine-minirootfs-*-"${ARCHITECTURE}".tar.gz cd - ############################################# @@ -33,13 +33,11 @@ if [ "$ARCHITECTURE" = "x86" ] || [ "$ARCHITECTURE" = "x86_64" ]; then sudo cp build.sh miniroot/build.sh && sudo chroot miniroot /bin/sh -ex /build.sh elif [ "$ARCHITECTURE" = "aarch64" ] ; then echo "Architecture is aarch64, hence using qemu-aarch64-static" - sudo apt-get -y install qemu-user-static - sudo cp $(which qemu-aarch64-static) miniroot/usr/bin + sudo cp "$(which qemu-aarch64-static)" miniroot/usr/bin sudo cp build.sh miniroot/build.sh && sudo chroot miniroot qemu-aarch64-static /bin/sh -ex /build.sh elif [ "$ARCHITECTURE" = "armhf" ] ; then echo "Architecture is armhf, hence using qemu-arm-static" - sudo apt-get -y install qemu-user-static - sudo cp $(which qemu-arm-static) miniroot/usr/bin + sudo cp "$(which qemu-arm-static)" miniroot/usr/bin sudo cp build.sh miniroot/build.sh && sudo chroot miniroot qemu-arm-static /bin/sh -ex /build.sh else echo "Edit chroot_build.sh to support this architecture as well, it should be easy" @@ -60,5 +58,5 @@ sudo umount miniroot/proc miniroot/sys miniroot/dev if [ "$ARCHITECTURE" = "x86" ] ; then ARCHITECTURE=i686 ; fi mkdir out/ -sudo find miniroot/ -type f -executable -name 'runtime-fuse3' -exec cp {} out/runtime-$ARCHITECTURE \; +sudo find miniroot/ -type f -executable -name 'runtime-fuse3' -exec cp {} "out/runtime-${ARCHITECTURE}" \; sudo rm -rf miniroot/