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/Welcome.desktop')
|
||||||
os.system('chmod 755 /usr/share/applications/plank.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/kumo.desktop')
|
||||||
os.system('chmod 755 /usr/share/applications/Install-peppermint.desktop')
|
os.system('chmod 755 /usr/share/applications/calamares-install-peppermint.desktop')
|
||||||
# Executables
|
# Executables
|
||||||
os.system('chmod 755 /usr/local/bin/xDaily')
|
os.system('chmod 755 /usr/local/bin/xDaily')
|
||||||
os.system('chmod 755 /usr/local/bin/kumo')
|
os.system('chmod 755 /usr/local/bin/kumo')
|
||||||
|
|
|
@ -69,10 +69,9 @@ class BuildBase:
|
||||||
|
|
||||||
def infra_helper(self):
|
def infra_helper(self):
|
||||||
""" Get the build infrastucture ready """
|
""" Get the build infrastucture ready """
|
||||||
infra_methods = [infra.ChrootFolders, infra.BinaryFolders,
|
infra_methods = [infra.BinaryFolders, infra.ChrootInstallerFiles,
|
||||||
infra.ArchitectureFiles, infra.Archive,
|
infra.ArchitectureFiles, infra.Archive,
|
||||||
infra.InstallerFiles, infra.FusatoConfigs,
|
infra.InstallerFiles, infra.FusatoConfigs,
|
||||||
infra.ChrootInstallerFiles,
|
|
||||||
]
|
]
|
||||||
for method in infra_methods:
|
for method in infra_methods:
|
||||||
method(self.sbase, self.sarch)
|
method(self.sbase, self.sarch)
|
||||||
|
|
|
@ -326,6 +326,7 @@ LIGHT_DM_LIST = ('lightdm\n'
|
||||||
GENERAL_SHARED_LIST = ('alsa-utils\n'
|
GENERAL_SHARED_LIST = ('alsa-utils\n'
|
||||||
'bluez\n'
|
'bluez\n'
|
||||||
'calamares\n'
|
'calamares\n'
|
||||||
|
'calamares-settings-debian\n'
|
||||||
'console-setup\n'
|
'console-setup\n'
|
||||||
'cups\n'
|
'cups\n'
|
||||||
'curl\n'
|
'curl\n'
|
||||||
|
|
|
@ -56,48 +56,6 @@ class Archive:
|
||||||
)
|
)
|
||||||
logger.info(MSG_FIN + HOME_FOLDER + FUSATOCONFIG + des)
|
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:
|
class ChrootInstallerFiles:
|
||||||
"""
|
"""
|
||||||
Copies all installer folders to CHROOT depending on the base.
|
Copies all installer folders to CHROOT depending on the base.
|
||||||
|
@ -301,25 +259,35 @@ def mini_shared_installer_files():
|
||||||
|
|
||||||
src_paths = ('/installer/keyrings/',
|
src_paths = ('/installer/keyrings/',
|
||||||
'/installer/applications/',
|
'/installer/applications/',
|
||||||
'/database/',
|
#'/database/',
|
||||||
'/PepProPixMaps/',
|
'/PepProPixMaps/',
|
||||||
'/pmostools/',
|
'/pmostools/',
|
||||||
'/PepProTools/',
|
'/PepProTools/',
|
||||||
'/polkit/',
|
'/polkit/',
|
||||||
'/issue/',
|
'/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/',
|
'/lightdm/',
|
||||||
'/autostart'
|
'/autostart'
|
||||||
)
|
)
|
||||||
des_paths =('/preseed/keyrings/',
|
des_paths =('/preseed/keyrings/',
|
||||||
'/preseed/apps/',
|
'/preseed/apps/',
|
||||||
'/preseed/database/',
|
#'/preseed/database/',
|
||||||
'/preseed/pixmaps/',
|
'/preseed/pixmaps/',
|
||||||
'/preseed/tools/',
|
'/preseed/tools/',
|
||||||
'/preseed/protools/',
|
'/preseed/protools/',
|
||||||
'/preseed/polkit/',
|
'/preseed/polkit/',
|
||||||
'/preseed/conf/',
|
'/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/lightdm/',
|
||||||
'/preseed/autostart/'
|
'/preseed/autostart/'
|
||||||
)
|
)
|
||||||
|
@ -343,53 +311,57 @@ def mini_shared_installer_files():
|
||||||
|
|
||||||
class ArchitectureFiles:
|
class ArchitectureFiles:
|
||||||
"""
|
"""
|
||||||
Copy all the needed files to CHROOT Depending on the
|
Copy all the needed files and folders to CHROOT. Depending on the
|
||||||
architecture it will, copy files as needed
|
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")
|
logger.info("Copy Architecture")
|
||||||
|
|
||||||
self.sbase = sbase
|
self.sbase = sbase
|
||||||
self.sarch = sarch
|
self.sarch = sarch
|
||||||
calamares_path = '/calamares_settings/'
|
|
||||||
sources_path = '/sources/'
|
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
|
src_paths = (sources_path + self.sbase + self.sarch +
|
||||||
#'/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 +
|
|
||||||
'/sources.list',
|
'/sources.list',
|
||||||
'/id_files/pep_id'
|
'/id_files/pep_id',
|
||||||
)
|
'/osrelease/' + self.sbase + self.sarch,
|
||||||
des_paths = (#'/etc/calamares/settings.conf',
|
'/osrelease/' + self.sbase + self.sarch,
|
||||||
#'/usr/bin/install-peppermint',
|
'/grub/'+ self.sbase + self.sarch,
|
||||||
#'/usr/sbin/sources-final',
|
'/grub/' + self.sbase + '_themes'
|
||||||
#'/usr/sbin/bootloader-config',
|
)
|
||||||
#'/usr/bin/add-calamares-desktop-icon',
|
des_paths = ('/opt/pepconf/sources.list',
|
||||||
'/opt/pepconf/sources.list',
|
'/usr/share/peppermint/pep_id',
|
||||||
'/usr/share/peppermint/pep_id'
|
'/usr/lib',
|
||||||
)
|
'/opt/pepconf',
|
||||||
# copy files to thier CHROOT Location
|
'/boot/grub',
|
||||||
|
'/boot/grub/themes'
|
||||||
|
)
|
||||||
|
|
||||||
|
# copy files and folders to their CHROOT Location
|
||||||
src_q = collections.deque(src_paths)
|
src_q = collections.deque(src_paths)
|
||||||
des_q = collections.deque(des_paths)
|
des_q = collections.deque(des_paths)
|
||||||
size_q = len(src_q)
|
size_q = len(src_q)
|
||||||
for size_length in range(size_q):
|
for size_length in range(size_q):
|
||||||
source = src_q.popleft()
|
source = src_q.popleft()
|
||||||
des = des_q.popleft()
|
des = des_q.popleft()
|
||||||
logger.info(MSG_COPY+ HOME_FOLDER + source)
|
src_path = HOME_FOLDER + source
|
||||||
shutil.copy(HOME_FOLDER + source,
|
des_path = HOME_FOLDER + WPCHROOT + des
|
||||||
HOME_FOLDER + WPCHROOT + des
|
|
||||||
)
|
|
||||||
logger.info(MSG_FIN + 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():
|
def set_symlinks():
|
||||||
"""
|
"""
|
||||||
|
@ -546,7 +518,8 @@ def shared_files():
|
||||||
'/lightdm/lightdm-gtk-greeter.conf',
|
'/lightdm/lightdm-gtk-greeter.conf',
|
||||||
'/plymouth/plymouthd.conf',
|
'/plymouth/plymouthd.conf',
|
||||||
#'/packages/deb-multimedia-keyring_2016.8.1_all.deb',
|
#'/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',
|
des_paths = ('/etc/skel/.bash_aliases',
|
||||||
'/etc/apt/sources.list.d',
|
'/etc/apt/sources.list.d',
|
||||||
|
|
Loading…
Reference in New Issue