#!/usr/bin/env bash declare OPK_DESKTOP_NAME declare OPK_DESKTOP_EXEC declare -a OPK_EXTRA_FILES package_opk() { local ext if [[ $TARGET == rg350 ]] || [[ $TARGET == gkd350h ]]; then ext=gcw0 else ext="$TARGET" fi local -r tmp="${BUILD_DIR}/opk" set -x rm -rf "$tmp" mkdir -p "$tmp" cp "Packaging/OpenDingux/${TARGET}.desktop" "${tmp}/default.${ext}.desktop" cp "Packaging/OpenDingux/${TARGET}-manual.txt" "${tmp}/readme.${ext}.txt" if [[ -v OPK_DESKTOP_NAME ]]; then sed -i "s/Name=.*/Name=${OPK_DESKTOP_NAME}/" "${tmp}/default.${ext}.desktop" fi if [[ -v OPK_DESKTOP_EXEC ]]; then sed -i "s/Exec=.*/Exec=${OPK_DESKTOP_EXEC}/" "${tmp}/default.${ext}.desktop" fi mksquashfs "${BUILD_DIR}/devilutionx" \ "${tmp}/default.${ext}.desktop" \ "${tmp}/readme.${ext}.txt" Packaging/resources/icon_32.png \ "${BUILD_DIR}/assets/" \ "${OPK_EXTRA_FILES[@]}" \ "${BUILD_DIR}/devilutionx-${TARGET}.opk" \ -all-root -no-xattrs -noappend -no-exports -no-progress } if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then set -euo pipefail cd "$(dirname "${BASH_SOURCE[0]}")/../.." source Packaging/OpenDingux/targets.sh usage() { echo "Usage: package-opk.sh [target]" usage_target } if ! check_target "$@"; then usage exit 64 fi declare -r TARGET="$1" declare -r BUILD_DIR="build-${TARGET}" package_opk fi