Fix NSIS CI step: use -D defines (makensis on Linux rejects /D as scripts); AppStream metadata hardened (homepage, developer, lowercase id, filename match)
- AppImage validation now passes appstreamcli --pedantic locally; builds with metainfo named net.stepline.game.appdata.xml + desktop in usr/share/applications
This commit is contained in:
1 parent
39a80f39f9
commit
418c30e334
14 files changed
+67
-6
No files matched your search
@@ -81,9 +81,12 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
sudo apt-get update && sudo apt-get install -y nsis p7zip-full
|
sudo apt-get update && sudo apt-get install -y nsis p7zip-full
|
||||||
VERSION="$(sed -n 's/.*config\/version="\([^"]*\)".*/\1/p' project.godot)"
|
VERSION="$(sed -n 's/.*config\/version="\([^"]*\)".*/\1/p' project.godot)"
|
||||||
makensis /DVERSION="$VERSION" \
|
# NOTE: on Linux, makensis uses -D defines (the /D form is Windows-only
|
||||||
/DARTIFACT="build/step-line-windows-$VERSION.exe" \
|
# and is rejected as a script path).
|
||||||
/DICON=packaging/windows/step-line.ico \
|
makensis \
|
||||||
|
-DVERSION="$VERSION" \
|
||||||
|
-DARTIFACT="build/step-line-windows-$VERSION.exe" \
|
||||||
|
-DICON=packaging/windows/step-line.ico \
|
||||||
packaging/windows/step-line.nsi
|
packaging/windows/step-line.nsi
|
||||||
|
|
||||||
- name: Verify Windows installer contents
|
- name: Verify Windows installer contents
|
||||||
|
|||||||
@@ -27,8 +27,11 @@ cp "$HERE/step-line.desktop" "$APPDIR/step-line.desktop"
|
|||||||
cp "$HERE/AppRun" "$APPDIR/AppRun"
|
cp "$HERE/AppRun" "$APPDIR/AppRun"
|
||||||
chmod +x "$APPDIR/AppRun"
|
chmod +x "$APPDIR/AppRun"
|
||||||
cp "$HERE/step-line.png" "$APPDIR/step-line.png"
|
cp "$HERE/step-line.png" "$APPDIR/step-line.png"
|
||||||
mkdir -p "$APPDIR/usr/share/metainfo"
|
# Desktop entry + metainfo in standard locations (AppStream validation requires
|
||||||
cp "$HERE/step-line.appdata.xml" "$APPDIR/usr/share/metainfo/step-line.appdata.xml"
|
# the metainfo filename to match the component id, and the .desktop discoverable).
|
||||||
|
mkdir -p "$APPDIR/usr/share/applications" "$APPDIR/usr/share/metainfo"
|
||||||
|
cp "$HERE/step-line.desktop" "$APPDIR/usr/share/applications/step-line.desktop"
|
||||||
|
cp "$HERE/step-line.appdata.xml" "$APPDIR/usr/share/metainfo/net.stepline.game.appdata.xml"
|
||||||
|
|
||||||
TOOL="${APPIMAGE_TOOL:-/tmp/appimagetool-x86_64.AppImage}"
|
TOOL="${APPIMAGE_TOOL:-/tmp/appimagetool-x86_64.AppImage}"
|
||||||
if [[ ! -f "$TOOL" ]]; then
|
if [[ ! -f "$TOOL" ]]; then
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<component type="desktop-application">
|
<component type="desktop-application">
|
||||||
<id>net.step-line.StepLine</id>
|
<id>net.stepline.game</id>
|
||||||
<name>Step Line</name>
|
<name>Step Line</name>
|
||||||
<summary>Workplace security simulation on Hollywood Boulevard</summary>
|
<summary>Workplace security simulation on Hollywood Boulevard</summary>
|
||||||
|
<url type="homepage">https://git.allucanget.biz/zwitschi/security-game</url>
|
||||||
|
<developer id="net.stepline"><name>Step Line Team</name></developer>
|
||||||
<description>
|
<description>
|
||||||
<p>
|
<p>
|
||||||
Step Line is a workplace security simulation about observation, communication,
|
Step Line is a workplace security simulation about observation, communication,
|
||||||
|
|||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
appimagetool.png
|
||||||
Executable
+10
@@ -0,0 +1,10 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
this_dir="$(dirname -- "$(readlink -f -- "$0")")"
|
||||||
|
|
||||||
|
# make appimagetool prefer the bundled mksquashfs
|
||||||
|
export PATH="$this_dir"/usr/bin:"$PATH"
|
||||||
|
|
||||||
|
exec "$this_dir"/usr/bin/appimagetool "$@"
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
usr/share/applications/appimagetool.desktop
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
usr/share/icons/hicolor/128x128/apps/appimagetool.png
|
||||||
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
@@ -0,0 +1,9 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=appimagetool
|
||||||
|
Exec=appimagetool
|
||||||
|
Comment=Tool to generate AppImages from AppDirs
|
||||||
|
Icon=appimagetool
|
||||||
|
Categories=Development;
|
||||||
|
Terminal=true
|
||||||
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 9.5 KiB |
@@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<component type="desktop">
|
||||||
|
<id>appimagetool.desktop</id>
|
||||||
|
<metadata_license>MIT</metadata_license>
|
||||||
|
<project_license>MIT</project_license>
|
||||||
|
<name>appimagetool</name>
|
||||||
|
<summary>Create AppImage files</summary>
|
||||||
|
<description>
|
||||||
|
<p>
|
||||||
|
appimagetool is a tool that lets you generate AppImage files. An AppImage
|
||||||
|
is a self-running bundle that contains an application and everything
|
||||||
|
it needs to run that cannot reasonably expected to be part of each target system.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
This can include libraries that are not commonly available on target systems,
|
||||||
|
resources such as translations, icons, fonts, and other auxiliary files.
|
||||||
|
appimagetool makes it easy to take an AppDir (e.g., generated by linuxdeployqt)
|
||||||
|
and turn it into an AppImage.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
You can also embed update information so that your users can update the AppImage
|
||||||
|
using binary delta updates with the AppImageUpdate tool.
|
||||||
|
You can also sign the AppImage with GPG.
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
<url type="homepage">https://github.com/AppImage/AppImageKit</url>
|
||||||
|
<project_group>AppImage</project_group>
|
||||||
|
<provides>
|
||||||
|
<binary>appimagetool</binary>
|
||||||
|
</provides>
|
||||||
|
</component>
|
||||||
Reference in new issue
Block a user