270 lines
9.1 KiB
Python
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}"
|
|
)
|