emprove the iso building and some cleanup
This commit is contained in:
parent
f80616eefa
commit
412189ca0d
|
@ -135,7 +135,7 @@ def setting_permissions():
|
|||
os.system('chmod 755 /usr/share/applications/Welcome.desktop')
|
||||
os.system('chmod 755 /usr/share/applications/plank.desktop')
|
||||
os.system('chmod 755 /usr/share/applications/kumo.desktop')
|
||||
os.system('chmod 755 /usr/share/applications/Install-peppermint.desktop')
|
||||
os.system('chmod 755 /usr/share/applications/calamares-install-peppermint.desktop')
|
||||
# Executables
|
||||
os.system('chmod 755 /usr/local/bin/xDaily')
|
||||
os.system('chmod 755 /usr/local/bin/kumo')
|
||||
|
|
|
@ -69,10 +69,9 @@ class BuildBase:
|
|||
|
||||
def infra_helper(self):
|
||||
""" Get the build infrastucture ready """
|
||||
infra_methods = [infra.ChrootFolders, infra.BinaryFolders,
|
||||
infra_methods = [infra.BinaryFolders, infra.ChrootInstallerFiles,
|
||||
infra.ArchitectureFiles, infra.Archive,
|
||||
infra.InstallerFiles, infra.FusatoConfigs,
|
||||
infra.ChrootInstallerFiles,
|
||||
]
|
||||
for method in infra_methods:
|
||||
method(self.sbase, self.sarch)
|
||||
|
|
|
@ -326,6 +326,7 @@ LIGHT_DM_LIST = ('lightdm\n'
|
|||
GENERAL_SHARED_LIST = ('alsa-utils\n'
|
||||
'bluez\n'
|
||||
'calamares\n'
|
||||
'calamares-settings-debian\n'
|
||||
'console-setup\n'
|
||||
'cups\n'
|
||||
'curl\n'
|
||||
|
|
|
@ -56,48 +56,6 @@ class Archive:
|
|||
)
|
||||
logger.info(MSG_FIN + HOME_FOLDER + FUSATOCONFIG + des)
|
||||
|
||||
|
||||
class ChrootFolders:
|
||||
"""
|
||||
Copy all the needed folders to CHROOT Depending on
|
||||
the architecture it will, copy folders as needed
|
||||
"""
|
||||
# It would be better to move the calamares and /opt/pepconf files
|
||||
# to a def or other solution since they are not necessary in server
|
||||
# builds.
|
||||
# Mini builds are not affected because the chroot is deleted in the
|
||||
# binary phase.
|
||||
def __init__(self,sbase,sarch):
|
||||
logger.info("Copy Chroot")
|
||||
self.sbase = sbase
|
||||
self.sarch = sarch
|
||||
src_chroot = ('/osrelease/' + self.sbase + self.sarch,
|
||||
'/osrelease/' + self.sbase + self.sarch,
|
||||
'/grub/'+ self.sbase + self.sarch,
|
||||
#'/calamares_settings/' + self.sbase + self.sarch +
|
||||
#'/calamares/modules',
|
||||
'/grub/' + self.sbase + '_themes'
|
||||
)
|
||||
des_chroot =('/usr/lib',
|
||||
'/opt/pepconf',
|
||||
'/etc/default',
|
||||
#'/etc/calamares/modules',
|
||||
'/boot/grub/themes'
|
||||
)
|
||||
# Chroot Folders.
|
||||
chroot_src_q = collections.deque(src_chroot)
|
||||
chroot_des_q = collections.deque(des_chroot)
|
||||
chroot_size_q = len(chroot_src_q)
|
||||
for size_length in range(chroot_size_q):
|
||||
source = chroot_src_q.popleft()
|
||||
des = chroot_des_q.popleft()
|
||||
logger.info(MSG_COPY + HOME_FOLDER + source)
|
||||
shutil.copytree(HOME_FOLDER + source,
|
||||
HOME_FOLDER + WPCHROOT + des,
|
||||
dirs_exist_ok = True
|
||||
)
|
||||
logger.info(MSG_FIN + HOME_FOLDER + WPCHROOT + des)
|
||||
|
||||
class ChrootInstallerFiles:
|
||||
"""
|
||||
Copies all installer folders to CHROOT depending on the base.
|
||||
|
@ -301,25 +259,35 @@ def mini_shared_installer_files():
|
|||
|
||||
src_paths = ('/installer/keyrings/',
|
||||
'/installer/applications/',
|
||||
'/database/',
|
||||
#'/database/',
|
||||
'/PepProPixMaps/',
|
||||
'/pmostools/',
|
||||
'/PepProTools/',
|
||||
'/polkit/',
|
||||
'/issue/',
|
||||
'/pylibraries/',
|
||||
'/pylibraries/requests/',
|
||||
'/pylibraries/tendo/',
|
||||
'/pylibraries/tendo-0.3.0.dist-info/',
|
||||
'/pylibraries/ttkbootstrap/',
|
||||
'/pylibraries/ttkbootstrap-1.10.1.dist-info/',
|
||||
'/pylibraries/ttkcreator/',
|
||||
'/lightdm/',
|
||||
'/autostart'
|
||||
)
|
||||
des_paths =('/preseed/keyrings/',
|
||||
'/preseed/apps/',
|
||||
'/preseed/database/',
|
||||
#'/preseed/database/',
|
||||
'/preseed/pixmaps/',
|
||||
'/preseed/tools/',
|
||||
'/preseed/protools/',
|
||||
'/preseed/polkit/',
|
||||
'/preseed/conf/',
|
||||
'/preseed/py/',
|
||||
'/preseed/py/requests/',
|
||||
'/preseed/py/tendo/',
|
||||
'/preseed/py/tendo-0.3.0.dist-info/',
|
||||
'/preseed/py/ttkbootstrap/',
|
||||
'/preseed/py/ttkbootstrap-1.10.1.dist-info/',
|
||||
'/preseed/py/ttkcreator/',
|
||||
'/preseed/lightdm/',
|
||||
'/preseed/autostart/'
|
||||
)
|
||||
|
@ -343,53 +311,57 @@ def mini_shared_installer_files():
|
|||
|
||||
class ArchitectureFiles:
|
||||
"""
|
||||
Copy all the needed files to CHROOT Depending on the
|
||||
architecture it will, copy files as needed
|
||||
Copy all the needed files and folders to CHROOT. Depending on the
|
||||
architecture, it will copy files and folders as needed.
|
||||
"""
|
||||
|
||||
def __init__(self, sbase, sarch):
|
||||
def __init__(self, sbase, sarch, force_copy=False):
|
||||
self.force_copy = force_copy
|
||||
|
||||
logger.info("Copy Architecture")
|
||||
|
||||
self.sbase = sbase
|
||||
self.sarch = sarch
|
||||
calamares_path = '/calamares_settings/'
|
||||
sources_path = '/sources/'
|
||||
src_paths = (#calamares_path + self.sbase + self.sarch + # All of the calamares files are copied in the ChrootInstallerFiles class maybe this shold be deleted
|
||||
#'/calamares/settings.conf',
|
||||
#calamares_path + self.sbase + self.sarch +
|
||||
#'/install-peppermint',
|
||||
#calamares_path + self.sbase + self.sarch +
|
||||
#'/sources-final',
|
||||
#calamares_path + self.sbase + self.sarch +
|
||||
#'/bootloader-config',
|
||||
#calamares_path +
|
||||
#'adddesktopicon/add-calamares-desktop-icon',
|
||||
sources_path + self.sbase + self.sarch +
|
||||
src_paths = (sources_path + self.sbase + self.sarch +
|
||||
'/sources.list',
|
||||
'/id_files/pep_id'
|
||||
)
|
||||
des_paths = (#'/etc/calamares/settings.conf',
|
||||
#'/usr/bin/install-peppermint',
|
||||
#'/usr/sbin/sources-final',
|
||||
#'/usr/sbin/bootloader-config',
|
||||
#'/usr/bin/add-calamares-desktop-icon',
|
||||
'/opt/pepconf/sources.list',
|
||||
'/usr/share/peppermint/pep_id'
|
||||
)
|
||||
# copy files to thier CHROOT Location
|
||||
'/id_files/pep_id',
|
||||
'/osrelease/' + self.sbase + self.sarch,
|
||||
'/osrelease/' + self.sbase + self.sarch,
|
||||
'/grub/'+ self.sbase + self.sarch,
|
||||
'/grub/' + self.sbase + '_themes'
|
||||
)
|
||||
des_paths = ('/opt/pepconf/sources.list',
|
||||
'/usr/share/peppermint/pep_id',
|
||||
'/usr/lib',
|
||||
'/opt/pepconf',
|
||||
'/boot/grub',
|
||||
'/boot/grub/themes'
|
||||
)
|
||||
|
||||
# copy files and folders to their CHROOT Location
|
||||
src_q = collections.deque(src_paths)
|
||||
des_q = collections.deque(des_paths)
|
||||
size_q = len(src_q)
|
||||
for size_length in range(size_q):
|
||||
source = src_q.popleft()
|
||||
des = des_q.popleft()
|
||||
logger.info(MSG_COPY+ HOME_FOLDER + source)
|
||||
shutil.copy(HOME_FOLDER + source,
|
||||
HOME_FOLDER + WPCHROOT + des
|
||||
)
|
||||
logger.info(MSG_FIN + HOME_FOLDER + WPCHROOT + des)
|
||||
src_path = HOME_FOLDER + source
|
||||
des_path = HOME_FOLDER + WPCHROOT + des
|
||||
|
||||
if os.path.exists(des_path) and not self.force_copy:
|
||||
logger.info(f"Skipping {src_path} as it already exists at {des_path}")
|
||||
continue
|
||||
|
||||
logger.info(f"Copying {src_path} to {des_path}")
|
||||
try:
|
||||
if os.path.isdir(src_path):
|
||||
shutil.copytree(src_path, des_path, ignore_dangling_symlinks=True)
|
||||
else:
|
||||
shutil.copy2(src_path, des_path)
|
||||
except Exception as e:
|
||||
logger.error(f"Error copying {src_path} to {des_path}: {e}")
|
||||
else:
|
||||
logger.info(f"Successfully copied {src_path} to {des_path}")
|
||||
|
||||
def set_symlinks():
|
||||
"""
|
||||
|
@ -546,7 +518,8 @@ def shared_files():
|
|||
'/lightdm/lightdm-gtk-greeter.conf',
|
||||
'/plymouth/plymouthd.conf',
|
||||
#'/packages/deb-multimedia-keyring_2016.8.1_all.deb',
|
||||
#'/repo_public_key/trusted.gpg',
|
||||
# '/repo_public_key/trusted.gpg',
|
||||
|
||||
)
|
||||
des_paths = ('/etc/skel/.bash_aliases',
|
||||
'/etc/apt/sources.list.d',
|
||||
|
|
Loading…
Reference in New Issue