From 4f233f20e0f1cba5fdd283acda0defae11fcbe31 Mon Sep 17 00:00:00 2001 From: Juan Cruz Viotti Date: Thu, 1 Dec 2016 12:29:27 -0400 Subject: [PATCH] chore: move GNU/Linux zip generation to `installer-appimage` (#913) Currently, `installer-appimage` creates only the AppImage, and we rely on code outside the main task to package it up as a Zip. Since Zip is a required step for AppImage deployment (since the AppImage will lose its execution permissions if its moved around), we integrate Zip generation into the AppImage task itself. Signed-off-by: Juan Cruz Viotti --- scripts/build/linux.sh | 8 +------- scripts/linux/electron-installer-appimage.sh | 14 +++++++++++--- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/scripts/build/linux.sh b/scripts/build/linux.sh index 1c7f4d16..962459a4 100755 --- a/scripts/build/linux.sh +++ b/scripts/build/linux.sh @@ -168,13 +168,7 @@ if [ "$COMMAND" == "installer-appimage" ]; then -r $ARCH \ -b etcher \ -i assets/icon.png \ - -o etcher-release/$APPLICATION_NAME-linux-$ARCH.AppImage - - pushd etcher-release - zip $APPLICATION_NAME-$APPLICATION_VERSION-linux-$ARCH.zip $APPLICATION_NAME-linux-$ARCH.AppImage - mkdir -p installers - mv $APPLICATION_NAME-$APPLICATION_VERSION-linux-$ARCH.zip installers - popd + -o etcher-release/installers/$APPLICATION_NAME-$APPLICATION_VERSION-linux-$ARCH.zip exit 0 fi diff --git a/scripts/linux/electron-installer-appimage.sh b/scripts/linux/electron-installer-appimage.sh index 589edc8f..b8c45079 100755 --- a/scripts/linux/electron-installer-appimage.sh +++ b/scripts/linux/electron-installer-appimage.sh @@ -18,6 +18,7 @@ set -u set -e +set -x function check_dep() { if ! command -v $1 2>/dev/null 1>&2; then @@ -101,11 +102,11 @@ else exit 1 fi +OUTPUT_FILENAME="$ARGV_APPLICATION_NAME-linux-$ARGV_ARCHITECTURE.AppImage" + # Create AppDir -OUTPUT_FILENAME="$(basename "$ARGV_OUTPUT")" APPDIR_PATH=/tmp/${OUTPUT_FILENAME%.*}.AppDir APPDIR_ICON_FILENAME=icon -mkdir -p "$(dirname "$ARGV_OUTPUT")" rm -rf "$APPDIR_PATH" mkdir -p "$APPDIR_PATH/usr/bin" download_executable \ @@ -143,6 +144,7 @@ else fi # Generate AppImage +mkdir -p "$(dirname "$ARGV_OUTPUT")" rm -f "$ARGV_OUTPUT" APPIMAGEASSISTANT_PATH=/tmp/AppImageAssistant.AppImage @@ -150,5 +152,11 @@ download_executable \ "$APPIMAGES_GITHUB_RELEASE_BASE_URL/AppImageAssistant_$APPIMAGES_TAG-$APPIMAGES_ARCHITECTURE.AppImage" \ $APPIMAGEASSISTANT_PATH -$APPIMAGEASSISTANT_PATH "$APPDIR_PATH" "$ARGV_OUTPUT" +$APPIMAGEASSISTANT_PATH "$APPDIR_PATH" "$(dirname "$ARGV_OUTPUT")/$OUTPUT_FILENAME" rm -rf "$APPDIR_PATH" + +# Package AppImage inside a Zip to preserve the execution permissions +pushd "$(dirname "$ARGV_OUTPUT")" +zip "$(basename "$ARGV_OUTPUT")" "$OUTPUT_FILENAME" +rm -f "$OUTPUT_FILENAME" +popd