Building OpenIndiana

Source repositories

OpenIndiana is built from several source repositories which are available on Github.

Repository Description Build instructions Comments
oi-userland Unified build system for OpenIndiana Building oi-userland
illumos-gate Kernel and core userland components Use openindiana/illumos-gate component When preparing change for integration use official Building illumos instructions
pkg5 Image Packaging System package manager Use openindiana/pkg component
slim_source Installers and Distribution Constructor Use openindiana/slim_source component Also known as Caiman
time-slider Graphical ZFS snapshot manager Use openindiana/time-slider component
nwam-manager Network auto-magic GUI Use openindiana/nwam-manager component
nimbus Nimbus GTK theme Use desktop/nimbus component
openindiana-completions OpenIndiana bash completions Use shell/bash-completion component
openindiana-welcome openindiana-about tool Use openindiana/openindiana-welcome component
openindiana-backgrounds OpenIndiana desktop backgrounds Use openindiana/openindiana-backgrounds component
sysding Sysding initial configuration system Use openindiana/sysding component
oi-docs User documentation site Getting Started with OpenIndiana Docs

Build process

The OpenIndiana Hipster build process is rather simple.

Once a pull request has been merged to oi-userland Jenkins starts an incremental oi-userland build. For components coming from other source repositories manual intervention can be necessary to start the build. illumos-gate is rebuilt daily in a separate Jenkins job.

If packages are built successfully they are either published to the main Openindiana package repository or to the package repository for patent-encumbered software.

Note that the main OpenIndiana package repository also contains packages inherited from the now discontinued OpenIndiana /dev distribution. Such packages are available only in binary form and can be identified by a 2013.0.0.0 branch number.

Twice per year the OpenIndiana developers create ISO images based on this repository using the Distribution Constructor.

If you want to build a customized ISO image you can publish necessary additional packages to your own repository and use Distribution Constructor to create images with additional publishers and/or packages.