Back to Wekan

Dev: Haiku install & update platforms (manual vs automatic, like Snap)

docs/Design/Autoupdate/OS/Haiku.md

10.103.3 KB
Original Source

Dev: Haiku install & update platforms (manual vs automatic, like Snap)

How software is installed and updated on Haiku (the open-source, BeOS-inspired OS), split into manual and automatic (background/self-updating, like Linux Snap auto-refresh).

Haiku uses a package system built around read-only, mounted packages rather than a file-scattering installer. Software ships as .hpkg files; when one is placed in /system/packages or ~/config/packages, a virtual filesystem (packagefs) mounts its contents into the hierarchy on the fly, and a background package daemon activates it atomically (saving a rollback-able system "state"). Key point: Haiku has no scheduled/background fetch auto-update — every update is user-initiated. Only the activation of an already-downloaded .hpkg is automatic. This is unlike Snap's snapd auto-refresh.


Comparison table

PlatformManualAutomaticAuto mechanismMaintainerURLLicense
pkgman (CLI: refresh/update/full-sync/install)None — user runs it. (update fetches newer packages; system updates need a reboot.)Haiku Projecthttps://www.haiku-os.org/guides/daily-tasks/updating-system/MIT
HaikuDepot (GUI software center)None — browse/install on demand; "Check for updates…" just launches SoftwareUpdaterHaiku Projecthttps://www.haiku-os.org/docs/userguide/en/applications/haikudepot.htmlMIT
SoftwareUpdater (updater app)None — checks only when launched; no scheduling, no background scan, no notificationsHaiku Projecthttps://www.haiku-os.org/docs/userguide/en/applications/softwareupdater.htmlMIT
Manual .hpkg install (drop into a packages dir)activation onlypackagefs + package_daemon detect the new file and activate it automatically — but obtaining a newer file is fully manualHaiku Projecthttps://www.haiku-os.org/docs/develop/packages/Infrastructure.htmlMIT
HaikuPorts + haikuporter (dev publishing)None — dev writes a recipe, builds .hpkg, opens a GitHub PR; users then get it via the repoHaikuPorts communityhttps://github.com/haikuports/haikuportsMIT (tooling)
Plain zip / binary (unpackaged)None — outside package management entirelyapp vendor(varies)(varies)

pkgman subcommands: refresh (update repo metadata), update [pkg…] (upgrade installed packages), full-sync (bring system fully in line with repos — may downgrade/remove), install, search, uninstall, add-repo/drop-repo. All are on-demand.


WeKan / Electron applicability

The WeKan Electron desktop client cannot realistically run on Haiku. There is no Haiku port of Electron (upstream request closed wontfix; Electron ships only Windows/macOS/Linux binaries). Node.js has been ported to Haiku (x86_64, in HaikuDepot), so WeKan's server could conceivably run with effort — but the desktop app cannot, and no auto-update path for it exists. The practical answer for a Haiku user is to run WeKan as a web app in a browser against a hosted/self-hosted server.

See also