merge git repos
This commit is contained in:
parent
adb0057618
commit
9d44d90d88
|
@ -76,6 +76,7 @@ class BuildBase:
|
|||
infra_methods = [infra.BinaryFolders, infra.ChrootInstallerFiles,
|
||||
infra.ArchitectureFiles, infra.Archive,
|
||||
infra.InstallerFiles, infra.FusatoConfigs,
|
||||
infra.ServerConfigFiles,
|
||||
]
|
||||
for method in infra_methods:
|
||||
method(self.sbase, self.sarch)
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
<<<<<<< HEAD
|
||||
"""
|
||||
* Author: "PeppermintOS Team(peppermintosteam@proton.me)
|
||||
*
|
||||
|
@ -8,16 +7,15 @@
|
|||
* and desktop as the need to scale the builds arises, you can add more
|
||||
* settings to meet the need.
|
||||
"""
|
||||
=======
|
||||
|
||||
import paths
|
||||
import inflate_bubble
|
||||
import finish_cleanup
|
||||
import copy_folders
|
||||
import copy_files_specified
|
||||
>>>>>>> 6dd24574 (Updated)
|
||||
|
||||
#########################################
|
||||
# Sepcify the build to use, for exmaple #
|
||||
# Sepecify the build to use, for exmaple #
|
||||
# bookworm, trixie etc... #
|
||||
#########################################
|
||||
debian_codename ='bookworm'
|
||||
|
@ -42,34 +40,28 @@ shared_setup_cmds = ('inflate_bubble.set_fusato_structure',
|
|||
'infra.add_web_profile'
|
||||
)
|
||||
|
||||
shared_setup_loaded_cmds = (
|
||||
'inflate_bubble.set_fusato_structure',
|
||||
'inflate_bubble.set_fusato_installer_structure',
|
||||
'inflate_bubble.set_general_shared',
|
||||
'inflate_bubble.set_grub_shared',
|
||||
'inflate_bubble.set_binary_shared',
|
||||
'inflate_bubble.set_lightdm',
|
||||
'infra.shared_folders',
|
||||
'infra.icons_themes',
|
||||
'infra.shared_files',
|
||||
'infra.set_symlinks',
|
||||
'infra.boostrap_shared'
|
||||
shared_setup_loaded_cmds = ('inflate_bubble.set_fusato_structure',
|
||||
'inflate_bubble.set_fusato_installer_structure',
|
||||
'inflate_bubble.set_general_shared',
|
||||
'inflate_bubble.set_grub_shared',
|
||||
'inflate_bubble.set_binary_shared',
|
||||
'inflate_bubble.set_lightdm',
|
||||
'infra.shared_folders',
|
||||
'infra.icons_themes',
|
||||
'infra.shared_files',
|
||||
'infra.set_symlinks',
|
||||
'infra.boostrap_shared'
|
||||
)
|
||||
|
||||
shared_setup_server_cmds = (
|
||||
'inflate_bubble.set_fusato_server_installer_structure',
|
||||
'inflate_bubble.set_fusato_server_structure',
|
||||
'inflate_bubble.set_grub_shared',
|
||||
'inflate_bubble.set_binary_shared',
|
||||
'infra.shared_server_files',
|
||||
'infra.boostrap_shared'
|
||||
)
|
||||
shared_setup_server_cmds = ('inflate_bubble.set_fusato_server_installer_structure',
|
||||
'inflate_bubble.set_fusato_server_structure',
|
||||
'infra.shared_server_files',
|
||||
)
|
||||
|
||||
shared_setup_mini_cmds = (
|
||||
'inflate_bubble.set_fusato_mini_installer_structure',
|
||||
'inflate_bubble.set_binary_shared',
|
||||
'infra.mini_shared_installer_files'
|
||||
)
|
||||
shared_setup_mini_cmds = ('inflate_bubble.set_fusato_mini_installer_structure',
|
||||
'inflate_bubble.set_binary_shared',
|
||||
'infra.mini_shared_installer_files'
|
||||
)
|
||||
|
||||
flag_specific_setup_32_cmds = (
|
||||
'inflate_bubble.set_specific_32_packages',)
|
||||
|
@ -97,13 +89,11 @@ setup_server_cmds = ('inflate_bubble.set_server',
|
|||
'infra.server_configs',
|
||||
)
|
||||
setup_mini_cmds = ('inflate_bubble.set_mini',)
|
||||
|
||||
# Setup grub chroot
|
||||
setup_chroot_grub_64 = ('inflate_bubble.set_chroot_grub_64',)
|
||||
setup_chroot_grub_arm = ('inflate_bubble.set_chroot_grub_arm',)
|
||||
setup_chroot_grub_32 = ('inflate_bubble.set_chroot_grub_32',)
|
||||
setup_chroot_grub_64ld = ('inflate_bubble.set_chroot_grub_64ld',)
|
||||
setup_chroot_grub_64srv = ('inflate_bubble.set_chroot_grub_64srv',)
|
||||
setup_chroot_grub_64min = ('inflate_bubble.set_chroot_grub_64,min',)
|
||||
|
||||
# Setup grub binary
|
||||
setup_binary_grub_64 = ('inflate_bubble.set_binary_64',)
|
||||
|
@ -165,7 +155,7 @@ buildarm_opb_build = (shared_setup_cmds + setup_opb_cmds +
|
|||
setup_fw_arm
|
||||
)
|
||||
|
||||
#Open_box
|
||||
#Kde
|
||||
build64_kde_build = (shared_setup_cmds + setup_kde_cmds +
|
||||
setup_chroot_grub_64 + setup_binary_grub_64 +
|
||||
setup_fw_64_32
|
||||
|
@ -193,7 +183,6 @@ build32_loaded_build = (shared_setup_loaded_cmds + setup_loaded_cmds +
|
|||
|
||||
#Server
|
||||
build64_server_build = (shared_setup_server_cmds + setup_server_cmds +
|
||||
setup_chroot_grub_64 + setup_binary_grub_64 +
|
||||
setup_fw_64_32
|
||||
)
|
||||
|
||||
|
@ -276,89 +265,91 @@ OPENBOX_LIST = ('openbox\n'
|
|||
)
|
||||
|
||||
|
||||
LOADED_LIST = ('accountsservice\n'
|
||||
'apt-config-auto-update\n'
|
||||
'atril\n'
|
||||
'baobab\n'
|
||||
'bleachbit\n'
|
||||
'blueman\n'
|
||||
'catfish\n'
|
||||
'cheese\n'
|
||||
'ffmpegthumbnailer\n'
|
||||
'flatpak\n'
|
||||
'gnome-packagekit\n'
|
||||
'gnome-system-tools\n'
|
||||
'gvfs-backends\n'
|
||||
'gufw\n'
|
||||
'gnome-calculator\n'
|
||||
'gnome-2048\n'
|
||||
'gnome-chess\n'
|
||||
'gnome-mahjongg\n'
|
||||
'gnome-sudoku\n'
|
||||
'gimp\n'
|
||||
'gimp-data-extras\n'
|
||||
'gir1.2-flatpak-1.0\n'
|
||||
'inkscape\n'
|
||||
'menulibre\n'
|
||||
'libreoffice\n'
|
||||
'libreoffice-gtk3\n'
|
||||
'libreoffice-l10n*\n'
|
||||
'mintstick\n'
|
||||
'ntpsec-ntpdate\n'
|
||||
'ntpsec\n'
|
||||
'parole \n'
|
||||
'peplocale\n'
|
||||
'pepinstall\n'
|
||||
'printer-driver-cups-pdf\n'
|
||||
'qt5-style-plugins\n'
|
||||
'qt5ct\n'
|
||||
'squashfs-tools\n'
|
||||
'sticky\n'
|
||||
'transmission-gtk\n'
|
||||
'timeshift\n'
|
||||
'thunderbird\n'
|
||||
'thunderbird-l10n-all\n'
|
||||
'tumbler\n'
|
||||
'tumbler-plugins-extra\n'
|
||||
'system-config-printer\n'
|
||||
'tela-icon-theme\n'
|
||||
'xdg-user-dirs-gtk\n'
|
||||
'xfce4\n'
|
||||
LOADED_LIST = ('xfce4\n'
|
||||
'xfce4-goodies\n'
|
||||
'xfsdump\n'
|
||||
'xorg\n'
|
||||
'xscreensaver\n'
|
||||
'xscreensaver-data\n'
|
||||
'xscreensaver-data-extra\n'
|
||||
'xscreensaver-gl\n'
|
||||
'xscreensaver-gl-extra\n'
|
||||
'xserver-xorg\n'
|
||||
'xserver-xorg-input-synaptics\n'
|
||||
'xserver-xorg-input-all\n'
|
||||
'xserver-xorg-video-vmware\n'
|
||||
'xserver-xorg-video-all\n'
|
||||
'apt-config-auto-update\n'
|
||||
'gnome-system-tools\n'
|
||||
'gvfs-backends\n'
|
||||
'blueman\n'
|
||||
'bluez-cups\n'
|
||||
'bluez-alsa-utils\n'
|
||||
'gufw\n'
|
||||
'plank\n'
|
||||
'tela-icon-theme\n'
|
||||
'system-config-printer\n'
|
||||
'menulibre\n'
|
||||
'xscreensaver\n'
|
||||
'xscreensaver-data\n'
|
||||
'xscreensaver-data-extra\n'
|
||||
'xscreensaver-gl\n'
|
||||
'xscreensaver-gl-extra\n'
|
||||
'gnome-calculator\n'
|
||||
'accountsservice\n'
|
||||
'catfish\n'
|
||||
'timeshift\n'
|
||||
'pepinstall\n'
|
||||
'sticky\n'
|
||||
'mintstick\n'
|
||||
'peplocale\n'
|
||||
'bleachbit\n'
|
||||
'gimp\n'
|
||||
'gimp-data-extras\n'
|
||||
'inkscape\n'
|
||||
'atril\n'
|
||||
'transmission-gtk\n'
|
||||
'thunderbird\n'
|
||||
'thunderbird-l10n-all\n'
|
||||
'libreoffice\n'
|
||||
'libreoffice-gtk3\n'
|
||||
'libreoffice-l10n*\n'
|
||||
'printer-driver-cups-pdf\n'
|
||||
'gnome-2048\n'
|
||||
'gnome-chess\n'
|
||||
'gnome-mahjongg\n'
|
||||
'gnome-sudoku\n'
|
||||
'cheese\n'
|
||||
'parole \n'
|
||||
'qt5-style-plugins\n'
|
||||
'qt5ct\n'
|
||||
'xfsdump\n'
|
||||
'tumbler\n'
|
||||
'tumbler-plugins-extra\n'
|
||||
'ffmpegthumbnailer\n'
|
||||
'baobab\n'
|
||||
'xdg-user-dirs-gtk\n'
|
||||
'squashfs-tools\n'
|
||||
'flatpak\n'
|
||||
'gir1.2-flatpak-1.0\n'
|
||||
'ntpsec-ntpdate\n'
|
||||
'ntpsec\n'
|
||||
'mugshot\n'
|
||||
)
|
||||
|
||||
|
||||
SERVER_LIST = ('btop\n'
|
||||
'cups\n'
|
||||
'debsecan\n'
|
||||
SERVER_LIST = ('zonefstoolspep\n'
|
||||
'dmzonedtoolspep\n'
|
||||
'firewalld\n'
|
||||
'gvfs-backends\n'
|
||||
'git\n'
|
||||
'net-tools\n'
|
||||
'nfs-common\n'
|
||||
'libzbdpep1\n'
|
||||
'sudo\n'
|
||||
'samba\n'
|
||||
'rkhunter\n'
|
||||
'sshguard\n'
|
||||
'task-ssh-server\n'
|
||||
'task-web-server\n'
|
||||
'dialog\n'
|
||||
'sshguard\n'
|
||||
'whois\n'
|
||||
'rkhunter\n'
|
||||
'debsecan\n'
|
||||
'net-tools\n'
|
||||
'nfs-common\n'
|
||||
'firewalld\n'
|
||||
'openssl\n'
|
||||
'cups\n'
|
||||
'git\n'
|
||||
'grub-pc\n'
|
||||
'wget\n'
|
||||
'zonefstoolspep\n'
|
||||
'curl\n'
|
||||
)
|
||||
|
||||
|
||||
|
@ -446,14 +437,6 @@ GRUB_LIST_64 = ('grub-efi-amd64\n'
|
|||
'grub-efi-ia32-bin\n'
|
||||
)
|
||||
|
||||
# Grub things shared by 64bit
|
||||
GRUB_LIST_64LD = ('grub-efi-amd64\n'
|
||||
'grub-efi-amd64-bin\n'
|
||||
'grub-efi-amd64-signed\n'
|
||||
'shim-helpers-amd64-signed\n'
|
||||
'grub-efi-ia32-bin\n'
|
||||
)
|
||||
|
||||
# Grub things shared by ARM
|
||||
GRUB_LIST_ARM64 = ('grub-efi-arm64\n'
|
||||
'grub-efi-arm64-bin\n'
|
||||
|
@ -507,8 +490,6 @@ FIRMWARE_LIST_32_64 = ('atmel-firmware\n'
|
|||
'midisport-firmware\n'
|
||||
)
|
||||
|
||||
# Frimware packages used by ARM
|
||||
FIRMWARE_LIST_ARM = ('firmware-atheros\n'
|
||||
### Inflate bubble section
|
||||
import paths
|
||||
src_paths = [paths.src_deb64_osrelease,
|
||||
|
@ -813,12 +794,7 @@ BINARY_LIST_32 = ('grub-efi-ia32\n'
|
|||
'grub-efi-ia32-signed\n'
|
||||
'grub-efi-ia32-bin\n'
|
||||
'shim-helpers-i386-signed\n'
|
||||
'firmware-libertas\n'
|
||||
'firmware-netxen\n'
|
||||
'firmware-zd1211\n'
|
||||
'firmware-ralink'
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
binary_list_64 = ('efibootmgr\n'
|
||||
'grub-common\n'
|
||||
|
@ -919,6 +895,7 @@ f' --distribution {debian_codename}'
|
|||
LBSET_DEVUAN_SHARED = (
|
||||
f' --distribution {devuan_codename}'
|
||||
' --initsystem sysvinit'
|
||||
' --debootstrap-options --include=ca-certificates'
|
||||
' --mirror-bootstrap http://deb.devuan.org/merged'
|
||||
' --parent-mirror-bootstrap http://deb.devuan.org/merged'
|
||||
' --parent-mirror-chroot http://deb.devuan.org/merged'
|
||||
|
|
|
@ -10,7 +10,6 @@ import os
|
|||
import shutil
|
||||
from pathlib import Path
|
||||
from datetime import date
|
||||
<<<<<<< HEAD
|
||||
import time
|
||||
|
||||
# Set the home path used regardless the user logged in
|
||||
|
@ -37,14 +36,12 @@ string_home = str(home_folder)
|
|||
|
||||
def make_check_sum():
|
||||
""" Generate the check sum files """
|
||||
<<<<<<< HEAD
|
||||
os.chdir(HOME_FOLDER + FUSATO_ROOT)
|
||||
current_working_directory = os.getcwd().replace('/', '/')
|
||||
for _, _, files in os.walk(current_working_directory):
|
||||
=======
|
||||
current_dir = os.getcwd().replace('/', '/')
|
||||
for root, dirs, files in os.walk(current_dir):
|
||||
>>>>>>> cc1e91f1 (Updated)
|
||||
for fiso in files:
|
||||
if fiso.endswith('.iso'):
|
||||
sha = "sha512sum "
|
||||
|
@ -53,7 +50,6 @@ def make_check_sum():
|
|||
os.system(gen_sum)
|
||||
|
||||
|
||||
<<<<<<< HEAD
|
||||
def process_iso(base, arch, desktop):
|
||||
"""
|
||||
Process the ISO for a given base, architecture, and desktop.
|
||||
|
@ -313,7 +309,6 @@ def kill_fusato():
|
|||
|
||||
def kill_old_iso():
|
||||
""" Delete older ISOs"""
|
||||
<<<<<<< HEAD
|
||||
base_path = BASE_DESTINATION
|
||||
arch_list = ['/deb32/', '/deb64/', '/debarm/', '/dev32/', '/dev64/', '/devarm/']
|
||||
de_list = ['gfb', 'opb', 'xfce', 'loaded', 'server', 'mini', 'kde']
|
||||
|
|
|
@ -23,7 +23,6 @@ def set_config_structure():
|
|||
# you can add additional, folders to the array as needed, you can also
|
||||
# remove a folder if you do not deem it necessary to be used
|
||||
folders = ["aliases", "xfce", "wallpaper", "user_config", "theme",
|
||||
<<<<<<< HEAD
|
||||
"sources", "icons", "profile", "polkit",
|
||||
"plymouth", "osrelease", "multimedia", "menu", "splash",
|
||||
"lightdm", "issue", "info", "hooks", "grub", "font",
|
||||
|
@ -31,13 +30,6 @@ def set_config_structure():
|
|||
"application", "PepProPixMaps", "PepProTools", "packages",
|
||||
"loaded-application", "loaded-hooks", "loaded-wallpaper",
|
||||
"loaded-xfce", "id_files", "server-hooks,", "server-installer", "server-firewall", "server-scripts"
|
||||
=======
|
||||
"sources", "icons", "gksudo", "profile", "polkit",
|
||||
"plymouth", "osrelease", "multimedia", "menu", "splash",
|
||||
"lightdm", "issue", "info", "hooks", "grub", "font",
|
||||
"desktop_base", "database", "calamares_settings",
|
||||
"application", "PepProPixMaps", "PepProTools", "packages"
|
||||
>>>>>>> cc1e91f1 (Updated)
|
||||
]
|
||||
for f in folders:
|
||||
if os.path.exists(f):
|
||||
|
@ -47,8 +39,4 @@ def set_config_structure():
|
|||
else:
|
||||
os.makedirs(f)
|
||||
|
||||
<<<<<<< HEAD
|
||||
set_config_structure()
|
||||
=======
|
||||
set_config_structure()
|
||||
>>>>>>> cc1e91f1 (Updated)
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
|
||||
import os
|
||||
from pathlib import Path
|
||||
<<<<<<< HEAD
|
||||
import conf
|
||||
|
||||
# Set the home path used regardless the user logged in
|
||||
|
@ -68,8 +67,9 @@ def set_fusato_server_structure():
|
|||
at the moment you deal with chroot, bootstrap, and
|
||||
includes-installer
|
||||
"""
|
||||
make_chroot = ['etc/firewalld/zones',
|
||||
'boot/grub',
|
||||
make_chroot = ['etc/firewalld/zones/',
|
||||
'boot/grub/',
|
||||
'usr/local/bin/',
|
||||
]
|
||||
os.chdir(os.path.join(HOME_FOLDER, FUSATO_ROOT))
|
||||
if os.path.exists('config'):
|
||||
|
@ -498,4 +498,4 @@ def set_fusato_structure():
|
|||
# make needed folders
|
||||
for f in make_fldrs:
|
||||
os.makedirs(working_path + f)
|
||||
>>>>>>> cc1e91f1 (Updated)
|
||||
|
||||
|
|
|
@ -309,6 +309,96 @@ def mini_shared_installer_files():
|
|||
shutil.copy(src_path, des_path)
|
||||
logger.info(f"Copy completed: {des_path}")
|
||||
|
||||
class ServerConfigFiles:
|
||||
"""
|
||||
Copies server initial config files CHROOT depending on the base.
|
||||
"""
|
||||
ALLOWED_BASES = {"debsrv", "devsrv"}
|
||||
def __init__(self, base, sarch=None):
|
||||
self.base = base
|
||||
self.sarch = sarch
|
||||
if self.base not in self.ALLOWED_BASES:
|
||||
logger.warning(f"Base '{self.base}' is not allowed. Skipping.")
|
||||
return
|
||||
logger.info(f"Copy Server Files for base: {self.base}")
|
||||
server_path = '/server/scripts/'
|
||||
self.src_paths = (
|
||||
f'{server_path}{self.base}/welcome.sh',
|
||||
f'{server_path}{self.base}/configure_apache2.sh',
|
||||
f'{server_path}{self.base}/configure_firewalld.sh',
|
||||
f'{server_path}{self.base}/configure_hostname.sh',
|
||||
f'{server_path}{self.base}/configure_mariadb.sh',
|
||||
f'{server_path}{self.base}/configure_nginx.sh',
|
||||
f'{server_path}{self.base}/configure_php_and_docker.sh',
|
||||
f'{server_path}{self.base}/configure_postfix.sh',
|
||||
f'{server_path}{self.base}/configure_postgresql.sh',
|
||||
f'{server_path}{self.base}/configure_sqlite.sh',
|
||||
f'{server_path}{self.base}/configure_ssh.sh',
|
||||
f'{server_path}{self.base}/configure_static_ip.sh',
|
||||
f'{server_path}{self.base}/create_user.sh',
|
||||
f'{server_path}{self.base}/update_and_install.sh'
|
||||
)
|
||||
|
||||
self.des_paths = (
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin',
|
||||
'/usr/local/bin'
|
||||
)
|
||||
self.copy_files()
|
||||
|
||||
|
||||
def copy_files(self):
|
||||
""" Ensure destination directories exist before copying"""
|
||||
for des in self.des_paths:
|
||||
full_des_path = os.path.join(HOME_FOLDER, WPCHROOT.strip('/'), des.strip('/'))
|
||||
try:
|
||||
os.makedirs(full_des_path, exist_ok=True)
|
||||
logger.info(f"Ensured directory exists: {full_des_path}")
|
||||
except Exception as e:
|
||||
logger.error(f"Error creating directory {full_des_path}: {e}")
|
||||
src_q = collections.deque(self.src_paths)
|
||||
des_q = collections.deque(self.des_paths)
|
||||
size_q = len(src_q)
|
||||
for _ in range(size_q):
|
||||
source = src_q.popleft()
|
||||
des = des_q.popleft()
|
||||
full_src_path = os.path.join(HOME_FOLDER, source.strip('/'))
|
||||
full_des_path = os.path.join(HOME_FOLDER,
|
||||
WPCHROOT.strip('/'), des.strip('/')
|
||||
)
|
||||
logger.info(MSG_COPY + full_src_path)
|
||||
try:
|
||||
if os.path.exists(full_src_path):
|
||||
if os.path.isdir(full_src_path):
|
||||
shutil.copytree(full_src_path,
|
||||
os.path.join(full_des_path,
|
||||
os.path.basename(full_src_path)),
|
||||
dirs_exist_ok=True
|
||||
)
|
||||
else:
|
||||
shutil.copy(full_src_path, full_des_path)
|
||||
logger.info(MSG_FIN + full_des_path)
|
||||
else:
|
||||
logger.error(f"Source path does not exist: {full_src_path}")
|
||||
except Exception as e:
|
||||
logger.error(f"Error copying {full_src_path} to {full_des_path}: {e}")
|
||||
@classmethod
|
||||
def run_for_all_bases(cls):
|
||||
""" Define the bases to be used"""
|
||||
bases = ["debsrv", "devsrv", "invalid_base"]
|
||||
for base in bases:
|
||||
cls(base)
|
||||
|
||||
class ArchitectureFiles:
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue