Add Linux desktop metadata
This commit is contained in:
@@ -50,6 +50,9 @@ jobs:
|
|||||||
- name: Verify macOS bundle metadata
|
- name: Verify macOS bundle metadata
|
||||||
run: scripts/verify_macos_bundle_metadata.sh
|
run: scripts/verify_macos_bundle_metadata.sh
|
||||||
|
|
||||||
|
- name: Verify Linux desktop metadata
|
||||||
|
run: scripts/verify_linux_desktop_metadata.sh
|
||||||
|
|
||||||
- name: Build macOS app bundle
|
- name: Build macOS app bundle
|
||||||
run: scripts/create_macos_app_bundle.sh
|
run: scripts/create_macos_app_bundle.sh
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=ELY Browser
|
||||||
|
GenericName=Web Browser
|
||||||
|
Comment=ELY Browser by Elydora
|
||||||
|
Exec=ely_app %u
|
||||||
|
Icon=com.elydora.ely-browser
|
||||||
|
Terminal=false
|
||||||
|
Categories=Network;WebBrowser;
|
||||||
|
MimeType=x-scheme-handler/ely;
|
||||||
Executable
+48
@@ -0,0 +1,48 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
desktop_path="${1:-packaging/linux/com.elydora.ely-browser.desktop}"
|
||||||
|
expected_file_name="com.elydora.ely-browser.desktop"
|
||||||
|
|
||||||
|
if [[ ! -f "${desktop_path}" ]]; then
|
||||||
|
echo "${desktop_path}: desktop entry file is missing"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$(basename "${desktop_path}")" != "${expected_file_name}" ]]; then
|
||||||
|
echo "${desktop_path}: desktop entry filename expected '${expected_file_name}'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! grep -qx '\[Desktop Entry\]' "${desktop_path}"; then
|
||||||
|
echo "${desktop_path}: [Desktop Entry] group is missing"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
desktop_value() {
|
||||||
|
local key="$1"
|
||||||
|
awk -F= -v key="${key}" '$1 == key { print substr($0, length(key) + 2); exit }' "${desktop_path}"
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_value() {
|
||||||
|
local key="$1"
|
||||||
|
local expected="$2"
|
||||||
|
local actual
|
||||||
|
actual="$(desktop_value "${key}")"
|
||||||
|
if [[ "${actual}" != "${expected}" ]]; then
|
||||||
|
echo "${desktop_path}: ${key} expected '${expected}', got '${actual}'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_value "Type" "Application"
|
||||||
|
assert_value "Name" "ELY Browser"
|
||||||
|
assert_value "GenericName" "Web Browser"
|
||||||
|
assert_value "Comment" "ELY Browser by Elydora"
|
||||||
|
assert_value "Exec" "ely_app %u"
|
||||||
|
assert_value "Icon" "com.elydora.ely-browser"
|
||||||
|
assert_value "Terminal" "false"
|
||||||
|
assert_value "Categories" "Network;WebBrowser;"
|
||||||
|
assert_value "MimeType" "x-scheme-handler/ely;"
|
||||||
|
|
||||||
|
echo "${desktop_path}: Linux desktop metadata ok"
|
||||||
Reference in New Issue
Block a user