diff --git a/.github/workflows/build-all.yaml b/.github/workflows/build-all.yaml index a5d0090fb..9e2544080 100644 --- a/.github/workflows/build-all.yaml +++ b/.github/workflows/build-all.yaml @@ -96,7 +96,7 @@ jobs: with: name: oolite-linux-${{matrix.flavour}} path: | - oolite/build/Oolite_*.AppImage + oolite/build/oolite*.AppImage retention-days: 5 build-flatpak: @@ -341,7 +341,7 @@ jobs: echo "OOLITE_VERSION=${OOLITE_VERSION}" >> "$GITHUB_OUTPUT" - name: Remove old prereleases - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/master' || endsWith(github.ref, 'maintenance') uses: s00d/delete-older-releases@0.2.1 with: keep_latest: 7 @@ -352,7 +352,7 @@ jobs: # For changes on master branch, create a new release. # It should move the 'latest' tag automatically. - name: Create Release - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/master' || endsWith(github.ref, 'maintenance') id: create_release uses: "marvinpinto/action-automatic-releases@latest" with: @@ -372,7 +372,7 @@ jobs: artifacts/oolite-flatpak/*.flatpak - name: Remove old workflow runs - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/master' || endsWith(github.ref, 'maintenance') uses: Mattraks/delete-workflow-runs@v2 with: token: ${{ github.token }} @@ -386,7 +386,7 @@ jobs: url: ${{ steps.deployment.outputs.page_url }} needs: build-doxygen runs-on: ubuntu-22.04 - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/master' || endsWith(github.ref, 'maintenance') # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: diff --git a/.github/workflows/test_builds.yaml b/.github/workflows/test_builds.yaml index 7f5634683..34d7bedc3 100644 --- a/.github/workflows/test_builds.yaml +++ b/.github/workflows/test_builds.yaml @@ -38,10 +38,10 @@ jobs: run: | dnf -y update dnf -y install git - - uses: actions/checkout@v6 - with: - fetch-depth: 0 - submodules: true + - name: Checkout Oolite + run: | + git config --global --add safe.directory "$GITHUB_WORKSPACE" + git clone --recursive https://github.com/${{ github.repository }} . - name: Checkout dependencies run: | ShellScripts/Linux/checkout_deps.sh @@ -65,10 +65,10 @@ jobs: run: | pacman -Syu --noconfirm pacman -S --noconfirm --needed git - - uses: actions/checkout@v6 - with: - fetch-depth: 0 - submodules: true + - name: Checkout Oolite + run: | + git config --global --add safe.directory "$GITHUB_WORKSPACE" + git clone --recursive https://github.com/${{ github.repository }} . - name: Checkout dependencies run: | ShellScripts/Linux/checkout_deps.sh diff --git a/ShellScripts/Linux/checkout_deps_fn.sh b/ShellScripts/Linux/checkout_deps_fn.sh index d2e3b0a8b..6340041dc 100755 --- a/ShellScripts/Linux/checkout_deps_fn.sh +++ b/ShellScripts/Linux/checkout_deps_fn.sh @@ -11,5 +11,6 @@ checkout_deps() { git clone --filter=blob:none https://github.com/gnustep/libobjc2.git git clone --filter=blob:none https://github.com/gnustep/tools-make.git git clone --filter=blob:none https://github.com/gnustep/libs-base.git + popd } diff --git a/ShellScripts/Linux/install_deps_root.sh b/ShellScripts/Linux/install_deps_root.sh index 80ce78d7b..5c2d16a03 100755 --- a/ShellScripts/Linux/install_deps_root.sh +++ b/ShellScripts/Linux/install_deps_root.sh @@ -78,10 +78,7 @@ run_script() { return 1 fi # For building AppImage - if ! install_package file; then - return 1 - fi - if ! install_package fuse; then + if ! install_package appimage; then return 1 fi # For building Flatpak @@ -116,7 +113,6 @@ run_script() { cd tools-make make clean - # Bash if [[ ${CURRENT_DISTRO,,} == "redhat" ]]; then LIB_PARAM="--with-libdir=lib64" else diff --git a/ShellScripts/Linux/install_freedesktop_fn.sh b/ShellScripts/Linux/install_freedesktop_fn.sh new file mode 100755 index 000000000..26ec37f00 --- /dev/null +++ b/ShellScripts/Linux/install_freedesktop_fn.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +install_freedesktop() { + # Install metainfo (eg. for FlatHub and AppImageHub) + # $1: app folder (destination) + # $2: appdata or metainfo + + local err_msg="❌ Error: Failed to install " + + SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd) + pushd "$SCRIPT_DIR" + + source ../common/get_version.sh + + echo "Installing metainfo to to $1" + + PROGDIR="../../oolite.app" + APPBIN="$1/bin" + APPSHR="$1/share" + + # Install binaries and scripts + install -D "$PROGDIR/oolite" "$APPBIN/oolite" || { echo "$err_msg oolite binary" >&2; return 1; } + install -D "$PROGDIR/run_oolite.sh" "$APPBIN/run_oolite.sh" || { echo "$err_msg run_oolite.sh" >&2; return 1; } + install -D "$PROGDIR/splash-launcher" "$APPBIN/splash-launcher" || { echo "$err_msg splash-launcher" >&2; return 1; } + + # Resources copy + mkdir -p "$APPBIN/Resources" + cp -rf "$PROGDIR/Resources/." "$APPBIN/Resources/" || { echo "$err_msg Copying Resources folder" >&2; return 1; } + + install -D "GNUstep.conf.template" "$APPBIN/Resources/GNUstep.conf.template" || { echo "$err_msg GNUstep template" >&2; return 1; } + + APP_METAINFO="$APPSHR/metainfo/space.oolite.Oolite.$2.xml" + install -D ../../installers/FreeDesktop/space.oolite.Oolite.metainfo.xml.template "$APP_METAINFO" || { echo "$err_msg metainfo template" >&2; return 1; } + + sed -i "s/@VER@/${VERSION}/g" "$APP_METAINFO" + sed -i "s/@DATE@/${APP_DATE}/g" "$APP_METAINFO" + + # Desktop and Icon + install -D ../../installers/FreeDesktop/space.oolite.Oolite.desktop "$APPSHR/applications/space.oolite.Oolite.desktop" || { echo "$err_msg desktop file" >&2; return 1; } + + install -D "$PROGDIR/Resources/Textures/oolite-logo1.png" "$APPSHR/icons/hicolor/256x256/apps/space.oolite.Oolite.png" || { echo "$err_msg icon file" >&2; return 1; } + + popd +} \ No newline at end of file diff --git a/ShellScripts/Linux/install_package_fn.sh b/ShellScripts/Linux/install_package_fn.sh index de73734a5..68bab1169 100755 --- a/ShellScripts/Linux/install_package_fn.sh +++ b/ShellScripts/Linux/install_package_fn.sh @@ -128,9 +128,12 @@ install_package() { arch) PKG_NAME="libx11" ;; esac ;; - "file") PKG_NAME="file" ;; - - "fuse") PKG_NAME="fuse3" ;; + "appimage") + case "$CURRENT_DISTRO" in + debian) PKG_NAME="file fuse3" ;; + redhat) PKG_NAME="file fuse3 which desktop-file-utils perl-File-MimeInfo" ;; + arch) PKG_NAME="file fuse3" ;; + esac ;; "flatpak") PKG_NAME="flatpak flatpak-builder" ;; diff --git a/ShellScripts/common/check_rename_fn.sh b/ShellScripts/common/check_rename_fn.sh deleted file mode 100644 index c0a58ecb7..000000000 --- a/ShellScripts/common/check_rename_fn.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -check_rename() { - # Checks file exists and optionally renames it - # First parameter is package name - # Second parameter is file pattern - # Third optional parameter is substring to replace in the filename - if [ -z "$3" ]; then - fullname=$1 - else - fullname="${1}_${3}" - fi - filename=$(ls $2 2>/dev/null) - if [ -z "$filename" ]; then - echo "❌ No file matching $2 found." >&2 - return 1 - fi - if [ "$3" ]; then - newname="${filename/$1/$fullname}" - mv $filename $newname - filename=$newname - fi - - echo "${filename}" "${fullname}" -} diff --git a/ShellScripts/common/checkout_submodules.sh b/ShellScripts/common/checkout_submodules.sh index 2932d1584..5b1b1f814 100755 --- a/ShellScripts/common/checkout_submodules.sh +++ b/ShellScripts/common/checkout_submodules.sh @@ -5,7 +5,7 @@ run_script() { pushd "$SCRIPT_DIR" source ./checkout_submodules_fn.sh - cd ../.. + if ! checkout_submodules; then return 1 fi diff --git a/ShellScripts/common/get_version.sh b/ShellScripts/common/get_version.sh index 9a89cc690..462bd02a8 100755 --- a/ShellScripts/common/get_version.sh +++ b/ShellScripts/common/get_version.sh @@ -13,7 +13,15 @@ VER_REV=$(echo "$VERSION" | cut -d. -f3) if [ "" == "$VER_REV" ]; then VER_REV="0" fi -VER_DATE=$(date +%y%m%d) +TIMESTAMP=$(git log -1 --format=%ct) +# Date conversions use UTC for consistency +# Convert to __DATE__ format (e.g., Feb 20 2026) +CPP_DATE=$(date -u -d "@$TIMESTAMP" +"%b %e %Y") +# Convert to YYYY-MM-DD +APP_DATE=$(date -u -d "@$TIMESTAMP" +"%Y-%m-%d") +# Convert to YYMMDD format (e.g., 260313) +VER_DATE=$(date -u -d "@$TIMESTAMP" +"%y%m%d") + VER_GITREV=$(git rev-list --count HEAD) VER_GITHASH=$(git rev-parse --short=7 HEAD) VER_FULL="$VER_MAJ.$VER_MIN.$VER_REV.$VER_GITREV-$VER_DATE-$VER_GITHASH" diff --git a/installers/FreeDesktop/oolite-001.png b/installers/FreeDesktop/oolite-001.png new file mode 100644 index 000000000..49858464d Binary files /dev/null and b/installers/FreeDesktop/oolite-001.png differ diff --git a/installers/FreeDesktop/oolite-002.png b/installers/FreeDesktop/oolite-002.png new file mode 100644 index 000000000..ce6524840 Binary files /dev/null and b/installers/FreeDesktop/oolite-002.png differ diff --git a/installers/FreeDesktop/oolite-004.png b/installers/FreeDesktop/oolite-004.png new file mode 100644 index 000000000..879c33d88 Binary files /dev/null and b/installers/FreeDesktop/oolite-004.png differ diff --git a/installers/FreeDesktop/oolite-008.png b/installers/FreeDesktop/oolite-008.png new file mode 100644 index 000000000..128019b76 Binary files /dev/null and b/installers/FreeDesktop/oolite-008.png differ diff --git a/installers/FreeDesktop/oolite-064.png b/installers/FreeDesktop/oolite-064.png new file mode 100644 index 000000000..0c8659bce Binary files /dev/null and b/installers/FreeDesktop/oolite-064.png differ diff --git a/installers/FreeDesktop/oolite-999.png b/installers/FreeDesktop/oolite-999.png new file mode 100644 index 000000000..7651ec3a8 Binary files /dev/null and b/installers/FreeDesktop/oolite-999.png differ diff --git a/installers/FreeDesktop/oolite-icon.png b/installers/FreeDesktop/oolite-icon.png deleted file mode 100644 index f6923a260..000000000 Binary files a/installers/FreeDesktop/oolite-icon.png and /dev/null differ diff --git a/installers/FreeDesktop/oolite.desktop b/installers/FreeDesktop/space.oolite.Oolite.desktop similarity index 71% rename from installers/FreeDesktop/oolite.desktop rename to installers/FreeDesktop/space.oolite.Oolite.desktop index 839055243..a65e0cb19 100644 --- a/installers/FreeDesktop/oolite.desktop +++ b/installers/FreeDesktop/space.oolite.Oolite.desktop @@ -1,8 +1,8 @@ [Desktop Entry] -Name=Oolite +Name=oolite Comment=An OpenGL Elite-like space game -Exec=oolite -Icon=oolite-icon +Exec=run_oolite.sh +Icon=space.oolite.Oolite Terminal=false Type=Application Categories=Game;Simulation; diff --git a/installers/flatpak/space.oolite.Oolite.metainfo.xml b/installers/FreeDesktop/space.oolite.Oolite.metainfo.xml.template similarity index 76% rename from installers/flatpak/space.oolite.Oolite.metainfo.xml rename to installers/FreeDesktop/space.oolite.Oolite.metainfo.xml.template index d67801f7a..8b8106da7 100644 --- a/installers/flatpak/space.oolite.Oolite.metainfo.xml +++ b/installers/FreeDesktop/space.oolite.Oolite.metainfo.xml.template @@ -44,31 +44,46 @@ - https://raw.githubusercontent.com/OoliteProject/oolite/1.92-maintenance/installers/flatpak/oolite-999.png + https://raw.githubusercontent.com/OoliteProject/oolite/1.92-maintenance/installers/FreeDesktop/oolite-999.png The universe awaits. Go explore and seek your fortune! - https://raw.githubusercontent.com/OoliteProject/oolite/1.92-maintenance/installers/flatpak/oolite-008.png + https://raw.githubusercontent.com/OoliteProject/oolite/1.92-maintenance/installers/FreeDesktop/oolite-008.png Choose from a diverse range of interstellar craft. - https://raw.githubusercontent.com/OoliteProject/oolite/1.92-maintenance/installers/flatpak/oolite-064.png + https://raw.githubusercontent.com/OoliteProject/oolite/1.92-maintenance/installers/FreeDesktop/oolite-064.png Find safety in massive orbital stations. - https://raw.githubusercontent.com/OoliteProject/oolite/1.92-maintenance/installers/flatpak/oolite-001.png + https://raw.githubusercontent.com/OoliteProject/oolite/1.92-maintenance/installers/FreeDesktop/oolite-001.png Access the expansion pack manager and quick reference guides on the start screen. - https://raw.githubusercontent.com/OoliteProject/oolite/1.92-maintenance/installers/flatpak/oolite-002.png + https://raw.githubusercontent.com/OoliteProject/oolite/1.92-maintenance/installers/FreeDesktop/oolite-002.png Learn to fly with the tutorial covering piloting, combat, and travel. - https://raw.githubusercontent.com/OoliteProject/oolite/1.92-maintenance/installers/flatpak/oolite-004.png + https://raw.githubusercontent.com/OoliteProject/oolite/1.92-maintenance/installers/FreeDesktop/oolite-004.png Fly to Maraus, a wealthy industrial world, one of 2000 systems to be discovered. + + +

This stable release fixes these bugs:

+
    +
  • Centre main window after showing splash.
  • +
  • Smooth resizing of game window.
  • +
  • Fix for crash when no network.
  • +
+
+
+ + +

First release of Oolite for Flatpak and AppImage.

+
+
diff --git a/installers/appimage/create_appimage.sh b/installers/appimage/create_appimage.sh index 9953a302c..3bae45325 100755 --- a/installers/appimage/create_appimage.sh +++ b/installers/appimage/create_appimage.sh @@ -9,45 +9,53 @@ run_script() { cd ../../build source ../ShellScripts/Linux/os_detection.sh source ../ShellScripts/common/get_version.sh - source ../ShellScripts/common/check_rename_fn.sh + source ../ShellScripts/Linux/install_freedesktop_fn.sh - APPDIR="./Oolite.AppDir" - rm -rf $APPDIR + ARCH=$(uname -m) + APPDIR="./oolite.AppDir" APPBIN="$APPDIR/usr/bin" - APPLIB="$APPDIR/usr/lib" - mkdir -p "$APPBIN" - - PROGDIR="../oolite.app" - cp -uf "$PROGDIR/splash-launcher" "$APPBIN" - cp -rf "$PROGDIR/Resources" "$APPBIN" - cp -uf "../ShellScripts/Linux/GNUstep.conf.template" "$APPBIN/Resources" + APPSHR="$APPDIR/usr/share" + rm -rf "$APPDIR" + ABS_APPDIR_USR=$(realpath -m "$APPDIR/usr") + if ! install_freedesktop "$ABS_APPDIR_USR" appdata; then + return 1 + fi if (( $# == 1 )); then echo "Including Basic-debug.oxp" cp -rf AddOns "$APPBIN" fi - curl -o linuxdeploy -L https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage - chmod +x linuxdeploy + LINUXDEPLOY_BIN="./linuxdeploy" + if [ ! -x "$LINUXDEPLOY_BIN" ]; then + echo "📥 linuxdeploy not found or not executable. Downloading..." + curl -o "$LINUXDEPLOY_BIN" -L https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-$ARCH.AppImage || { echo "❌ Download failed" >&2; exit 1; } + chmod +x "$LINUXDEPLOY_BIN" + fi case "$CURRENT_DISTRO" in - debian) SDL2="--library=/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0" ;; + debian) SDL2="--library=/usr/lib/$ARCH-linux-gnu/libSDL2-2.0.so.0" ;; redhat) SDL2="--library=/usr/lib64/libSDL2-2.0.so.0 --library=/usr/lib64/libSDL3.so.0" ;; arch) SDL2="--library=/usr/lib/libSDL2-2.0.so.0 --library=/usr/lib/libSDL3.so.0" ;; esac + ICON_SUBPATH="icons/hicolor/256x256/apps/space.oolite.Oolite.png" + ICON_PATH="$APPSHR/$ICON_SUBPATH" echo "Building AppDir for AppImage..." + # install_metadatainfo_fn already put the files in the parameters below in the right place, + # but no harm putting again here if ! NO_STRIP=1 ./linuxdeploy \ - --appdir $APPDIR \ - --executable $PROGDIR/oolite \ - --custom-apprun $PROGDIR/run_oolite.sh \ - --desktop-file ../installers/FreeDesktop/oolite.desktop \ - --icon-file ../installers/FreeDesktop/oolite-icon.png \ + --appdir "$APPDIR" \ + --executable "$APPBIN/oolite" \ + --custom-apprun "$APPBIN/run_oolite.sh" \ + --desktop-file "$APPSHR/applications/space.oolite.Oolite.desktop" \ + --icon-file "$ICON_PATH" \ $SDL2; then echo "❌ AppDir generation failed!" >&2 return 1 fi + ln -sf "usr/share/$ICON_SUBPATH" "$APPDIR/.DirIcon" if [[ $1 == "dev" ]]; then echo "Not stripping libs for snapshot AppImage" @@ -58,22 +66,38 @@ run_script() { -exec strip --strip-unneeded '{}' + # keeps symbols needed for runtime linking fi - curl -o appimagetool -L https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage - chmod +x appimagetool + LINTER_BIN="./appdir-lint.sh" + EXCLUDE_LIST="./excludelist" - echo "Creating AppImage..." - if ! ./appimagetool $APPDIR; then - echo "❌ AppImage creation failed!" >&2 + if [ ! -x "$LINTER_BIN" ] || [ ! -f "$EXCLUDE_LIST" ]; then + echo "📥 Downloading AppDir linter and excludelist..." + curl -o "$LINTER_BIN" -L https://raw.githubusercontent.com/AppImage/AppImages/master/appdir-lint.sh || { echo "❌ Linter download failed" >&2; exit 1; } + curl -o "$EXCLUDE_LIST" -L https://raw.githubusercontent.com/AppImage/AppImages/master/excludelist || { echo "❌ Excludelist download failed" >&2; exit 1; } + chmod +x "$LINTER_BIN" + fi + + echo "🔍 Running AppDir linter..." + if ! "$LINTER_BIN" "$APPDIR"; then + echo "❌ AppDir linting failed!" >&2 return 1 fi + APPIMAGETOOL_BIN="./appimagetool" + if [ ! -x "$APPIMAGETOOL_BIN" ]; then + echo "📥 appimagetool not found. Downloading..." + curl -o "$APPIMAGETOOL_BIN" -L https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-$ARCH.AppImage || { echo "❌ appimagetool download failed" >&2; exit 1; } + chmod +x "$APPIMAGETOOL_BIN" + fi + if (( $# == 1 )); then - SUFFIX="${1}_${VER_FULL}" + SUFFIX="_${1}-${VER_FULL}" else - SUFFIX="$VER_FULL" + SUFFIX="-$VER_FULL" fi - - if ! check_rename "Oolite" "Oolite-*" $SUFFIX; then + FILENAME="oolite${SUFFIX}-${ARCH}.AppImage" + echo "Creating AppImage $FILENAME..." + if ! ./appimagetool "$APPDIR" "$FILENAME"; then + echo "❌ AppImage creation failed!" >&2 return 1 fi diff --git a/installers/flatpak/create_flatpak.sh b/installers/flatpak/create_flatpak.sh index ceb19bb9f..446f663cf 100755 --- a/installers/flatpak/create_flatpak.sh +++ b/installers/flatpak/create_flatpak.sh @@ -10,7 +10,6 @@ run_script() { rm -rf oolite.app rm -rf obj.spk source ShellScripts/common/get_version.sh - source ShellScripts/common/check_rename_fn.sh source ShellScripts/common/checkout_submodules_fn.sh if ! checkout_submodules; then @@ -59,8 +58,6 @@ run_script() { return 1 fi - sed -i "/- name: oolite/a \ build-options:\n env:\n VERSION_OVERRIDE: \"$VER_FULL\"" \ - $MANIFEST TOTAL_LINES=$(wc -l < $MANIFEST) START_LINE=$((TOTAL_LINES - 3)) sed -i "${START_LINE},\$d" $MANIFEST @@ -80,23 +77,22 @@ EOF return 1 fi + if (( $# == 1 )); then + SUFFIX="_${1}-${VER_FULL}" + else + SUFFIX="-$VER_FULL" + fi + ARCH=$(uname -m) + FILENAME="space.oolite.Oolite${SUFFIX}-${ARCH}.flatpak" + echo "Creating Flatpak $FILENAME..." if ! flatpak build-bundle \ repo \ - space.oolite.Oolite.flatpak \ + "$FILENAME" \ space.oolite.Oolite; then echo "❌ Flatpak bundle creation failed!" >&2 return 1 fi - if (( $# == 1 )); then - SUFFIX="${1}_${VER_FULL}" - else - SUFFIX="$VER_FULL" - fi - - if ! check_rename "space.oolite.Oolite" "space.oolite.Oolite.flatpak" $SUFFIX; then - return 1 - fi popd } diff --git a/installers/flatpak/flatpak_build.sh b/installers/flatpak/flatpak_build.sh index 73712c927..2eaae4b63 100755 --- a/installers/flatpak/flatpak_build.sh +++ b/installers/flatpak/flatpak_build.sh @@ -1,42 +1,10 @@ #!/bin/bash source /app/share/GNUstep/Makefiles/GNUstep.sh - -TIMESTAMP=$(git log -1 --format=%ct) -# Convert to __DATE__ format (e.g., Feb 20 2026) -CPP_DATE=$(date -d "@$TIMESTAMP" +"%b %e %Y") -# Convert to ISO 8601 format (e.g., 2026-02-20) -FLATPAK_DATE=$(date -d "@$TIMESTAMP" -I) +source ShellScripts/Linux/install_freedesktop_fn.sh export ADDITIONAL_CFLAGS="-DBUILD_DATE='\"$CPP_DATE\"'" export ADDITIONAL_OBJCFLAGS="-DBUILD_DATE='\"$CPP_DATE\"'" make -f Makefile release-deployment -j$FLATPAK_BUILDER_N_JOBS -PROGDIR="oolite.app" -APPBIN="/app/bin" - -cp -uf "$PROGDIR/run_oolite.sh" "$APPBIN" -cp -uf "$PROGDIR/oolite" "$APPBIN" -cp -uf "$PROGDIR/splash-launcher" "$APPBIN" -cp -rf "$PROGDIR/Resources" "$APPBIN" -cp -uf "ShellScripts/Linux/GNUstep.conf.template" "/app/bin/Resources" - -if [[ -z "$VERSION_OVERRIDE" ]]; then - source ShellScripts/common/get_version.sh - FLATPAK_VERSION="$VERSION" -else - FLATPAK_VERSION="$VERSION_OVERRIDE" -fi - -FLATPAK_METAINFO=/app/share/metainfo/space.oolite.Oolite.metainfo.xml -install -D installers/flatpak/space.oolite.Oolite.metainfo.xml $FLATPAK_METAINFO -FLATPAK_VER_INFO="release version=\"${FLATPAK_VERSION}\" date=\"${FLATPAK_DATE}\"" -echo "Oolite Flatpak version info: ${FLATPAK_VER_INFO}" -sed -i "//a \\ <${FLATPAK_VER_INFO}/>" $FLATPAK_METAINFO - -FLATPAK_DESKTOP=/app/share/applications/space.oolite.Oolite.desktop -install -D installers/FreeDesktop/oolite.desktop $FLATPAK_DESKTOP -desktop-file-edit --set-key=Exec --set-value=run_oolite.sh $FLATPAK_DESKTOP -desktop-file-edit --set-key=Icon --set-value=space.oolite.Oolite $FLATPAK_DESKTOP - -install -D Resources/Binary/Textures/oolite-logo1.png /app/share/icons/hicolor/256x256/apps/space.oolite.Oolite.png +install_freedesktop /app metainfo