""" * SPDX-FileCopyrightText: 2023-2025 PeppermintOS Team * (peppermintosteam@proton.me) * SPDX-License-Identifier: GPL-3.0-or-later * * This module is used to store and manage the lbset commands * that are used for the lb processing *********************************************************************** * NOTE: The idea of this module is to break down the LB commands so that * you are staying with the "DRY" concept. Each Variable is a part of the * overall lbset commands. When you get down to the "COMBINED COMMANDS" * section, that is where you are building the full lbset structure * for the type of build you are compiling. If you need to add more lbset * commands, then determine if the commands are shared across all builds * or if they are private per build type. Anything you remove from the * "SHARED" commands means you are removing from ALL builds. *********************************************************************** """ # Base Code name # DEBIAN_CODENAME ='bookworm' DEVUAN_CODENAME ='daedalus' # Mirrors DEBIAN_MAIN_MIRROR = 'https://deb.debian.org/debian' DEBIAN_SEC_MIRROR = 'https://security.debian.org/debian-security' DEVUAN_MAIN_MIRROR = 'http://deb.devuan.org/merged' DEVUAN_INSTALLER_MIRROR = 'http://deb.devuan.org/devuan' # Image names # image_names ={ 1 : "PeppermintOS-deb-32", 2 : "PeppermintOS-deb-64", 3 : "PeppermintOS-dev-32", 4 : "PeppermintOS-dev-64", 5 : "PeppermintOS-deb-ARM", 6 : "PeppermintOS-dev-ARM", 7 : "PeppermintOS-server-deb-64", 8 : "PeppermintOS-server-dev-64", 9 : "PeppermintOS-mini-debmin-64", 10 : "PeppermintOS-mini-devmin-64", } # Shared Main commands LBSET_MAIN_SHARED = ( 'lb config noauto' ' --archive-areas "main contrib non-free non-free-firmware"' ' --apt-recommends true --backports false' ' --checksums sha512 --clean --color' ' --firmware-binary true --firmware-chroot false' ' --iso-application "PeppermintOS"' ' --iso-preparer "PeppermintOS-https://peppermintos.com/"' ' --iso-publisher "Peppermint OS Team"' ' --iso-volume "PeppermintOS" --mode debian --quiet' ' --security true --zsync false' ' --updates true --win32-loader false' ) # Shared by architecture LBSET_SHARED_32 = ( ' --architectures i386 --linux-flavours 686-pae' ' --uefi-secure-boot enable') LBSET_SHARED_64 = ( ' --architectures amd64 --linux-flavours amd64' ) LBSET_SHARED_ARM = ( ' --architectures arm64 --linux-flavours arm64' ' --bootstrap-qemu-arch arm64 --bootloaders grub-efi' ' --bootstrap-qemu-static /usr/sbin/qemu-debootstrap' ) # Shared by Debian and Devuan builds this inclueds all builds as follows # 32 / 64 and Desktops, not MINI or SERVER LBSET_DEBIAN_DEVUAN_SHARED = ( ' --binary-images iso-hybrid --cache true' ) # Shared By Debian LBSET_DEBIAN_SHARED = ( f' --distribution {DEBIAN_CODENAME}' f' --mirror-bootstrap {DEBIAN_MAIN_MIRROR}' f' --parent-mirror-bootstrap {DEBIAN_MAIN_MIRROR}' f' --parent-mirror-chroot {DEBIAN_MAIN_MIRROR}' f' --parent-mirror-chroot-security {DEBIAN_SEC_MIRROR}' f' --parent-mirror-binary {DEBIAN_MAIN_MIRROR}' f' --parent-mirror-binary-security {DEBIAN_SEC_MIRROR}' f' --mirror-chroot {DEBIAN_MAIN_MIRROR}' f' --mirror-chroot-security {DEBIAN_SEC_MIRROR}' ) # Shared By Devuan LBSET_DEVUAN_SHARED = ( f' --distribution {DEVUAN_CODENAME}' f' --mirror-bootstrap {DEVUAN_MAIN_MIRROR}' f' --parent-mirror-bootstrap {DEVUAN_MAIN_MIRROR}' f' --parent-mirror-chroot {DEVUAN_MAIN_MIRROR}' f' --parent-mirror-chroot-security {DEVUAN_MAIN_MIRROR}' f' --parent-mirror-binary {DEVUAN_MAIN_MIRROR}' f' --parent-mirror-binary-security {DEVUAN_MAIN_MIRROR}' f' --mirror-chroot {DEVUAN_MAIN_MIRROR}' f' --mirror-chroot-security {DEVUAN_MAIN_MIRROR}' ' --initsystem sysvinit' ' --debootstrap-options --include=ca-certificates' ) ################################## # Private by ISO build not shared# ################################## ## Flasg Ship ## LBSET_PRIVATE_DEB32 = ( f' --image-name {image_names[1]}' ) LBSET_PRIVATE_DEB64 = ( f' --image-name {image_names[2]}' ) LBSET_PRIVATE_DEV32 = ( f' --image-name {image_names[3]}' ) LBSET_PRIVATE_DEV64 = ( f' --image-name {image_names[4]}' ) LBSET_PRIVATE_DEBARM = ( f' --image-name {image_names[5]}' ) LBSET_PRIVATE_DEVARM = ( ' --debootstrap-options "--merged-usr"' f' --image-name {image_names[6]}' ) ## Loaded ## LBSET_PRIVATE_LOADED_DEB64 = ( f' --image-name {image_names[2]}' ) LBSET_PRIVATE_LOADED_DEV64 = ( f' --image-name {image_names[4]}' ) LBSET_PRIVATE_LOADED_DEB32 = ( f' --image-name {image_names[1]}' ) LBSET_PRIVATE_LOADED_DEV32 = ( f' --image-name {image_names[3]}' ) ###################################### # Share to deb server and mini builds# ###################################### LBSET_SERVER_MINI_SHARED = ( ' --binary-images iso-hybrid' ) LBSET_SHARED_INSTALLER_DEB = ( f' --debian-installer-distribution {DEBIAN_CODENAME}' ' --debian-installer-gui true' ' --debian-installer cdrom' ' --debian-installer-preseedfile preseed.cfg' ) LBSET_SHARED_INSTALLER_DEV = ( f' --debian-installer-distribution {DEVUAN_CODENAME}' ' --debian-installer-gui true' ' --debian-installer cdrom' f' --parent-mirror-debian-installer "{DEVUAN_INSTALLER_MIRROR}"' ' --debian-installer-preseedfile preseed.cfg' ) LBSET_SHARED_INSTALLER_MINI = ( ' --debootstrap-options "--include=zstd,locales,dialog,krb5-locales"' ' --bootappend-install "priority=high"' ) ######################################## # Private to deb server and mini builds# ######################################## ## Devuan Installer mirror ## LBSET_DEVUAN_DEBIAN_INSTALLER_MIRROR =( " --parent-mirror-debian-installer http://deb.devuan.org/devuan") ## Server ## LBSET_PRIVATE_SERVER_DEB64 = ( f' --image-name {image_names[7]}' ) LBSET_PRIVATE_SERVER_DEV64 = ( f' --image-name {image_names[8]}' ) ## Mini ## LBSET_PRIVATE_MINI_DEB64 = ( f' --image-name {image_names[9]}' ) LBSET_PRIVATE_MINI_DEV64 = ( f' --image-name {image_names[10]}' ) ########################### ## The combined commands ## ############################ ### Flag Ship ### LBSET_DEB32 = ( f"{LBSET_MAIN_SHARED}{LBSET_DEBIAN_DEVUAN_SHARED}{LBSET_SHARED_32}" f"{LBSET_DEBIAN_SHARED}{LBSET_PRIVATE_DEB32}" ) LBSET_DEB64 = ( f"{LBSET_MAIN_SHARED}{LBSET_DEBIAN_DEVUAN_SHARED}{LBSET_SHARED_64}" f"{LBSET_DEBIAN_SHARED}{LBSET_PRIVATE_DEB64}" ) LBSET_DEV32 = ( f"{LBSET_MAIN_SHARED}{LBSET_DEBIAN_DEVUAN_SHARED}{LBSET_SHARED_32}" f"{LBSET_DEVUAN_SHARED}{LBSET_PRIVATE_DEV32}" ) LBSET_DEV64 = ( f"{LBSET_MAIN_SHARED}{LBSET_DEBIAN_DEVUAN_SHARED}{LBSET_SHARED_64}" f"{LBSET_DEVUAN_SHARED}{LBSET_PRIVATE_DEV64}" ) LBSET_DEVarm =( f"{LBSET_MAIN_SHARED}{LBSET_DEBIAN_DEVUAN_SHARED}{LBSET_SHARED_ARM}" f"{LBSET_DEVUAN_SHARED}{LBSET_PRIVATE_DEVARM}" ) LBSET_DEBarm =( f"{LBSET_MAIN_SHARED}{LBSET_DEBIAN_DEVUAN_SHARED}{LBSET_SHARED_ARM}" f"{LBSET_DEBIAN_SHARED}{LBSET_PRIVATE_DEBARM}" ) ### Loaded ### LBSET_DEBLD64 = ( f"{LBSET_MAIN_SHARED}{LBSET_DEBIAN_DEVUAN_SHARED}{LBSET_SHARED_64}" f"{LBSET_DEBIAN_SHARED}{LBSET_PRIVATE_LOADED_DEB64}" ) LBSET_DEVLD64 = ( f"{LBSET_MAIN_SHARED}{LBSET_DEBIAN_DEVUAN_SHARED}{LBSET_SHARED_64}" f"{LBSET_DEVUAN_SHARED}{LBSET_PRIVATE_LOADED_DEV64}" ) LBSET_DEBLD32 = ( f"{LBSET_MAIN_SHARED}{LBSET_DEBIAN_DEVUAN_SHARED}{LBSET_SHARED_32}" f"{LBSET_DEBIAN_SHARED}{LBSET_PRIVATE_LOADED_DEB32}" ) LBSET_DEVLD32 = ( f"{LBSET_MAIN_SHARED}{LBSET_DEBIAN_DEVUAN_SHARED}{LBSET_SHARED_32}" f"{LBSET_DEVUAN_SHARED}{LBSET_PRIVATE_LOADED_DEV32}" ) ### Server ### LBSET_DEBSRV64 = ( f"{LBSET_MAIN_SHARED}{LBSET_SERVER_MINI_SHARED}{LBSET_SHARED_64}" f"{LBSET_DEBIAN_SHARED}{LBSET_PRIVATE_SERVER_DEB64}" f"{LBSET_SHARED_INSTALLER_DEB}" ) LBSET_DEVSRV64 = ( f"{LBSET_MAIN_SHARED}{LBSET_SERVER_MINI_SHARED}{LBSET_SHARED_64}" f"{LBSET_DEVUAN_SHARED}{LBSET_PRIVATE_SERVER_DEV64}" f"{LBSET_SHARED_INSTALLER_DEV}" ) ### Mini ### LBSET_DEBMIN64 = ( f"{LBSET_MAIN_SHARED}{LBSET_SERVER_MINI_SHARED}{LBSET_SHARED_64}" f"{LBSET_DEBIAN_SHARED}{LBSET_PRIVATE_MINI_DEB64}" f"{LBSET_SHARED_INSTALLER_DEB}" f"{LBSET_SHARED_INSTALLER_MINI}" ) LBSET_DEVMIN64 = ( f"{LBSET_MAIN_SHARED}{LBSET_SERVER_MINI_SHARED}{LBSET_SHARED_64}" f"{LBSET_DEVUAN_SHARED}{LBSET_PRIVATE_MINI_DEV64}" f"{LBSET_SHARED_INSTALLER_DEV}" f"{LBSET_SHARED_INSTALLER_MINI}" )