Rumprun-packages is a work-in-progress repository for software running on the Rumprun unikernel.
NOTE to users: check the license of each individual package to make sure it suits your deployment needs. Unlike everything else provided by the rump kernel project, we do not guarantee a BSD, ISC or CC0 style license for every piece of 3rd party software linked from here.
We are working towards choosing a real packaging system, with support for versions and dependencies. Until we reach that point, this repo is meant to assemble the build scripts and patches for running various applications on Rumprun unikernels.
To get started:
- Build a Rumprun toolchain (with
build-rr.sh
in the rumprun repo). - Add destdir/bin from Step 1 to your
$PATH
(the default destdir relative to rumprun repo working directory is$(pwd)/rumprun/bin
). - Copy the
config.mk.dist
file toconfig.mk
and setRUMPRUN_TOOLCHAIN_TUPLE
to specify the compiler toolchain to use for building, for example,x86_64-rumprun-netbsd
ori486-rumprun-netbsdelf
. - Refer to the package-specific README file for build instructions.
Tutorials you may want to complete for more in-depth knowledge:
- http://wiki.rumpkernel.org/Tutorial%3A-Building-Rumprun-Unikernels
- http://wiki.rumpkernel.org/Tutorial%3A-Serve-a-static-website-as-a-Unikernel
Packaging is done in a BSD ports-like fashion, with individual packages as
subdirectories of this repository. There is also a stubetc/
directory which
provides a minimal /etc
tree required by most applications, and a scripts/
directory with helper scripts which can be used to automate the package build
process.
When adding new packages, include the following sections in the package-specific README:
- Overview: name of the package, version number, and a sentence or two on how the package can be used
- Instructions: how to build. If this section is "run script/make", excellent!
- Examples: a few examples on how to run/use the resulting package