Rumprun-packages
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.
Building packages
To get started:
- Build a Rumprun toolchain.
- Add the
app-tools
directory to your$PATH
. - 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
Contributing new packages
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