refactor: unified multi-profile build system
Add 4 configurable profiles (stable-cinnamon, stable-niri, mainline-cinnamon, mainline-niri) with a single unified build entry point. - iso/build.sh: replaces build-iso.sh / build-live-iso.sh / build-niri-live-iso.sh; accepts --profile and --type flags - iso/_inner-build-unified.sh: replaces the three _inner-build-*.sh scripts; branches on BUILD_TYPE / DESKTOP / KERNEL_PKG env vars - config/profiles/stable-niri/: new — linux (k6) + niri/Wayland/noctalia - config/profiles/mainline-cinnamon/: new — linux-mainline (k7) + Cinnamon/X11 - config/profiles/mainline-niri/packages.live.list: symlink added - config/profiles/stable-cinnamon/packages.live.list: symlink added - Makefile: PROFILE variable (default stable-cinnamon), shellcheck updated - installer/install.sh: respects DEFAULT_PROFILE env (set by live ISO) - tests/run-qemu-test.sh: passes PROFILE through to build and overlay Live ISOs embed the installer pre-configured for the same profile they were built with (DEFAULT_PROFILE in /etc/profile.d/).
This commit is contained in:
@@ -35,12 +35,18 @@ export PKG_LIST_FILE
|
||||
[[ -r "$PKG_LIST_FILE" ]] || die "packages.list $PKG_LIST_FILE missing"
|
||||
|
||||
# ---------- profile ----------
|
||||
# PROFILE can be set on the command line or in the environment.
|
||||
# If not set, fall back to DEFAULT_PROFILE which the live ISO writes to
|
||||
# /etc/profile.d/00-void-installer.sh so the embedded installer defaults to
|
||||
# the same configuration the live session was built with.
|
||||
PROFILE="${PROFILE:-${DEFAULT_PROFILE:-stable-cinnamon}}"
|
||||
export PROFILE
|
||||
PROJECT_DIR="${PROJECT_DIR:-$SHARE_DIR}"
|
||||
PROFILES_DIR="${PROFILES_DIR:-$SHARE_DIR/profiles}"
|
||||
export PROJECT_DIR PROFILES_DIR
|
||||
# shellcheck source=lib/profiles.sh
|
||||
source "$INSTALLER_DIR/lib/profiles.sh"
|
||||
load_profile || die "could not load profile '${PROFILE:-stable-cinnamon}'"
|
||||
load_profile || die "could not load profile '${PROFILE}'"
|
||||
# Profile may override the package list.
|
||||
[[ -r "$PROFILE_PACKAGES_FILE" ]] && PKG_LIST_FILE="$PROFILE_PACKAGES_FILE"
|
||||
log "using packages list: $PKG_LIST_FILE"
|
||||
|
||||
Reference in New Issue
Block a user