bubbles/python_modules/paths_modules/paths.py

304 lines
12 KiB
Python

"""
* SPDX-FileCopyrightText: 2023-2025 PeppermintOS Team
* (peppermintosteam@proton.me)
* SPDX-License-Identifier: GPL-3.0-or-later
*
* These are paths that are used throughout the bubbles eco systems
* Add paths as the need comes.
"""
from pathlib import Path
# Base name for the OS
BASE_NAME = 'PeppermintOS'
#### SHARED PATHS ####
######################
## bstring paths - Public
BSTRING_ISO_CONFIGS = '~/bubbles/iso_configs'
BSTRING_ISO_CONFIGS_FUSATO = '~/bubbles/iso_configs/fusato'
HOME_FOLDER = str(Path(BSTRING_ISO_CONFIGS).expanduser())
PACKAGE_LIST = "fusato/config/package-lists/"
# Fusato config root
FUSATOCONFIG = "fusato/config"
# Binary
BINARYPTH = "fusato/config/includes.binary"
# Different ways of Setting the CHROOT
WPCHROOT = "fusato/config/includes.chroot"
CHROOT_FOLDER = "fusato/config/includes.chroot/"
# Installer Chroot
INCLUDES_INSTALLER = "fusato/config/includes.installer/"
# Boostrap
BOOTSTRAP_FOLDER = 'fusato/config/includes.bootstrap/'
# Fusato Root
FUSATO_ROOT = 'fusato'
# Night Base path
BASE_DESTINATION = '/var/www/html/nightly'
# OPT PepConf path
BUILD_FILE_PATH = '/opt/pepconf'
#### End of SHARED PATHS ####
#############################
##########################################
## Associated to inflate_bubble.py paths
# Desktop Environments
DE_PATH = '/config/package-lists/'
# fusato folders to create
make_bootstrap_shared = ['etc/apt']
make_packages_shared = ['package-lists/']
make_folders = [
'/config/includes.chroot/usr/share/distro-info/',
'/config/includes.chroot/usr/share/python-apt/templates/',
'/config/includes.chroot/usr/share/icons/default',
'/config/includes.chroot/usr/share/peppermint/',
'/config/includes.chroot/usr/share/themes/',
'/config/includes.chroot/usr/local/bin/',
'/config/includes.chroot/usr/bin/',
'/config/includes.chroot/usr/sbin',
'/config/includes.chroot/etc/lightdm',
'/config/includes.bootstrap/etc/apt',
'/config/includes.chroot/etc/default',
'/config/includes.chroot/etc/apt',
'/config/includes.chroot/etc/apt/preferences.d',
'/config/includes.chroot/etc/apt/sources.list.d',
'/config/includes.chroot/etc/skel/Desktop',
'/config/includes.chroot/etc/skel/.local/share',
'/config/includes.chroot/etc/skel/.config/autostart/'
]
make_chroot_fusato_structure = [
'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/',
'etc/lightdm/lightdm.conf.d/','etc/plymouth'
]
make_chroot_installer_structure = [
'/etc/calamares/',
'/etc/calamares/modules/',
'/etc/calamares/branding/',
'/usr/bin/',
'/usr/sbin/',
'/usr/lib/calamares/modules',
'/usr/share/glib-2.0/schemas',
]
make_chroot_fusato_server = [
'etc/firewalld/zones/',
'boot/grub/',
'usr/local/bin/'
]
installer_server_dirs = ['/preseed','/usr/lib/finish-install.d/',
'/usr/share/'
]
installer_mini_dirs = ['/preseed',
'/usr/lib/finish-install.d/',
'/usr/share/',
'/preseed/repos/',
'/preseed/keyrings/',
'/preseed/grub/',
'/preseed/apps/',
'/preseed/database/',
'/preseed/pixmaps/',
'/preseed/tools/peptools/images',
'/preseed/tools/peptools/ttkcreator',
'/preseed/protools/',
'/preseed/polkit/',
'/preseed/conf/',
'/preseed/py/ttkbootstrap-1.10.1.dist-info/',
'/preseed/py/requests/',
'/preseed/py/tendo-0.3.0.dist-info/',
'/preseed/lightdm/',
'/preseed/autostart/',
'/etc/'
]
### End Inflate Bubble Paths ###
################################
# Nightly paths - used to move things for build completion#
nightly_paths = [
'/var/www/html/nightly/deb32',
'/var/www/html/nightly/dev32',
'/var/www/html/nightly/deb64',
'/var/www/html/nightly/dev64',
'/var/www/html/nightly/devarm',
'/var/www/html/nightly/debarm'
]
##########################################
### Associated to copy_files_specified.py#
### Specified Files#######################
##########################################
copyfilesspecified = {
"SRC_ALIAS" : "/aliases/bash_aliases",
"DES_ALIAS" : "/etc/skel/.bash_aliases",
"SRC_PEPREPO" : "/sources/peppermint.list",
"DES_PEPREPO" : "/etc/apt/sources.list.d",
"SRC_GPG_BINARY" : "/sources/gpg/peppermint-keyring.key.binary.gpg",
"DES_GPG_BINARY" : "/etc/apt/trusted.gpg.d/peppermint-keyring.key.binary.gpg",
"SRC_GPG_CHROOT" : "/sources/gpg/peppermint-keyring.key.chroot.gpg",
"DES_GPG_CHROOT" : "/etc/apt/trusted.gpg.d/peppermint-keyring.key.chroot.gpg",
"SRC_HOOKS_LIVE" : "/hooks/live/0095-run-py-live.hook.chroot",
"DES_HOOKS_LIVE" : "/fusato/config/hooks/live/0095-run-py-live.hook.chroot",
"SRC_HOOKS_NORMAL" : "/hooks/normal/0095-run-py-normal.hook.chroot",
"DES_HOOKS_NORMAL" : "/fusato/config/hooks/normal/0095-run-py-normal.hook.chroot",
"SRC_HOOKS_MINI_NORMAL" : "/hooks/normal/0950-final-cleanup-hook.binary",
"DES_HOOKS_MINI_NORMAL" : "/fusato/config/hooks/normal/0950-final-cleanup-hook.binary",
"SRC_XDAILY" : "/PepProTools/xDaily",
"DES_XDAILY" : "/usr/local/bin/xDaily",
"SRC_XDAILYGUI" : "/PepProTools/xdaily-gui",
"DES_XDAILYGUI" : "/usr/local/bin/xdaily-gui",
"SRC_SUGGESTED" : "/PepProTools/suggested",
"DES_SUGGESTED" : "/usr/local/bin/suggested",
"SRC_PFETCH" : "/PepProTools/pfetch",
"DES_PFETCH" : "/usr/local/bin/pfetch",
"SRC_WELCOME" : "/PepProTools/welcome",
"DES_WELCOME" : "/usr/local/bin/welcome",
"SRC_KUMO" : "/PepProTools/kumo",
"DES_KUMO" : "/usr/local/bin/kumo",
"SRC_LIGHTDM" : "/lightdm/lightdm.conf",
"DES_LIGHTDM" : "/etc/lightdm/lightdm.conf",
"SRC_LIGHTDM_GREETER" : "/lightdm/lightdm-gtk-greeter.conf",
"DES_LIGHTDM_GREETER" : "/etc/lightdm/lightdm-gtk-greeter.conf",
"SRC_PLY" : "/plymouth/plymouthd.conf",
"DES_PLY" : "/etc/plymouth/plymouthd.conf",
"SRC_DBASE_GRUB" : "/desktop_base/lines-theme/grub",
"SRC_DBASE_LOCKSCREEN" : "/desktop_base/lines-theme/lockscreen",
"SRC_DBASE_LOGIN" : "/desktop_base/lines-theme/login",
"SRC_DBASE_WALLPAPER" : "/desktop_base/lines-theme/wallpaper",
"DES_DBASE_GRUB" : "/usr/share/desktop-base/lines-theme/grub",
"DES_DBASE_LOCKSCREEN" : "/usr/share/desktop-base/lines-theme/lockscreen",
"DES_DBASE_LOGIN" : "/usr/share/desktop-base/lines-theme/login",
"DES_DBASE_WALLPAPER" : "/usr/share/desktop-base/lines-theme/wallpaper",
"PEP_INFO" : "/usr/share/python-apt/templates/Peppermint.info",
"PEP_MIRROR" : "/usr/share/python-apt/templates/Peppermint.mirrors",
"PEP_CSV" : "/usr/share/distro-info/peppermint.csv",
"SRC_PLANK" : "/application/plank.desktop",
"DES_PLANK" : "/etc/skel/.config/autostart/plank.desktop"
}
### End of copy_file_specified.py ###
############################################
### Associated to copy_folders.py
## copy_folder_files
copyfolderfiles = {
"SRC_PLY_LINES" : "/plymouth/peppermint",
"DES_PLY_LINES" : "/usr/share/plymouth/themes/peppermint",
"SRC_APPS" : "/application",
"DES_APPS" : "/usr/share/applications",
"SRC_FONT" : "/font",
"DES_FONT" : "/usr/share/fonts/pepconf",
"SRC_ISSUE" : "/issue",
"DES_ISSUE" : "/etc",
"DES_ISSUE_ETC" : "/etc",
"DES_ISSUES_OPT" : "/opt/pepconf",
"SRC_BUILD_TYPE" : "/build_type",
"DES_BUILD_TYPE" : "/opt/pepconf",
"SRC_POLKIT" : "/polkit",
"DES_POLKIT" : "/usr/share/polkit-1/actions",
"SRC_DATABASE" : "/database",
"DES_DATABASE" : "/opt/pypep/dbpep",
"SRC_USER_CONFIGS" : "/user_config",
"DES_USER_CONFIGS" : "/etc/live/config.conf.d",
"SRC_PIXMAPS" : "/PepProPixMaps",
"DES_PIXMAPS" : "/usr/share/pixmaps",
"SRC_WALLPAPER" : "/wallpaper",
"DES_WALLPAPER" : "/usr/share/backgrounds",
"SRC_MENU" : "/menu/menus",
"DES_MENU" : "/etc/skel/.config/menus",
"SRC_XFCE" : "/xfce/xfce4",
"DES_XFCE" : "/etc/skel/.config/xfce4",
"SRC_FACE" : "/face",
"DES_FACE" : "/etc/skel/",
"SRC_NEO_FETCH" : "/neofetch/neofetch",
"DES_NEO_FETCH" : "/etc/skel/.config/neofetch",
"SRC_THUNAR" : "/xfce/Thunar",
"DES_THUNAR" : "/etc/skel/.config/Thunar",
"SRC_PMOSTOOLS" : "/pmostools",
"DES_PMOSTOOLS" : "/etc/skel/.local/share/pmostools",
"SRC_AUTO_START" : "/autostart",
"DES_AUTO_START" : "/etc/skel/.config/autostart",
"SRC_PYLIBS" : "/pylibraries",
"DES_PYLIBS" : "/usr/lib/python3/dist-packages",
"SRC_DEBIAN_DARK" : "/theme/Marwaita Dark Debian/",
"SRC_MANJARO_DARK" : "/theme/Marwaita Dark Manjaro/",
"SRC_PEPPERMINT_DARK" : "/theme/Marwaita Dark Peppermint/",
"SRC_DEBIAN" : "/theme/Marwaita Debian/",
"SRC_MANJARO" : "/theme/Marwaita Manjaro/",
"SRC_PEPPERMINT" : "/theme/Marwaita Peppermint/",
"DES_THEMES" : "/usr/share/themes",
"SRC_TELA_BLUE_DARK" : "/icons/Tela-circle-blue-dark/",
"SRC_TELA_GREEN_DARK" : "/icons/Tela-circle-green-dark/",
"SRC_TELA_RED_DARK" : "/icons/Tela-circle-red-dark/",
"SRC_TELA_BLUE_BASE" : "/icons/Tela-circle-blue/",
"SRC_TELA_GREEN_BASE" : "/icons/Tela-circle-green/",
"SRC_TELA_RED_BASE" : "/icons/Tela-circle-red/",
"SRC_TELA" : "/icons/Tela-circle/",
"DES_ICONS" : "/usr/share/icons"
}
### End Copy Folders ###
########################
#########################
### Arch Specific Paths.#
#########################
# OS Release Things
osrelease = {
" SRC_DEB32_OSRELEASE" : "/osrelease/deb_32",
"SRC_DEV32_OSRELEASE" : "/osrelease/dev_32",
"SRC_DEB64_OSRELEASE" : "/osrelease/dev_64",
"SRC_DEV64_OSRELEASE" : "/osrelease/deb_64",
"SRC_DEBARM_OSRELEASE" : "/osrelease/deb_arm",
"SRC_DEVARM_OSRELEASE" : "/osrelease/dev_arm",
"DES_OSRELEASE" : "/usr/lib",
"DES_OSRELEASE_OPT" : "/opt/pepconf"
}
# Main line ID File
mainlineidfile = {
"SRC_MAIN_LINE_PEP_ID" : "/id_files/pep_id",
"DES_MAIN_LINE_PEP_ID" : "/usr/share/peppermint/pep_id"
}
# Calamares paths used for chrootInstallerfiles
calamreschrootinstaller = {
"settings": ('settings/settings.conf', '/etc/calamares/'),
"modules_conf": ('conf/modules/', '/etc/calamares/modules/'),
"branding": ('branding/peppermint/', '/etc/calamares/branding/peppermint/'),
"sources_final": ('sources/sources-final', '/usr/sbin/'),
"sources_media": ('sources/sources-media', '/usr/sbin/'),
"bootloader_config": ('scripts/bootloader-config', '/usr/sbin/'),
"update_system": ('scripts/update-system', '/usr/sbin/'),
"grub_defaults": ('scripts/grub-defaults', '/usr/sbin/'),
"add_desktop_icon": ('scripts/add-calamares-desktop-icon','/usr/bin/'),
"install_peppermint": ('scripts/install-peppermint', '/usr/bin/'),
"calamares_modules": ('modules/', '/usr/lib/calamares/modules'),
"gschema_override": ('schemas/','/usr/share/glib-2.0/schemas/'),
"desktop_file": ( 'applications/calamares-install-peppermint.desktop','/usr/share/applications/')
}
# Symlinks paths for
symlinks = {
'/usr/share/python-apt/templates/Peppermint.info': 'Debian.info',
'/usr/share/python-apt/templates/Peppermint.mirrors': 'Debian.mirrors',
'/usr/share/distro-info/peppermint.csv': 'debian.csv'
}
allowed_bases = {"deb", "dev", "debld", "devld"}