Skip to content

Packaging

The Garden Linux packaging system enables the creation of customized operating system images through a modular approach. This guide provides an overview of the complete package release lifecycle and links to detailed how-to guides for each stage.

Release Hierarchy

Garden Linux uses a three-tier release hierarchy to deliver a complete operating system.

This document is about the first tier, the Packaging Ecosystem.

Package Release Lifecycle

Creating and releasing packages in Garden Linux follows a structured process:

  1. Creating Packages: Start with this guide to learn how to create a new package or modify an existing one
  2. Applying Patches: Learn how to create and manage patches for both debian/ folder changes and upstream source modifications
  3. Building Packages: Choose your preferred method:
  4. Backporting: Create patch releases for specific Garden Linux versions
  5. Managing Dependencies: Handle special build-time dependencies with bp-package repositories
  6. Excluding Packages: Use NULL releases to temporarily exclude problematic packages from builds

Core Concepts

Getting Started

  1. Review the Packaging Rules for naming conventions and repository structure
  2. Choose a package to work on (either a new package or modifying an existing one)
  3. Follow the Creating Packages guide to set up your package
  4. Use the appropriate build method (local or GitHub Actions)
  5. Test your package thoroughly before releasing
  6. Create a GitHub release to make it available for inclusion in Garden Linux

For maintainers creating packages for the first time, we recommend reading through all the guides in order to understand the complete workflow.