diff --git a/packaging/functions.sh b/packaging/functions.sh index 8fb31b84e1..3c2e27c0a2 100755 --- a/packaging/functions.sh +++ b/packaging/functions.sh @@ -249,15 +249,15 @@ install_linux_shortcuts() ( # wrapper scripts install -d "${BUILD_PATH}/${BIN_PATH}" - sed 's/{DEBUG}/--debug/' "${SRC_PATH}/packaging/linux/openra.in" | sed "s|{GAME_INSTALL_DIR}|${OPENRA_PATH}|" | sed "s|{BIN_DIR}|${BIN_PATH}|" | sed "s/{MODID}/${MOD_ID}/g" | sed "s/{TAG}/${VERSION}/g" | sed "s/{MODNAME}/${MOD_NAME}/g" > "${SRC_PATH}/packaging/linux/openra-${MOD_ID}" - sed 's/{DEBUG}/--debug/' "${SRC_PATH}/packaging/linux/openra-server.in" | sed "s|{GAME_INSTALL_DIR}|${OPENRA_PATH}|" | sed "s/{MODID}/${MOD_ID}/g" > "${SRC_PATH}/packaging/linux/openra-${MOD_ID}-server" + sed -e 's/{DEBUG}/--debug/' -e "s|{GAME_INSTALL_DIR}|${OPENRA_PATH}|" -e "s|{BIN_DIR}|${BIN_PATH}|" -e "s/{MODID}/${MOD_ID}/g" -e "s/{TAG}/${VERSION}/g" -e "s/{MODNAME}/${MOD_NAME}/g" "${SRC_PATH}/packaging/linux/openra.in" > "${SRC_PATH}/packaging/linux/openra-${MOD_ID}" + sed -e 's/{DEBUG}/--debug/' -e "s|{GAME_INSTALL_DIR}|${OPENRA_PATH}|" -e "s/{MODID}/${MOD_ID}/g" "${SRC_PATH}/packaging/linux/openra-server.in" > "${SRC_PATH}/packaging/linux/openra-${MOD_ID}-server" install -m755 "${SRC_PATH}/packaging/linux/openra-${MOD_ID}" "${BUILD_PATH}/${BIN_PATH}" install -m755 "${SRC_PATH}/packaging/linux/openra-${MOD_ID}-server" "${BUILD_PATH}/${BIN_PATH}" rm "${SRC_PATH}/packaging/linux/openra-${MOD_ID}" "${SRC_PATH}/packaging/linux/openra-${MOD_ID}-server" # desktop files install -d "${BUILD_PATH}${SHARE_PATH}/applications" - sed "s/{MODID}/${MOD_ID}/g" "${SRC_PATH}/packaging/linux/openra.desktop.in" | sed "s/{MODNAME}/${MOD_NAME}/g" | sed "s/{TAG}/${VERSION}/g" > "${SRC_PATH}/packaging/linux/openra-${MOD_ID}.desktop" + sed -e "s/{MODID}/${MOD_ID}/g" -e "s/{MODNAME}/${MOD_NAME}/g" -e "s/{TAG}/${VERSION}/g" "${SRC_PATH}/packaging/linux/openra.desktop.in" > "${SRC_PATH}/packaging/linux/openra-${MOD_ID}.desktop" install -m644 "${SRC_PATH}/packaging/linux/openra-${MOD_ID}.desktop" "${BUILD_PATH}${SHARE_PATH}/applications" rm "${SRC_PATH}/packaging/linux/openra-${MOD_ID}.desktop" @@ -274,7 +274,7 @@ install_linux_shortcuts() ( # MIME info install -d "${BUILD_PATH}${SHARE_PATH}/mime/packages" - sed "s/{MODID}/${MOD_ID}/g" "${SRC_PATH}/packaging/linux/openra-mimeinfo.xml.in" | sed "s/{TAG}/${VERSION}/g" > "${SRC_PATH}/packaging/linux/openra-${MOD_ID}.xml" + sed -e "s/{MODID}/${MOD_ID}/g" -e "s/{TAG}/${VERSION}/g" "${SRC_PATH}/packaging/linux/openra-mimeinfo.xml.in" > "${SRC_PATH}/packaging/linux/openra-${MOD_ID}.xml" install -m644 "${SRC_PATH}/packaging/linux/openra-${MOD_ID}.xml" "${BUILD_PATH}${SHARE_PATH}/mime/packages/openra-${MOD_ID}.xml" rm "${SRC_PATH}/packaging/linux/openra-${MOD_ID}.xml" fi @@ -322,7 +322,7 @@ install_linux_appdata() ( install -d "${BUILD_PATH}${SHARE_PATH}/metainfo" - sed "s/{MODID}/${MOD_ID}/g" "${SRC_PATH}/packaging/linux/openra.metainfo.xml.in" | sed "s/{MOD_NAME}/${MOD_NAME}/g" | sed "s/{SCREENSHOT_RA}/${SCREENSHOT_RA}/g" | sed "s/{SCREENSHOT_CNC}/${SCREENSHOT_CNC}/g" | sed "s/{SCREENSHOT_D2K}/${SCREENSHOT_D2K}/g"> "${SRC_PATH}/packaging/linux/openra-${MOD_ID}.metainfo.xml" + sed -e "s/{MODID}/${MOD_ID}/g" -e "s/{MOD_NAME}/${MOD_NAME}/g" -e "s/{SCREENSHOT_RA}/${SCREENSHOT_RA}/g" -e "s/{SCREENSHOT_CNC}/${SCREENSHOT_CNC}/g" -e "s/{SCREENSHOT_D2K}/${SCREENSHOT_D2K}/g" "${SRC_PATH}/packaging/linux/openra.metainfo.xml.in" > "${SRC_PATH}/packaging/linux/openra-${MOD_ID}.metainfo.xml" install -m644 "${SRC_PATH}/packaging/linux/openra-${MOD_ID}.metainfo.xml" "${BUILD_PATH}${SHARE_PATH}/metainfo" rm "${SRC_PATH}/packaging/linux/openra-${MOD_ID}.metainfo.xml" diff --git a/packaging/linux/buildpackage.sh b/packaging/linux/buildpackage.sh index d19888e7e7..0eb4933431 100755 --- a/packaging/linux/buildpackage.sh +++ b/packaging/linux/buildpackage.sh @@ -1,7 +1,7 @@ #!/bin/bash # OpenRA packaging script for Linux (AppImage) -set -o errexit || exit $? +set -o errexit -o pipefail || exit $? command -v tar >/dev/null 2>&1 || { echo >&2 "Linux packaging requires tar."; exit 1; } command -v curl >/dev/null 2>&1 || command -v wget > /dev/null 2>&1 || { echo >&2 "Linux packaging requires curl or wget."; exit 1; } diff --git a/packaging/linux/openra.appimage.in b/packaging/linux/openra.appimage.in index bab1354412..0254030737 100755 --- a/packaging/linux/openra.appimage.in +++ b/packaging/linux/openra.appimage.in @@ -11,6 +11,7 @@ if [ -n "${APPIMAGE}" ]; then LAUNCHER=${APPIMAGE} APPIMAGEID=$(printf "file://%s" "${APPIMAGE}" | md5sum | cut -d' ' -f1) + test -n "${APPIMAGEID}" LAUNCHER_NAME="appimagekit_${APPIMAGEID}-openra-{MODID}.desktop" LAUNCHER_PATH="${HOME}/.local/share/applications/${LAUNCHER_NAME}" export SDL_VIDEO_X11_WMCLASS="openra-{MODID}-{TAG}" diff --git a/packaging/macos/buildpackage.sh b/packaging/macos/buildpackage.sh index 6800ea2097..768ba81c56 100755 --- a/packaging/macos/buildpackage.sh +++ b/packaging/macos/buildpackage.sh @@ -14,7 +14,7 @@ # MACOS_DEVELOPER_PASSWORD: App-specific password for the developer account # -set -o errexit || exit $? +set -o errexit -o pipefail || exit $? MONO_TAG="osx-launcher-20201222" @@ -189,8 +189,8 @@ build_platform() { for MOD in "Red Alert" "Tiberian Dawn"; do for f in $(find /Volumes/OpenRA/OpenRA\ -\ ${MOD}.app/Contents/MacOS/*); do g="/Volumes/OpenRA/OpenRA - Dune 2000.app/Contents/MacOS/"$(basename "${f}") - hashf=$(shasum "${f}" | awk '{ print $1 }') - hashg=$(shasum "${g}" | awk '{ print $1 }') + hashf=$(shasum "${f}" | awk '{ print $1 }') || : + hashg=$(shasum "${g}" | awk '{ print $1 }') || : if [ "${hashf}" = "${hashg}" ]; then echo "Deduplicating ${f}" rm "${f}" diff --git a/packaging/package-all.sh b/packaging/package-all.sh index 9ce2104256..4f57b00d9a 100755 --- a/packaging/package-all.sh +++ b/packaging/package-all.sh @@ -1,7 +1,7 @@ #!/bin/bash # OpenRA master packaging script -set -o errexit || exit $? +set -o errexit -o pipefail || exit $? if [ $# -ne "2" ]; then echo "Usage: ${0##*/} version outputdir." diff --git a/packaging/source/buildpackage.sh b/packaging/source/buildpackage.sh index 746e316333..6895c77cf6 100755 --- a/packaging/source/buildpackage.sh +++ b/packaging/source/buildpackage.sh @@ -1,7 +1,7 @@ #!/bin/bash # OpenRA packaging script for versioned source tarball -set -o errexit || exit $? +set -o errexit -o pipefail || exit $? if [ $# -ne "2" ]; then echo "Usage: $(basename "$0") tag outputdir" diff --git a/packaging/windows/buildpackage.sh b/packaging/windows/buildpackage.sh index 5d17e8ee73..90886c7af6 100755 --- a/packaging/windows/buildpackage.sh +++ b/packaging/windows/buildpackage.sh @@ -1,7 +1,7 @@ #!/bin/bash # OpenRA packaging script for Windows -set -o errexit || exit $? +set -o errexit -o pipefail || exit $? command -v curl >/dev/null 2>&1 || command -v wget > /dev/null 2>&1 || { echo >&2 "Windows packaging requires curl or wget."; exit 1; } command -v makensis >/dev/null 2>&1 || { echo >&2 "Windows packaging requires makensis."; exit 1; }