Make generated .deb and .rpm packages behave correctly when installed or uninstalled either from a terminal or from graphical app stores (GNOME Software/etc.).
Ensure the package is recognized as a desktop application by app centers so they can present install/uninstall actions and show metadata.
Description
Add AppStream metadata generation by creating /usr/share/metainfo/$APP_NAME.metainfo.xml in the package payload so stores can identify the application and its launchable desktop ID.
Add searchable keywords to the generated desktop file by adding a Keywords= line to the usr/share/applications/$APP_NAME.desktop entry.
Add Debian maintainer scripts (DEBIAN/postinst and DEBIAN/postrm) that run update-desktop-database and appstreamcli refresh-cache, and add RPM %post/%postun hooks performing the same cache refresh to keep GUIs in sync after install/uninstall.
Update the generated RPM spec to declare runtime dependencies (webkit2gtk4.1, libayatana-appindicator-gtk3), add Provides: application() application($APP_NAME.desktop), and include the AppStream metainfo file in %files so stores expose the package as an app; also create the metainfo directory in the payload.
Update README.md to document terminal uninstall commands and note that packages ship desktop and AppStream metadata for graphical software centers.
Testing
Ran bash -n scripts/package-linux.sh to validate the packaging script syntax, which succeeded.
Ran git diff --check to verify no whitespace/patch errors, which reported no problems.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/jahruz67/wisp-open/pull/8
**Author:** [@jahruz67](https://github.com/jahruz67)
**Created:** 7/15/2026
**Status:** ✅ Merged
**Merged:** 7/15/2026
**Merged by:** [@jahruz67](https://github.com/jahruz67)
**Base:** `main` ← **Head:** `codex/enhance-rpm-package-for-better-installation`
---
### 📝 Commits (1)
- [`a4634f1`](https://github.com/jahruz67/wisp-open/commit/a4634f19d5a57aac5eab4cbde8b2886b00684d21) Improve Linux package app store integration
### 📊 Changes
**2 files changed** (+74 additions, -1 deletions)
<details>
<summary>View changed files</summary>
📝 `README.md` (+3 -1)
📝 `scripts/package-linux.sh` (+71 -0)
</details>
### 📄 Description
### Motivation
- Make generated `.deb` and `.rpm` packages behave correctly when installed or uninstalled either from a terminal or from graphical app stores (GNOME Software/etc.).
- Ensure the package is recognized as a desktop application by app centers so they can present install/uninstall actions and show metadata.
### Description
- Add AppStream metadata generation by creating `/usr/share/metainfo/$APP_NAME.metainfo.xml` in the package payload so stores can identify the application and its launchable desktop ID.
- Add searchable keywords to the generated desktop file by adding a `Keywords=` line to the `usr/share/applications/$APP_NAME.desktop` entry.
- Add Debian maintainer scripts (`DEBIAN/postinst` and `DEBIAN/postrm`) that run `update-desktop-database` and `appstreamcli refresh-cache`, and add RPM `%post`/`%postun` hooks performing the same cache refresh to keep GUIs in sync after install/uninstall.
- Update the generated RPM spec to declare runtime dependencies (`webkit2gtk4.1`, `libayatana-appindicator-gtk3`), add `Provides: application() application($APP_NAME.desktop)`, and include the AppStream metainfo file in `%files` so stores expose the package as an app; also create the `metainfo` directory in the payload.
- Update `README.md` to document terminal uninstall commands and note that packages ship desktop and AppStream metadata for graphical software centers.
### Testing
- Ran `bash -n scripts/package-linux.sh` to validate the packaging script syntax, which succeeded.
- Ran `git diff --check` to verify no whitespace/patch errors, which reported no problems.
------
[Codex Task](https://chatgpt.com/codex/cloud/tasks/task_e_6a57077b8afc8333b02196b22d2db996)
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/jahruz67/wisp-open/pull/8
Author: @jahruz67
Created: 7/15/2026
Status: ✅ Merged
Merged: 7/15/2026
Merged by: @jahruz67
Base:
main← Head:codex/enhance-rpm-package-for-better-installation📝 Commits (1)
a4634f1Improve Linux package app store integration📊 Changes
2 files changed (+74 additions, -1 deletions)
View changed files
📝
README.md(+3 -1)📝
scripts/package-linux.sh(+71 -0)📄 Description
Motivation
.deband.rpmpackages behave correctly when installed or uninstalled either from a terminal or from graphical app stores (GNOME Software/etc.).Description
/usr/share/metainfo/$APP_NAME.metainfo.xmlin the package payload so stores can identify the application and its launchable desktop ID.Keywords=line to theusr/share/applications/$APP_NAME.desktopentry.DEBIAN/postinstandDEBIAN/postrm) that runupdate-desktop-databaseandappstreamcli refresh-cache, and add RPM%post/%postunhooks performing the same cache refresh to keep GUIs in sync after install/uninstall.webkit2gtk4.1,libayatana-appindicator-gtk3), addProvides: application() application($APP_NAME.desktop), and include the AppStream metainfo file in%filesso stores expose the package as an app; also create themetainfodirectory in the payload.README.mdto document terminal uninstall commands and note that packages ship desktop and AppStream metadata for graphical software centers.Testing
bash -n scripts/package-linux.shto validate the packaging script syntax, which succeeded.git diff --checkto verify no whitespace/patch errors, which reported no problems.Codex Task
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.