Back to Wekan

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

docs/Design/Autoupdate/OS/BSD.md

10.104.4 KB
Original Source

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

How software and the base system are installed and updated on the BSD family — FreeBSD, OpenBSD, NetBSD, DragonFly BSD — split into manual and automatic (background/scheduled, like Linux Snap auto-refresh). WeKan's desktop app is Electron; on BSD the realistic path is the server (via packages or the Linux compat layer) or a browser.

The BSDs cleanly separate base system (kernel + core userland, updated as a unit) from third-party packages/ports. None ships a Snap-style always-on background auto-refresh daemon; automation is done with cron + the native update tools. OpenBSD deliberately keeps updates manual/administrator-driven.


FreeBSD

MechanismManualAutomaticAuto/Internet mechanismMaintainerURLLicense
pkg (binary packages)via cronpkg upgrade on a cron/periodic jobFreeBSDhttps://www.freebsd.org/BSD (OSS)
Ports (source)portsnap/git + make (manual builds)FreeBSDhttps://www.freebsd.org/ports/BSD (OSS)
freebsd-update (base)via cronbinary base updates; freebsd-update cron fetches on a timer, admin appliesFreeBSDhttps://man.freebsd.org/freebsd-updateBSD (OSS)

OpenBSD

MechanismManualAutomaticAuto/Internet mechanismMaintainerURLLicense
pkg_add (packages)pkg_add -u (manual by design)OpenBSDhttps://www.openbsd.org/faq/faq15.htmlBSD (OSS)
syspatch (base binary patches)via cronofficial binary security patches; can be run from cronOpenBSDhttps://man.openbsd.org/syspatchBSD (OSS)
sysupgrade (release upgrade)one-shot upgrade to next/-current releaseOpenBSDhttps://man.openbsd.org/sysupgradeBSD (OSS)
fw_update / pkg_add cronvia cronfirmware + package refresh scripted with cronOpenBSDhttps://man.openbsd.org/fw_updateBSD (OSS)

NetBSD

MechanismManualAutomaticAuto/Internet mechanismMaintainerURLLicense
pkgin (binary, over pkgsrc)via cronpkgin upgrade on a cron jobNetBSD / pkgsrchttps://www.netbsd.org/BSD (OSS)
pkgsrc (source, also portable)make from the pkgsrc treeThe NetBSD Foundationhttps://pkgsrc.org/BSD (OSS)
sysupgrade / etcupdate + base setsfetch base sets, extract, etcupdateNetBSDhttps://www.netbsd.org/docs/guide/en/chap-upgrading.htmlBSD (OSS)

DragonFly BSD

MechanismManualAutomaticAuto/Internet mechanismMaintainerURLLicense
pkg (binary, DPorts)via cronpkg upgrade on cronDragonFlyhttps://www.dragonflybsd.org/BSD (OSS)
DPorts (source)source buildsDragonFlyhttps://www.dragonflybsd.org/docs/howtos/HowToDPorts/BSD (OSS)
base upgrade (make buildworld/git)rebuild base from sourceDragonFlyhttps://www.dragonflybsd.org/docs/BSD (OSS)

Comparison at a glance

BSDPackage auto-updateBase auto-updateHow automation is done
FreeBSDvia cron (pkg upgrade)freebsd-update cron (fetch)cron / periodic(8)
OpenBSDvia cron (pkg_add -u)syspatch via croncron; auto-apply discouraged upstream
NetBSDvia cron (pkgin upgrade)manual base setscron
DragonFlyvia cron (pkg upgrade)manual (buildworld)cron

No BSD has a Snap-style background auto-refresh daemon. "Automatic" on BSD means you script the native tool with cron/periodic — the fetch can be automatic, but applying base updates is typically an explicit admin action (OpenBSD in particular favors manual control).


What this means for WeKan

  • No Electron desktop auto-update stack exists on BSD (no Squirrel/Snap/AppImage for BSD). A BSD user's realistic path is WeKan server — run it from a package / from source, or via the Linux compatibility layer / a Linux VM / jail — and update it with the OS's pkg/ports mechanism or by pulling a new build.
  • For a desktop client, point a browser at a hosted WeKan server.

See also