""" * Author: "PeppermintOS Team(peppermintosteam@proton.me) * * License: SPDX-License-Identifier: GPL-3.0-or-later * * Move and copy files as needed """ import os import shutil from pathlib import Path import conf import paths import inflate_bubble import finish_cleanup import copy_folders import copy_files_specified import collections # Set the home path used regardless the user logged in BSTRING = paths.bstring_iso_configs home_folder = Path(BSTRING).expanduser() # Move to iso_configs os.chdir(home_folder) # Set the working path WP_CHROOT = paths.WPCHROOT # Set the current working folder cur_dir = os.getcwd().replace('/', '/') def lbinit(): """ runs the lb config command for the iso build""" current_dir = os.getcwd().replace('/', '/') os.chdir(current_dir + '/fusato') lbsetup = (conf.lbset_deb64) os.system(lbsetup) def copy_deb64_specific(): """" Debian 64 copy jobs First we copy all the folder trees Then we copy specific files. The inputs are stored in the conf.py file """ source_q = collections.deque(conf.src_paths_deb64) destination_q = collections.deque(conf.des_paths_deb64) src_size_q = len(source_q) for p in range(src_size_q): x = source_q.popleft() y = destination_q.popleft() shutil.copytree(cur_dir + x, WP_CHROOT + y, dirs_exist_ok=True ) source_f = collections.deque(conf.src_files_deb64) destination_f = collections.deque(conf.des_files_deb64) src_size_f = len(source_f) for j in range(src_size_f): w = source_f.popleft() e = destination_f.popleft() shutil.copy(cur_dir + w, WP_CHROOT + e ) def run_build(): """ Run and start the build""" run_cmd = 'sudo lb build' os.chdir(home_folder) os.chdir('fusato') os.system(run_cmd) def readybuild(): """" Ready the bld structure""" if os.path.exists('fusato'): rm_cmd = "sudo rm -r -f fusato" os.system(rm_cmd) os.makedirs('fusato') cmd_q = collections.deque(conf.cmd_deb64_q) cmd_q.popleft() else: os.makedirs('fusato') cmd_q.popleft() readybuild()