""" * Author: "PeppermintOS Team(peppermintosteam@proton.me) * * License: SPDX-License-Identifier: GPL-3.0-or-later * * These functions will build the base of the fusato build folders * As well as commonly used functions """ import os from pathlib import Path import conf # Set the home path used regardless the user logged in BSTRING_ISO_CONFIGS = '~/bubbles/iso_configs' HOME_FOLDER = str(Path(BSTRING_ISO_CONFIGS).expanduser()) PACKAGE_LIST = "/fusato/config/package-lists/" CHROOT_FOLDER = "/fusato/config/includes.chroot/" BOOTSTRAP_FOLDER = '/fusato/config/includes.bootstrap/' FUSATO_ROOT = '/fusato' # Fusato base def set_fusato_structure(): """ Make some needed folders for the fustao build process. at the moment you deal wioth chroot and bootstrap """ make_chroot = ['usr/share/distro-info/', 'usr/share/python-apt/templates/', 'usr/share/icons/default', 'usr/share/peppermint/', 'usr/share/themes/', 'usr/local/bin/', 'usr/bin/', 'usr/sbin', 'etc/lightdm', 'etc/default', 'etc/apt', 'etc/apt/preferences.d', 'etc/apt/sources.list.d', 'etc/skel/Desktop', 'etc/skel/.local/share', 'etc/skel/.config/autostart/', 'etc/lightdm/lightdm.conf.d/', ] os.chdir(HOME_FOLDER + '/fusato') if os.path.exists('config'): rm_cmd = "sudo rm -r -f config" os.system(rm_cmd) os.makedirs('config') else: pass make_bootstrap = ['etc/apt'] make_packages = ['package-lists/'] make_chfldrs = make_chroot for f_f in make_chfldrs: os.makedirs(HOME_FOLDER + CHROOT_FOLDER + f_f) for f_f in make_bootstrap: os.makedirs(HOME_FOLDER + BOOTSTRAP_FOLDER + f_f) for f_f in make_packages: os.makedirs(HOME_FOLDER + PACKAGE_LIST + f_f) # Commonly Shared def make_bld_xfce(base,arch): """Write the build file""" with open(HOME_FOLDER + FUSATO_ROOT + '/' + base + '.' + arch + 'xfc', 'w', encoding='UTF-8') as f_p: f_p.write('XFCE Build') def make_bld_gnomeflashback(base,arch): """Write the build file""" with open(HOME_FOLDER + FUSATO_ROOT + '/' + base + '.' + arch + 'gfb', 'w', encoding='UTF-8') as f_p: f_p.write('Gnome Flash Back Build') def make_bld_openbox(base,arch): """Write the build file""" with open(HOME_FOLDER + FUSATO_ROOT+ '/' + base + '.' + arch + 'opb', 'w', encoding='UTF-8') as f_p: f_p.write('OpenBox Build') def set_general_shared(): """ Create the list for general shared list""" with open(HOME_FOLDER + PACKAGE_LIST + 'genshared.list.chroot', 'x', encoding='UTF-8') as general_file: general_file.write(conf.GENERAL_SHARED_LIST) def set_grub_shared(): """ Create the list for shared grub list""" with open(HOME_FOLDER + PACKAGE_LIST + 'grub.list.chroot', 'x', encoding='UTF-8') as system_file: system_file.write(conf.GRUB_LIST_SHARED) def set_binary_shared(): """ Create the shared list for grub binary""" with open(HOME_FOLDER + PACKAGE_LIST + 'installer.list.binary', 'x', encoding='UTF-8') as binary_file: binary_file.write(conf.BINARY_LIST_SHARED) def set_lightdm(): """ Create the list for the light dm list """ with open(HOME_FOLDER + PACKAGE_LIST + 'lightdm.list.chroot', 'x', encoding='UTF-8') as lightdm_file: lightdm_file.write(conf.LIGHT_DM_LIST) # Desktop Environments def set_xfce(): """ Create the list for the xfce xfce list""" with open(HOME_FOLDER + PACKAGE_LIST + 'xfce.list.chroot', 'x', encoding='UTF-8') as xfce_file: xfce_file.write(conf.XFCE_LIST) def set_gfb(): """ Create the list for the xfce xfce list""" with open(HOME_FOLDER + PACKAGE_LIST + 'gfb.list.chroot', 'x', encoding='UTF-8') as gfb_file: gfb_file.write(conf.GNOME_FLASHBACK_LIST) # CHROOT Specific def set_chroot_grub_64(): """ Append the grub list for 64 bit grub""" with open(HOME_FOLDER + PACKAGE_LIST + 'grub.list.chroot', 'a', encoding='UTF-8') as system_file: system_file.write(conf.GRUB_LIST_64) def set_chroot_grub_arm(): """ Append the grub list for the ARM grub""" with open(HOME_FOLDER + PACKAGE_LIST + 'grub.list.chroot', 'a', encoding='UTF-8') as system_file: system_file.write(conf.GRUB_LIST_ARM64) def set_chroot_grub_32(): """ Append the grub list for the 32 bit grub""" with open(HOME_FOLDER + PACKAGE_LIST + 'grub.list.chroot', 'a', encoding='UTF-8') as system_file: system_file.write(conf.GRUB_LIST_32) # Binary Specific def set_binary_64(): """ Create the list for grub binary packages for 64 bit""" with open(HOME_FOLDER + PACKAGE_LIST + 'installer.list.binary', 'a', encoding='UTF-8') as binary_file: binary_file.write(conf.BINARY_LIST_64) def set_binary_arm(): """ Create the list for grub binary packages for 64 bit""" with open(HOME_FOLDER + PACKAGE_LIST + 'installer.list.binary', 'a', encoding='UTF-8') as binary_file: binary_file.write(conf.BINARY_LIST_ARM) def set_binary_32(): """ Create the list for grub binary packages for 32 bit""" with open(HOME_FOLDER + PACKAGE_LIST + 'installer.list.binary', 'a', encoding='UTF-8') as binary_file: binary_file.write(conf.BINARY_LIST_32) # Firmware Specific def set_firmware(): """ Create the list for the firmware support for genral ISOs""" with open(HOME_FOLDER + PACKAGE_LIST + 'firmware.list.chroot', 'x', encoding='UTF-8') as firmware_file: firmware_file.write(conf.FIRMWARE_LIST_32_64) def set_firmware_arm(): """ Create the list for the firmware support for arm ISOs""" with open(HOME_FOLDER + PACKAGE_LIST + 'firmware.list.chroot', 'x', encoding='UTF-8') as firmware_file: firmware_file.write(conf.FIRMWARE_LIST_ARM)