Skip to content

Commit 7804775

Browse files
authored
Satisfy shellcheck; do not install apt packages from shell script (#9)
* Satisfy shellcheck in build.sh * Satisfy shellcheck in chroot_build.sh [ci skip] * Install qemu-user-static in build.yaml As suggested by @TheAssassin; so that the local system is not changed by running the shell scripts
1 parent 2ea397a commit 7804775

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed

.github/workflows/build.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ jobs:
4545
- name: Build
4646
env:
4747
ARCHITECTURE: ${{ matrix.appimage_arch }}
48-
run: ./chroot_build.sh
48+
run: |
49+
sudo apt-get -y install qemu-user-static
50+
./chroot_build.sh
4951
5052
- uses: actions/upload-artifact@v3
5153
with:

build.sh

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,21 @@ cd squashfuse-*/
1919
./autogen.sh
2020
./configure --help
2121
./configure CFLAGS=-no-pie LDFLAGS=-static
22-
make -j$(nproc)
22+
make -j"$(nproc)"
2323
make install
24-
/usr/bin/install -c -m 644 *.h '/usr/local/include/squashfuse' # ll.h
24+
/usr/bin/install -c -m 644 ./*.h '/usr/local/include/squashfuse' # ll.h
2525
cd -
2626

2727
# Build static AppImage runtime
28-
export GIT_COMMIT=$(cat src/runtime/version)
28+
GIT_COMMIT="$(cat src/runtime/version)"
29+
export GIT_COMMIT
2930
cd src/runtime
30-
make runtime-fuse3 -j$(nproc)
31+
make runtime-fuse3 -j"$(nproc)"
3132
file runtime-fuse3
3233
strip runtime-fuse3
3334
ls -lh runtime-fuse3
3435
echo -ne 'AI\x02' | dd of=runtime-fuse3 bs=1 count=3 seek=8 conv=notrunc # magic bytes, always do AFTER strip
3536
cd -
3637

3738
mkdir -p out
38-
cp src/runtime/runtime-fuse3 out/runtime-fuse3-$ARCHITECTURE
39+
cp src/runtime/runtime-fuse3 "out/runtime-fuse3-${ARCHITECTURE}"

chroot_build.sh

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ set -ex
66
# Download and extract minimal Alpine system
77
#############################################
88

9-
wget http://dl-cdn.alpinelinux.org/alpine/v3.17/releases/$ARCHITECTURE/alpine-minirootfs-3.17.2-$ARCHITECTURE.tar.gz
9+
wget "http://dl-cdn.alpinelinux.org/alpine/v3.17/releases/${ARCHITECTURE}/alpine-minirootfs-3.17.2-${ARCHITECTURE}.tar.gz"
1010
sudo rm -rf ./miniroot true # Clean up from previous runs
1111
mkdir -p ./miniroot
1212
cd ./miniroot
13-
sudo tar xf ../alpine-minirootfs-*-$ARCHITECTURE.tar.gz
13+
sudo tar xf ../alpine-minirootfs-*-"${ARCHITECTURE}".tar.gz
1414
cd -
1515

1616
#############################################
@@ -33,13 +33,11 @@ if [ "$ARCHITECTURE" = "x86" ] || [ "$ARCHITECTURE" = "x86_64" ]; then
3333
sudo cp build.sh miniroot/build.sh && sudo chroot miniroot /bin/sh -ex /build.sh
3434
elif [ "$ARCHITECTURE" = "aarch64" ] ; then
3535
echo "Architecture is aarch64, hence using qemu-aarch64-static"
36-
sudo apt-get -y install qemu-user-static
37-
sudo cp $(which qemu-aarch64-static) miniroot/usr/bin
36+
sudo cp "$(which qemu-aarch64-static)" miniroot/usr/bin
3837
sudo cp build.sh miniroot/build.sh && sudo chroot miniroot qemu-aarch64-static /bin/sh -ex /build.sh
3938
elif [ "$ARCHITECTURE" = "armhf" ] ; then
4039
echo "Architecture is armhf, hence using qemu-arm-static"
41-
sudo apt-get -y install qemu-user-static
42-
sudo cp $(which qemu-arm-static) miniroot/usr/bin
40+
sudo cp "$(which qemu-arm-static)" miniroot/usr/bin
4341
sudo cp build.sh miniroot/build.sh && sudo chroot miniroot qemu-arm-static /bin/sh -ex /build.sh
4442
else
4543
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
6058
if [ "$ARCHITECTURE" = "x86" ] ; then ARCHITECTURE=i686 ; fi
6159

6260
mkdir out/
63-
sudo find miniroot/ -type f -executable -name 'runtime-fuse3' -exec cp {} out/runtime-$ARCHITECTURE \;
61+
sudo find miniroot/ -type f -executable -name 'runtime-fuse3' -exec cp {} "out/runtime-${ARCHITECTURE}" \;
6462
sudo rm -rf miniroot/

0 commit comments

Comments
 (0)