bubbles/python_modules/conf_modules/lbset_commands.py

270 lines
9.1 KiB
Python

"""
* 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}"
)