From a7ac28b717f8a64d4115575ef870f7a80dd91481 Mon Sep 17 00:00:00 2001 From: Juan Cruz Viotti Date: Fri, 23 Jun 2017 20:10:51 -0400 Subject: [PATCH] chore: make use of electron-builder to build GNU/Linux packages (#1520) Change-Type: patch Signed-off-by: Juan Cruz Viotti --- Makefile | 183 ++++++------------ docs/PUBLISHING.md | 6 - lib/gui/models/store.js | 10 +- package.json | 57 ++++++ scripts/build/architecture-convert.sh | 6 + scripts/build/debian/config.json | 52 ----- scripts/build/docker/Dockerfile-i686 | 8 +- scripts/build/docker/Dockerfile-x86_64 | 8 +- scripts/build/docker/Dockerfile.template | 9 +- .../build/electron-configure-package-linux.sh | 84 -------- scripts/build/electron-create-appdir.sh | 109 ----------- .../build/electron-create-appimage-linux.sh | 85 -------- scripts/build/electron-create-asar.sh | 55 ------ .../build/electron-create-resources-app.sh | 64 ------ scripts/build/electron-download-package.sh | 68 ------- .../build/electron-installer-debian-linux.sh | 74 ------- .../build/electron-installer-redhat-linux.sh | 74 ------- scripts/build/jq-insert.sh | 60 ------ scripts/build/redhat/config.json | 15 -- 19 files changed, 150 insertions(+), 877 deletions(-) delete mode 100644 scripts/build/debian/config.json delete mode 100755 scripts/build/electron-configure-package-linux.sh delete mode 100755 scripts/build/electron-create-appdir.sh delete mode 100755 scripts/build/electron-create-appimage-linux.sh delete mode 100755 scripts/build/electron-create-asar.sh delete mode 100755 scripts/build/electron-create-resources-app.sh delete mode 100755 scripts/build/electron-download-package.sh delete mode 100755 scripts/build/electron-installer-debian-linux.sh delete mode 100755 scripts/build/electron-installer-redhat-linux.sh delete mode 100755 scripts/build/jq-insert.sh delete mode 100644 scripts/build/redhat/config.json diff --git a/Makefile b/Makefile index d99e6b6a..08fd93ea 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,10 @@ COMPANY_NAME = Resinio Ltd APPLICATION_NAME = $(shell jq -r '.build.productName' package.json) APPLICATION_DESCRIPTION = $(shell jq -r '.description' package.json) APPLICATION_COPYRIGHT = $(shell jq -r '.build.copyright' package.json) -APPLICATION_FILES = lib,assets + +# --------------------------------------------------------------------- +# Release type +# --------------------------------------------------------------------- # Add the current commit to the version if release type is "snapshot" RELEASE_TYPE ?= snapshot @@ -141,6 +144,17 @@ endif ELECTRON_BUILDER_OPTIONS = --$(TARGET_ARCH_ELECTRON_BUILDER) --extraMetadata.version=$(APPLICATION_VERSION) +# --------------------------------------------------------------------- +# Updates +# --------------------------------------------------------------------- + +DISABLE_UPDATES_ELECTRON_BUILDER_OPTIONS = --extraMetadata.analytics.updates.enabled=false + +ifdef DISABLE_UPDATES +$(warning Update notification dialog has been disabled (DISABLE_UPDATES is set)) +ELECTRON_BUILDER_OPTIONS += $(DISABLE_UPDATES_ELECTRON_BUILDER_OPTIONS) +endif + # --------------------------------------------------------------------- # Analytics # --------------------------------------------------------------------- @@ -157,21 +171,14 @@ else ELECTRON_BUILDER_OPTIONS += --extraMetadata.analytics.mixpanel.token=$(ANALYTICS_MIXPANEL_TOKEN) endif -# --------------------------------------------------------------------- -# Updates -# --------------------------------------------------------------------- - -ifdef DISABLE_UPDATES -$(warning Update notification dialog has been disabled (DISABLE_UPDATES is set)) -ELECTRON_BUILDER_OPTIONS += --extraMetadata.updates.enabled=false -endif - # --------------------------------------------------------------------- # Extra variables # --------------------------------------------------------------------- TARGET_ARCH_DEBIAN = $(shell ./scripts/build/architecture-convert.sh -r $(TARGET_ARCH) -t debian) TARGET_ARCH_REDHAT = $(shell ./scripts/build/architecture-convert.sh -r $(TARGET_ARCH) -t redhat) +TARGET_ARCH_APPIMAGE = $(shell ./scripts/build/architecture-convert.sh -r $(TARGET_ARCH) -t appimage) +TARGET_ARCH_ELECTRON_BUILDER = $(shell ./scripts/build/architecture-convert.sh -r $(TARGET_ARCH) -t electron-builder) PRODUCT_NAME = etcher APPLICATION_NAME_LOWERCASE = $(shell echo $(APPLICATION_NAME) | tr A-Z a-z) @@ -181,8 +188,6 @@ APPLICATION_VERSION_REDHAT = $(shell echo $(APPLICATION_VERSION) | tr "-" "~") # Fix hard link Appveyor issues CPRF = cp -RLf -TARGET_ARCH_ELECTRON_BUILDER = $(shell ./scripts/build/architecture-convert.sh -r $(TARGET_ARCH) -t electron-builder) - # --------------------------------------------------------------------- # Rules # --------------------------------------------------------------------- @@ -206,15 +211,9 @@ $(BUILD_TEMPORARY_DIRECTORY): | $(BUILD_DIRECTORY) $(BUILD_OUTPUT_DIRECTORY): | $(BUILD_DIRECTORY) mkdir $@ -$(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(TARGET_ARCH)-dependencies: package.json npm-shrinkwrap.json \ - | $(BUILD_DIRECTORY) - mkdir $@ - ./scripts/build/dependencies-npm.sh -p \ - -r "$(TARGET_ARCH)" \ - -v "$(ELECTRON_VERSION)" \ - -x $@ \ - -t electron \ - -s "$(TARGET_PLATFORM)" +# --------------------------------------------------------------------- +# CLI +# --------------------------------------------------------------------- $(BUILD_DIRECTORY)/node-$(TARGET_PLATFORM)-$(TARGET_ARCH)-dependencies: package.json npm-shrinkwrap.json \ | $(BUILD_DIRECTORY) @@ -227,51 +226,6 @@ $(BUILD_DIRECTORY)/node-$(TARGET_PLATFORM)-$(TARGET_ARCH)-dependencies: package. -s "$(TARGET_PLATFORM)" git apply --directory $@/node_modules/lzma-native patches/cli/lzma-native-index-static-addon-require.patch -$(BUILD_DIRECTORY)/electron-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH)-app: \ - $(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(TARGET_ARCH)-dependencies \ - | $(BUILD_DIRECTORY) $(BUILD_TEMPORARY_DIRECTORY) - ./scripts/build/electron-create-resources-app.sh -s . -o $@ \ - -v $(APPLICATION_VERSION) \ - -f "$(APPLICATION_FILES)" - $(CPRF) $&2 - exit 1 -fi - -./scripts/build/check-dependency.sh unzip - -function usage() { - echo "Usage: $0" - echo "" - echo "Options" - echo "" - echo " -p " - echo " -n " - echo " -v " - echo " -l " - echo " -a " - echo " -o " - exit 1 -} - -ARGV_ELECTRON_PACKAGE="" -ARGV_APPLICATION_NAME="" -ARGV_VERSION="" -ARGV_LICENSE="" -ARGV_ASAR="" -ARGV_OUTPUT="" - -while getopts ":p:n:v:l:a:o:" option; do - case $option in - p) ARGV_ELECTRON_PACKAGE="$OPTARG" ;; - n) ARGV_APPLICATION_NAME="$OPTARG" ;; - v) ARGV_VERSION="$OPTARG" ;; - l) ARGV_LICENSE="$OPTARG" ;; - a) ARGV_ASAR="$OPTARG" ;; - o) ARGV_OUTPUT="$OPTARG" ;; - *) usage ;; - esac -done - -if [ -z "$ARGV_ELECTRON_PACKAGE" ] \ - || [ -z "$ARGV_APPLICATION_NAME" ] \ - || [ -z "$ARGV_VERSION" ] \ - || [ -z "$ARGV_LICENSE" ] \ - || [ -z "$ARGV_ASAR" ] \ - || [ -z "$ARGV_OUTPUT" ] -then - usage -fi - -unzip "$ARGV_ELECTRON_PACKAGE" -d "$ARGV_OUTPUT" - -mv $ARGV_OUTPUT/electron $ARGV_OUTPUT/$(echo "$ARGV_APPLICATION_NAME" | tr '[:upper:]' '[:lower:]') -cp $ARGV_LICENSE $ARGV_OUTPUT/LICENSE -echo "$ARGV_VERSION" > $ARGV_OUTPUT/version -rm $ARGV_OUTPUT/resources/default_app.asar - -cp "$ARGV_ASAR" "$ARGV_OUTPUT/resources/app.asar" - -if [ -d "$ARGV_ASAR.unpacked" ]; then - cp -rf "$ARGV_ASAR.unpacked" "$ARGV_OUTPUT/resources/app.asar.unpacked" -fi diff --git a/scripts/build/electron-create-appdir.sh b/scripts/build/electron-create-appdir.sh deleted file mode 100755 index bb4e210f..00000000 --- a/scripts/build/electron-create-appdir.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/bin/bash - -### -# Copyright 2016 resin.io -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -### - -set -u -set -e - -function usage() { - echo "Usage: $0" - echo "" - echo "Options" - echo "" - echo " -n " - echo " -d " - echo " -p " - echo " -r " - echo " -b " - echo " -i " - echo " -o " - exit 1 -} - -ARGV_APPLICATION_NAME="" -ARGV_DESCRIPTION="" -ARGV_PACKAGE="" -ARGV_ARCHITECTURE="" -ARGV_BINARY="" -ARGV_ICON="" -ARGV_OUTPUT="" - -while getopts ":n:d:p:r:b:i:o:" option; do - case $option in - n) ARGV_APPLICATION_NAME="$OPTARG" ;; - d) ARGV_DESCRIPTION="$OPTARG" ;; - p) ARGV_PACKAGE="$OPTARG" ;; - r) ARGV_ARCHITECTURE="$OPTARG" ;; - b) ARGV_BINARY="$OPTARG" ;; - i) ARGV_ICON="$OPTARG" ;; - o) ARGV_OUTPUT="$OPTARG" ;; - *) usage ;; - esac -done - -if [ -z "$ARGV_APPLICATION_NAME" ] \ - || [ -z "$ARGV_DESCRIPTION" ] \ - || [ -z "$ARGV_PACKAGE" ] \ - || [ -z "$ARGV_ARCHITECTURE" ] \ - || [ -z "$ARGV_BINARY" ] \ - || [ -z "$ARGV_ICON" ] \ - || [ -z "$ARGV_OUTPUT" ] -then - usage -fi - -# Create AppDir -mkdir -p "$ARGV_OUTPUT" -APPDIR_ICON_FILENAME=icon - -cat >"$ARGV_OUTPUT/$ARGV_APPLICATION_NAME.desktop" <&2 - exit 1 -fi - -./scripts/build/download-tool.sh -x \ - -u "$APPIMAGES_GITHUB_RELEASE_BASE_URL/AppRun_$APPIMAGES_TAG-$APPIMAGES_ARCHITECTURE" \ - -c "$APPRUN_CHECKSUM" \ - -o "$ARGV_OUTPUT/AppRun" diff --git a/scripts/build/electron-create-appimage-linux.sh b/scripts/build/electron-create-appimage-linux.sh deleted file mode 100755 index 01eccd3a..00000000 --- a/scripts/build/electron-create-appimage-linux.sh +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/bash - -### -# Copyright 2016 resin.io -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -### - -set -u -set -e - -OS=$(uname) -if [[ "$OS" != "Linux" ]]; then - echo "This script is only meant to be run in GNU/Linux" 1>&2 - exit 1 -fi - -function usage() { - echo "Usage: $0" - echo "" - echo "Options" - echo "" - echo " -d " - echo " -r " - echo " -w " - echo " -o " - exit 1 -} - -ARGV_APPDIR="" -ARGV_ARCHITECTURE="" -ARGV_DOWNLOAD_DIRECTORY="" -ARGV_OUTPUT="" - -while getopts ":d:r:w:o:" option; do - case $option in - d) ARGV_APPDIR="$OPTARG" ;; - r) ARGV_ARCHITECTURE="$OPTARG" ;; - w) ARGV_DOWNLOAD_DIRECTORY="$OPTARG" ;; - o) ARGV_OUTPUT="$OPTARG" ;; - *) usage ;; - esac -done - -if [ -z "$ARGV_APPDIR" ] \ - || [ -z "$ARGV_ARCHITECTURE" ] \ - || [ -z "$ARGV_DOWNLOAD_DIRECTORY" ] \ - || [ -z "$ARGV_OUTPUT" ] -then - usage -fi - -if [ "$ARGV_ARCHITECTURE" == "x64" ]; then - APPIMAGES_ARCHITECTURE="x86_64" - APPIMAGEASSISTANT_CHECKSUM=e792fa6ba1dd81de6438844fde39aa12d6b6d15238154ec46baf01da1c92d59f -elif [ "$ARGV_ARCHITECTURE" == "x86" ]; then - APPIMAGES_ARCHITECTURE="i686" - APPIMAGEASSISTANT_CHECKSUM=0faade0c009e703c221650e414f3b4ea8d03abbd8b9f1f065aef46156ee15dd0 -else - echo "Invalid architecture: $ARGV_ARCHITECTURE" 1>&2 - exit 1 -fi - -APPIMAGES_TAG=6 -APPIMAGES_GITHUB_RELEASE_BASE_URL=https://github.com/probonopd/AppImageKit/releases/download/$APPIMAGES_TAG -APPIMAGEASSISTANT_PATH=$ARGV_DOWNLOAD_DIRECTORY/AppImageAssistant-$ARGV_ARCHITECTURE.AppImage -mkdir -p "$ARGV_DOWNLOAD_DIRECTORY" -./scripts/build/download-tool.sh -x \ - -u "$APPIMAGES_GITHUB_RELEASE_BASE_URL/AppImageAssistant_$APPIMAGES_TAG-$APPIMAGES_ARCHITECTURE.AppImage" \ - -c "$APPIMAGEASSISTANT_CHECKSUM" \ - -o "$APPIMAGEASSISTANT_PATH" - -# Generate AppImage -mkdir -p "$(dirname "$ARGV_OUTPUT")" -$APPIMAGEASSISTANT_PATH "$ARGV_APPDIR" "$ARGV_OUTPUT" diff --git a/scripts/build/electron-create-asar.sh b/scripts/build/electron-create-asar.sh deleted file mode 100755 index 9639b5f3..00000000 --- a/scripts/build/electron-create-asar.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash - -### -# Copyright 2016 resin.io -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -### - -set -u -set -e - -ASAR="./node_modules/.bin/asar" - -./scripts/build/check-dependency.sh "$ASAR" - -function usage() { - echo "Usage: $0" - echo "" - echo "Options" - echo "" - echo " -d " - echo " -o " - exit 1 -} - -ARGV_DIRECTORY="" -ARGV_OUTPUT="" - -while getopts ":d:o:" option; do - case $option in - d) ARGV_DIRECTORY=$OPTARG ;; - o) ARGV_OUTPUT=$OPTARG ;; - *) usage ;; - esac -done - -if [ -z "$ARGV_DIRECTORY" ] || [ -z "$ARGV_OUTPUT" ]; then - usage -fi - -# Omit `*.dll` and `*.node` files from the -# asar package, otherwise `process.dlopen` and -# `module.require` can't load them correctly. -"$ASAR" pack "$ARGV_DIRECTORY" "$ARGV_OUTPUT" \ - --unpack "{*.dll,*.node}" diff --git a/scripts/build/electron-create-resources-app.sh b/scripts/build/electron-create-resources-app.sh deleted file mode 100755 index a736c8b2..00000000 --- a/scripts/build/electron-create-resources-app.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash - -### -# Copyright 2016 resin.io -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -### - -set -u -set -e - -./scripts/build/check-dependency.sh jq - -function usage() { - echo "Usage: $0" - echo "" - echo "Options" - echo "" - echo " -s " - echo " -v " - echo " -f " - echo " -o " - exit 1 -} - -ARGV_SOURCE_DIRECTORY="" -ARGV_APPLICATION_VERSION="" -ARGV_FILES="" -ARGV_OUTPUT="" - -while getopts ":s:v:f:o:" option; do - case $option in - s) ARGV_SOURCE_DIRECTORY=$OPTARG ;; - v) ARGV_APPLICATION_VERSION=$OPTARG ;; - f) ARGV_FILES=$OPTARG ;; - o) ARGV_OUTPUT=$OPTARG ;; - *) usage ;; - esac -done - -if [ -z "$ARGV_SOURCE_DIRECTORY" ] || - [ -z "$ARGV_APPLICATION_VERSION" ] || \ - [ -z "$ARGV_FILES" ] || \ - [ -z "$ARGV_OUTPUT" ]; then - usage -fi - -mkdir -p "$ARGV_OUTPUT" - -jq ".version = \"$ARGV_APPLICATION_VERSION\"" "$ARGV_SOURCE_DIRECTORY/package.json" > "$ARGV_OUTPUT/package.json" - -for file in $(echo "$ARGV_FILES" | sed "s/,/ /g"); do - cp -rf "$file" "$ARGV_OUTPUT" -done diff --git a/scripts/build/electron-download-package.sh b/scripts/build/electron-download-package.sh deleted file mode 100755 index 2923399e..00000000 --- a/scripts/build/electron-download-package.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash - -### -# Copyright 2016 resin.io -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -### - -set -u -set -e - -./scripts/build/check-dependency.sh curl - -function usage() { - echo "Usage: $0" - echo "" - echo "Options" - echo "" - echo " -r " - echo " -v " - echo " -s " - echo " -o " - exit 1 -} - -ARGV_ARCHITECTURE="" -ARGV_ELECTRON_VERSION="" -ARGV_OPERATING_SYSTEM="" -ARGV_OUTPUT="" - -while getopts ":r:v:s:o:" option; do - case $option in - r) ARGV_ARCHITECTURE=$OPTARG ;; - v) ARGV_ELECTRON_VERSION=$OPTARG ;; - s) ARGV_OPERATING_SYSTEM=$OPTARG ;; - o) ARGV_OUTPUT=$OPTARG ;; - *) usage ;; - esac -done - -if [ -z "$ARGV_ARCHITECTURE" ] \ - || [ -z "$ARGV_ELECTRON_VERSION" ] \ - || [ -z "$ARGV_OPERATING_SYSTEM" ] \ - || [ -z "$ARGV_OUTPUT" ] -then - usage -fi - -ELECTRON_ARCHITECTURE=$(./scripts/build/architecture-convert.sh -r "$ARGV_ARCHITECTURE" -t node) -ELECTRON_GITHUB_REPOSITORY=https://github.com/electron/electron -ELECTRON_DOWNLOADS_BASEURL="$ELECTRON_GITHUB_REPOSITORY/releases/download/v$ARGV_ELECTRON_VERSION" -ELECTRON_FILENAME="electron-v$ARGV_ELECTRON_VERSION-$ARGV_OPERATING_SYSTEM-$ELECTRON_ARCHITECTURE.zip" -ELECTRON_CHECKSUM=$(curl --location "$ELECTRON_DOWNLOADS_BASEURL/SHASUMS256.txt" | grep "$ELECTRON_FILENAME" | cut -d ' ' -f 1) - -./scripts/build/download-tool.sh \ - -u "$ELECTRON_DOWNLOADS_BASEURL/$ELECTRON_FILENAME" \ - -c "$ELECTRON_CHECKSUM" \ - -o "$ARGV_OUTPUT" diff --git a/scripts/build/electron-installer-debian-linux.sh b/scripts/build/electron-installer-debian-linux.sh deleted file mode 100755 index dabc6a63..00000000 --- a/scripts/build/electron-installer-debian-linux.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash - -### -# Copyright 2016 resin.io -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -### - -set -u -set -e - -OS=$(uname) -if [[ "$OS" != "Linux" ]]; then - echo "This script is only meant to be run in GNU/Linux" 1>&2 - exit 1 -fi - -./scripts/build/check-dependency.sh electron-installer-debian -# electron-installer-debian is documented as requiring the fakeroot and dpkg commands -./scripts/build/check-dependency.sh fakeroot -./scripts/build/check-dependency.sh dpkg - -function usage() { - echo "Usage: $0" - echo "" - echo "Options" - echo "" - echo " -p " - echo " -r " - echo " -c " - echo " -o " - exit 1 -} - -ARGV_DIRECTORY="" -ARGV_ARCHITECTURE="" -ARGV_DEBIAN_CONFIGURATION="" -ARGV_OUTPUT="" - -while getopts ":p:r:c:o:" option; do - case $option in - p) ARGV_DIRECTORY="$OPTARG" ;; - r) ARGV_ARCHITECTURE="$OPTARG" ;; - c) ARGV_DEBIAN_CONFIGURATION="$OPTARG" ;; - o) ARGV_OUTPUT="$OPTARG" ;; - *) usage ;; - esac -done - -if [ -z "$ARGV_DIRECTORY" ] \ - || [ -z "$ARGV_ARCHITECTURE" ] \ - || [ -z "$ARGV_DEBIAN_CONFIGURATION" ] \ - || [ -z "$ARGV_OUTPUT" ] -then - usage -fi - -DEBIAN_ARCHITECTURE=$(./scripts/build/architecture-convert.sh -r "$ARGV_ARCHITECTURE" -t debian) - -electron-installer-debian \ - --src "$ARGV_DIRECTORY" \ - --dest "$ARGV_OUTPUT" \ - --config "$ARGV_DEBIAN_CONFIGURATION" \ - --arch "$DEBIAN_ARCHITECTURE" diff --git a/scripts/build/electron-installer-redhat-linux.sh b/scripts/build/electron-installer-redhat-linux.sh deleted file mode 100755 index 0448722d..00000000 --- a/scripts/build/electron-installer-redhat-linux.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash - -### -# Copyright 2017 resin.io -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -### - -set -u -set -e - -OS=$(uname) -if [[ "$OS" != "Linux" ]]; then - echo "This script is only meant to be run in GNU/Linux" 1>&2 - exit 1 -fi - -./scripts/build/check-dependency.sh electron-installer-redhat - -# electron-installer-redhat is documented as requiring the rpmbuild commands -./scripts/build/check-dependency.sh rpmbuild - -function usage() { - echo "Usage: $0" - echo "" - echo "Options" - echo "" - echo " -p " - echo " -r " - echo " -c " - echo " -o " - exit 1 -} - -ARGV_DIRECTORY="" -ARGV_ARCHITECTURE="" -ARGV_REDHAT_CONFIGURATION="" -ARGV_OUTPUT="" - -while getopts ":p:r:c:o:" option; do - case $option in - p) ARGV_DIRECTORY="$OPTARG" ;; - r) ARGV_ARCHITECTURE="$OPTARG" ;; - c) ARGV_REDHAT_CONFIGURATION="$OPTARG" ;; - o) ARGV_OUTPUT="$OPTARG" ;; - *) usage ;; - esac -done - -if [ -z "$ARGV_DIRECTORY" ] \ - || [ -z "$ARGV_ARCHITECTURE" ] \ - || [ -z "$ARGV_REDHAT_CONFIGURATION" ] \ - || [ -z "$ARGV_OUTPUT" ] -then - usage -fi - -REDHAT_ARCHITECTURE=$(./scripts/build/architecture-convert.sh -r "$ARGV_ARCHITECTURE" -t redhat) - -electron-installer-redhat \ - --src "$ARGV_DIRECTORY" \ - --dest "$ARGV_OUTPUT" \ - --config "$ARGV_REDHAT_CONFIGURATION" \ - --arch "$REDHAT_ARCHITECTURE" diff --git a/scripts/build/jq-insert.sh b/scripts/build/jq-insert.sh deleted file mode 100755 index 9847f54b..00000000 --- a/scripts/build/jq-insert.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash - -### -# Copyright 2016 resin.io -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -### - -set -u -set -e - -./scripts/build/check-dependency.sh jq - -function usage() { - echo "Usage: $0" - echo "" - echo "Options" - echo "" - echo " -p " - echo " -v " - echo " -f " - echo " -t " - exit 1 -} - -ARGV_PROPERTY="" -ARGV_VALUE="" -ARGV_FILE="" -ARGV_TEMPORARY_DIRECTORY="" - -while getopts ":p:v:f:t:" option; do - case $option in - p) ARGV_PROPERTY=$OPTARG ;; - v) ARGV_VALUE=$OPTARG ;; - f) ARGV_FILE=$OPTARG ;; - t) ARGV_TEMPORARY_DIRECTORY="$OPTARG" ;; - *) usage ;; - esac -done - -if [ -z "$ARGV_PROPERTY" ] || - [ -z "$ARGV_VALUE" ] || - [ -z "$ARGV_FILE" ] || - [ -z "$ARGV_TEMPORARY_DIRECTORY" ]; then - usage -fi - -TEMPORARY_FILE="$ARGV_TEMPORARY_DIRECTORY/$(basename "$ARGV_FILE").TMP" -cat "$ARGV_FILE" | jq ".$ARGV_PROPERTY=$ARGV_VALUE" > "$TEMPORARY_FILE" -mv "$TEMPORARY_FILE" "$ARGV_FILE" diff --git a/scripts/build/redhat/config.json b/scripts/build/redhat/config.json deleted file mode 100644 index b8319f0c..00000000 --- a/scripts/build/redhat/config.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "etcher-electron", - "productName": "Etcher", - "genericName": "Etcher", - "homepage": "https://etcher.io/", - "icon": "assets/icon.png", - "bin": "etcher", - "categories": [ - "Utility" - ], - "requires": [ - "lsb", - "libXScrnSaver" - ] -}