Installing Spin via OS Package Managers

What to name the package?

The spin software validation tool has claimed the spin package name in many OS package managers (brew , apt , chocolatey at minimum).

Some alternative naming options:

  • fermyon-spin
  • spin-up

Which installers

Package Manager OS/Platforms spin available? Priority
apt Debian/Ubuntu taken by https://formulae.brew.sh/formula/spin#default P1
brew MacOS (linux and WSL) taken by https://formulae.brew.sh/formula/spin#default, we could have a tap called Fermyon instead. P1
chocolatey Windows taken https://community.chocolatey.org/packages/spin P2
dnf Fedora available according to https://packages.fedoraproject.org/search?query=spin P2
yum CentOS/RHEL ? P2
snap Linux + systemd available according to https://snapcraft.io/search?q=spin P3
pkg FreeBSD taken on devel only https://cgit.freebsd.org/ports/tree/devel/spin P3
scoop Windows available according to https://scoop.sh/#/apps?q=spin&s=0&d=1&o=true P3
pacman Arch Linux taken https://archlinux.org/packages/community/x86_64/spin/ P3

Creating an apt package

Requires packaging spin and necessary metadata files as a .deb package. See this tutorial.

Something similar to:

$ curl -fsSL https://apt.releases.fermyon.dev/gpg | sudo apt-key add -
$ sudo apt-add-repository "deb [arch=amd64] https://apt.releases.fermyon.dev $(lsb_release -cs) main"
$ sudo apt-get update && sudo apt-get install fermyon-spin

Creating a homebrew package

I am not familiar with how difficult it is to create a bottle that can be directly installed with brew install vs creating a fermyon tap that needs to be installed first. I am assuming creating a fermyon tap is easier, creating an installation experience similar to Nomad's.

Homebrew install using fermyon tap

Creating a fermyon tap to install Spin from would result in the following install instructions(flow is similar to Nomad’s install instructions):

First, install the Fermyon tap, a repository of all of the Fermyon Homebrew packages

brew tap fermyon/tap

Now, install Spin with fermyon/tap/spin.

brew install fermyon/tap/spin

To update to the latest, run

brew upgrade fermyon/tap/spin

Creating a Homebrew tap

brew tap <user/repo> makes a clone of the repository at https://github.com/<user>/homebrew-<repo>  into $(brew --repository)/Library/Taps. After that, brew will be able to work with those formulae as if they were in Homebrew’s homebrew/core canonical repository. - https://docs.brew.sh/Taps

Nomad’s repo: https://github.com/hashicorp/homebrew-tap

Select a repo