feat: scaffold Arcline OS build system
Scaffold the Arcline OS build system ("the wires"): a transparent,
auditable pipeline that turns a Debian bookworm base into hardened OS
images for the server, workstation, and cloud editions.
- Makefile orchestrates everything (make iso-<edition>, check, test,
toolchain, clean); versions.mk is the single source of truth for
versions and paths.
- scripts/ is the plain-bash pipeline: debootstrap -> install packages
-> apply overlays -> in-chroot configure -> live ISO, plus a rootfs
archive along the way.
- ARCLINE_TOOLCHAIN=auto|skip|require controls whether the 11 Go tools
are bundled into an image (auto by default; minimal builds available
via make iso-<edition>-minimal).
- GPL-3.0 licensed, sponsored by Arcline IT LLC.
This commit is contained in:
40
versions.mk
Normal file
40
versions.mk
Normal file
@@ -0,0 +1,40 @@
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
# Arcline OS — version pins & build constants
|
||||
#
|
||||
# Single source of truth for what a build produces. Every script sources this
|
||||
# (directly or via scripts/common.sh) so there is exactly one place to bump a
|
||||
# version or switch the Debian base.
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
# Distro identity
|
||||
DISTRO_NAME := Arcline OS
|
||||
DISTRO_ID := arclineos
|
||||
VERSION := 0.1.0
|
||||
RELEASE_NAME := arclines
|
||||
|
||||
# Debian base we build on. Bookworm = Debian 12 stable.
|
||||
DEBIAN_SUITE := bookworm
|
||||
DEBIAN_MIRROR := http://deb.debian.org/debian
|
||||
SECURITY_MIRROR := http://security.debian.org/debian-security
|
||||
|
||||
# Architecture we target first. amd64 is the primary; arm64 builds are a
|
||||
# stretch goal. Kept in one place so adding arm64 is a one-line change.
|
||||
ARCH := amd64
|
||||
|
||||
# Kernel flavour shipped by the base. Bookworm ships 6.1 LTS.
|
||||
KERNEL_PACKAGE := linux-image-amd64
|
||||
KERNEL_VERSION := 6.1
|
||||
|
||||
# Edition codenames (the "what do I install" flavours).
|
||||
EDITIONS := server workstation cloud
|
||||
|
||||
# Output layout under build/
|
||||
BUILD_DIR := build
|
||||
ROOTFS_DIR := $(BUILD_DIR)/rootfs
|
||||
IMAGE_DIR := $(BUILD_DIR)/iso
|
||||
DEB_DIR := $(BUILD_DIR)/debs
|
||||
LOG_DIR := $(BUILD_DIR)/logs
|
||||
ARTIFACT_DIR := $(BUILD_DIR)/artifacts
|
||||
|
||||
# Toolchain: the 11 Go tools that ship with Arcline OS (see toolchain/).
|
||||
TOOLCHAIN_REPO := https://git.arcline.it/arcline/tools.git
|
||||
Reference in New Issue
Block a user