diff --git a/README.md b/README.md index 4b6b9e08..52da7b8c 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ # ~~OSBuild~~ Debian Forge -A - fork of osbuild, but for debian. +A fork of osbuild, but for debian. Try to be as close as 1:1 os possible +**Supports Debian 13+ (Trixie and newer)** + Build-Pipelines for Operating System Artifacts OSBuild is a pipeline-based build system for operating system artifacts. It @@ -48,11 +49,12 @@ Additionally, the built-in stages require: * `coreutils >= 8.31` * `curl >= 7.68` * `qemu-img >= 4.2.0` - * `rpm >= 4.15` + * `debootstrap >= 1.0.0` + * `mmdebstrap >= 1.0.0` * `tar >= 1.32` * `util-linux >= 235` * `skopeo` - * `python3-librepo` + * `ostree >= 2023.1` At build-time, the following software is required: @@ -63,6 +65,18 @@ Testing requires additional software: * `pytest` +## Debian Support + +**Debian Forge supports Debian 13+ (Trixie and newer):** + +- **trixie** (Debian 13) - **STABLE** - Recommended for production +- **forky** (Debian 14) - **TESTING** - For development and testing +- **sid** (Debian Unstable) - **UNSTABLE** - Use with caution + +**Older releases are not supported:** +- **bookworm** (Debian 12) - OLDSTABLE - Limited compatibility +- **bullseye** (Debian 11) - OLDOLDSTABLE - Not supported + ## Running locally The main binary is safe to run on your development machine with: @@ -71,7 +85,7 @@ The main binary is safe to run on your development machine with: To build an image: - python3 -m osbuild --libdir . ./test/data/manifests/fedora-boot.json + python3 -m osbuild --libdir . ./test/test-debian-manifest.json Every osbuild run uses a cache for downloaded files (sources) and, optionally, checkpoints of artifacts built by stages and pipelines. By default, this is @@ -93,7 +107,7 @@ Also keep in mind that some tests require those prerequisites, otherwise they are skipped ``` -sudo dnf install -y systemd-boot-unsigned erofs-utils pykickstart podman xfsprogs +sudo apt install -y debootstrap mmdebstrap sbuild schroot ostree qemu-utils ``` ## Installation diff --git a/config/README.md b/config/README.md index 40aa3d1e..cf9ce741 100644 --- a/config/README.md +++ b/config/README.md @@ -65,12 +65,26 @@ url = http://localhost:3142 ### build Section ```ini [build] -default_suite = bookworm +# We support Debian 13+ (Trixie and newer) +# Current Debian releases: +# - trixie (Debian 13) - STABLE (recommended) +# - forky (Debian 14) - TESTING +# - sid (Debian Unstable) - UNSTABLE (use with caution) +default_suite = trixie default_arch = amd64 timeout = 3600 jobs = 4 ``` +**Debian Release Status (as of 2024):** +- **trixie** (Debian 13) - **STABLE** - Recommended for production +- **forky** (Debian 14) - **TESTING** - For development and testing +- **sid** (Debian Unstable) - **UNSTABLE** - Use with caution +- **bookworm** (Debian 12) - **OLDSTABLE** - Limited support +- **bullseye** (Debian 11) - **OLDOLDSTABLE** - Not supported + +**Note**: Debian Forge supports **Debian 13+ (Trixie and newer)**. Older releases may have compatibility issues. + ### stages Section ```ini [stages] @@ -97,7 +111,7 @@ You can override any configuration setting using environment variables: export DEBIAN_FORGE_APT_PROXY=http://localhost:3142 # Override default suite -export DEBIAN_FORGE_DEFAULT_SUITE=trixie +export DEBIAN_FORGE_DEFAULT_SUITE=forky # Override default architecture export DEBIAN_FORGE_DEFAULT_ARCH=arm64 @@ -162,3 +176,9 @@ The `debian-forge-config` tool provides several commands: - Remember the priority order - Stage options override configuration files - Use `./tools/debian-forge-config show` to see current values + +### Debian version compatibility? +- We support Debian 13+ (Trixie and newer) +- Older releases may have compatibility issues +- Use `trixie` (stable) for production builds +- Use `forky` (testing) for development diff --git a/config/debian-forge.conf b/config/debian-forge.conf index 1bbea06d..59886bef 100644 --- a/config/debian-forge.conf +++ b/config/debian-forge.conf @@ -19,7 +19,12 @@ url = [build] # Build environment settings # Default Debian suite to use -default_suite = bookworm +# We support Debian 13+ (Trixie and newer) +# Current Debian releases: +# - trixie (Debian 13) - STABLE (recommended) +# - forky (Debian 14) - TESTING +# - sid (Debian Unstable) - UNSTABLE (use with caution) +default_suite = trixie # Default architecture default_arch = amd64