""" * 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 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/' ] 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_chfldrs = make_chroot for f_f in make_chfldrs: os.makedirs(HOME_FOLDER + CHROOT_FOLDER + f_f) make_bsfldrs = make_bootstrap for f_f in make_bsfldrs: os.makedirs(HOME_FOLDER + BOOTSTRAP_FOLDER + f_f) # Commonly Shared 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) # 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)