Skip to content

mcandre/rockhopper

Repository files navigation

rockhopper: metapackage generator

CloudFlare R2 install media downloads Docker Pulls Crates.io Downloads (recent) GitHub Downloads docs.rs license Donate

  o<  gak! gak!
-/)
 ^^

ABOUT

rockhopper provides a unified framework for building binary based OS packages across many kinds of platforms.

BYOB (Bring Your Own Binaries).

EXAMPLE

$ cd example/sh

$ rockhopper

$ tree .rockhopper/artifacts
.rockhopper/artifacts
├── alpine-linux
│   └── raygun-1.2.3-r81.noarch.apk
├── fedora
│   └── raygun-1.2.3-81.noarch.rpm
├── freebsd
│   └── raygun-1.2.3_81.pkg
...

See rockhopper -h for more options.

DOWNLOAD

Host Package
Alpine Linux Intel ARM
Fedora Intel ARM
FreeBSD Intel
macOS Intel ARM
NetBSD Intel
Ubuntu / Windows (WSL) Intel ARM

System Requirements

Bitness

64

For more host platforms and installation methods, see our install guide.

DOCKER IMAGES

Docker Hub

Where other package generators rely on host native tools, rockhopper abstracts package generation as Docker images. This abstraction simplifies the setup process, and reduces the impact of vendor lock for each of the host and target platforms involved.

Stock Images

Package Manager File Extension Distro Primary Docker Tag
apk *.apk Alpine Linux alpine-linux
apt *.deb Ubuntu ubuntu
dnf *.rpm Fedora fedora
installer *.pkg macOS macos
pkg *.pkg FreeBSD freebsd
pkg_add *.tgz NetBSD netbsd

Image Pattern: n4jm4/rockhopper:<tag>

Multiplatform images also available. Supported platforms may vary by distro. Version pin tag aliases are also available, of the form:

[<rockhopper-version>-]<distro>[-<release-nickname]

Distro primaries exemplify entire families of related platforms. For example, apt serves packages for Ubuntu, but also Debian, Linux Mint, Pop!_OS, Raspberry Pi OS, WSL, et. al.

For information on developing custom rockhopper images, see the rocklets interface.

RUNTIME REQUIREMENTS

Recommended

  • a UNIX-like environment (e.g. WSL)
  • Apple Silicon macOS users may want to apply DOCKER_DEFAULT_PLATFORM=linux/amd64, as many industry Docker images lag behind in ARM support
  • tree

CONFIGURATION

For information on configuring rockhopper, see our configuration guide.

TIPS

Fully static Go/musl binaries tend to improve portability for compiled applications.

Lost? Try Raspberry Pi for Dummies. We all gotta start somewhere.

A dream of impossible colors... Let's make vendor lock a thing of the past.

  -< zzZ... *as if!* zzZ...
,/)
 ^^

RESOURCES

Prior art, personal plugs, and tools for developing portable applications (including non-Rust projects)!

🐧

About

metapackage generator

Resources

License

Stars

Watchers

Forks

Packages