bubbles/python_modules/inflate_bubble.py

157 lines
5.1 KiB
Python

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