From 81f658a34d1506205a846e421f19e1b18f2852e8 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Fri, 22 Nov 2024 21:17:00 +0100 Subject: [PATCH] Add support for .tar.gz packaging Make package_client.sh accept an archive format. --- .github/workflows/release.yml | 4 ++-- release/package_client.sh | 30 +++++++++++++++++++++++++----- release/release.sh | 4 ++-- 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 703bb777..54722c9f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -163,7 +163,7 @@ jobs: tar xf dist-tar/dist.tar.gz - name: Package win32 - run: release/package_client.sh win32 + run: release/package_client.sh win32 zip - name: Upload win32 release uses: actions/upload-artifact@v4 @@ -199,7 +199,7 @@ jobs: tar xf dist-tar/dist.tar.gz - name: Package win64 - run: release/package_client.sh win64 + run: release/package_client.sh win64 zip - name: Upload win64 release uses: actions/upload-artifact@v4 diff --git a/release/package_client.sh b/release/package_client.sh index f69b2332..c6d430b2 100755 --- a/release/package_client.sh +++ b/release/package_client.sh @@ -4,12 +4,20 @@ cd "$(dirname ${BASH_SOURCE[0]})" . build_common cd .. # root project dir -if [[ $# != 1 ]] +if [[ $# != 2 ]] then # : for example win64 - echo "Syntax: $0 " >&2 + # : zip or tar.gz + echo "Syntax: $0 " >&2 exit 1 +fi +FORMAT=$2 + +if [[ "$2" != zip && "$2" != tar.gz ]] +then + echo "Invalid format (expected zip or tar.gz): $2" >&2 + exit 1 fi BUILD_DIR="$WORK_DIR/build-$1" @@ -25,8 +33,20 @@ cp "$WORK_DIR/build-server/server/scrcpy-server" "$ARCHIVE_DIR/$TARGET/" mkdir -p "$OUTPUT_DIR" cd "$ARCHIVE_DIR" -rm -f "$OUTPUT_DIR/$TARGET.zip" -zip -r "$OUTPUT_DIR/$TARGET.zip" "$TARGET" +rm -f "$OUTPUT_DIR/$TARGET.$FORMAT" + +case "$FORMAT" in + zip) + zip -r "$OUTPUT_DIR/$TARGET.zip" "$TARGET" + ;; + tar.gz) + tar cvf "$OUTPUT_DIR/$TARGET.tar.gz" "$TARGET" + ;; + *) + echo "Invalid format (expected zip or tar.gz): $FORMAT" >&2 + exit 1 +esac + rm -rf "$TARGET" cd - -echo "Generated '$OUTPUT_DIR/$TARGET.zip'" +echo "Generated '$OUTPUT_DIR/$TARGET.$FORMAT'" diff --git a/release/release.sh b/release/release.sh index 0760089f..e07b51c0 100755 --- a/release/release.sh +++ b/release/release.sh @@ -14,8 +14,8 @@ rm -rf output ./build_windows.sh 64 ./package_server.sh -./package_client.sh win32 -./package_client.sh win64 +./package_client.sh win32 zip +./package_client.sh win64 zip ./generate_checksums.sh