ci: Fix shasum wrapper to properly handle -a 256 arguments

- The AppImage build script uses 'shasum -a 256' but sha256sum doesn't accept -a flag
- Updated wrapper to detect and strip -a 256 arguments before calling sha256sum
- Added comprehensive testing of shasum compatibility in CI output
- This should resolve the 'sha256sum: invalid option -- a' error
- AppImage checksum verification should now work correctly
This commit is contained in:
Zephyron
2025-09-19 13:27:47 +10:00
parent 4dd792f761
commit e973f75af9

View File

@@ -41,7 +41,13 @@ build-linux:
- pacman -S --noconfirm fuse2 gdb
# Create shasum compatibility wrapper for AppImage build
- echo '#!/bin/bash' > /usr/local/bin/shasum
- echo 'sha256sum "$@"' >> /usr/local/bin/shasum
- echo '# Wrapper to make sha256sum compatible with shasum -a 256 syntax' >> /usr/local/bin/shasum
- echo 'if [ "$1" = "-a" ] && [ "$2" = "256" ]; then' >> /usr/local/bin/shasum
- echo ' shift 2 # Remove -a 256 arguments' >> /usr/local/bin/shasum
- echo ' sha256sum "$@"' >> /usr/local/bin/shasum
- echo 'else' >> /usr/local/bin/shasum
- echo ' sha256sum "$@"' >> /usr/local/bin/shasum
- echo 'fi' >> /usr/local/bin/shasum
- chmod +x /usr/local/bin/shasum
script:
- git submodule update --init --recursive
@@ -60,8 +66,10 @@ build-linux:
- export ARCH=x86_64
- export VERSION=$(git describe --tags --always)
- echo "Testing shasum compatibility..."
- shasum --version || echo "shasum not working"
- which shasum || echo "shasum not found in PATH"
- echo "Testing shasum -a 256 syntax..."
- echo "test" | shasum -a 256 || echo "shasum -a 256 failed"
- echo "test" | sha256sum || echo "sha256sum failed"
- echo "Running AppImage build..."
- ./AppImage-build-local.sh || echo "AppImage build failed, continuing..."
- ls -la *.AppImage || echo "No AppImage files found"