diff --git a/linux-live/aptsources/stretch.list b/linux-live/aptsources/stretch.list new file mode 100644 index 0000000..72dcce0 --- /dev/null +++ b/linux-live/aptsources/stretch.list @@ -0,0 +1,5 @@ +deb http://deb.debian.org/debian/ stretch main contrib non-free +deb http://deb.debian.org/debian/ stretch-updates main contrib non-free +deb http://security.debian.org/debian-security stretch/updates main contrib non-free + +deb-src http://deb.debian.org/debian/ stretch main contrib non-free diff --git a/linux-live/basesystem/01-core/install b/linux-live/basesystem/01-core/install index cd7177c..15d4863 100644 --- a/linux-live/basesystem/01-core/install +++ b/linux-live/basesystem/01-core/install @@ -9,6 +9,8 @@ SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" $APT_CMD update >>$OUTPUT 2>&1 && $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 linux-image-$KERNEL_ARCH >>$OUTPUT 2>&1 +echo "davfs2 davfs2/suid_file boolean true" | debconf-set-selections + # install packages if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ @@ -16,4 +18,22 @@ if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \ $(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1 -fi \ No newline at end of file +fi + +# install packages +if [ $DISTRIBUTION != "stretch" ] && [ $PACKAGE_VARIANT = "standard" ]; then + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD update >>$OUTPUT 2>&1 && + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \ + lz4 zstd >>$OUTPUT 2>&1 +fi + +if [ $DISTRIBUTION = "bullseye" ]; then + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD update >>$OUTPUT 2>&1 && + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \ + selinux-policy-default >>$OUTPUT 2>&1 + sed -i "s,SELINUX=permissive,SELINUX=disabled,g" /etc/selinux/config +fi diff --git a/linux-live/basesystem/01-core/standard.list b/linux-live/basesystem/01-core/standard.list index 9ac5fc5..632b033 100644 --- a/linux-live/basesystem/01-core/standard.list +++ b/linux-live/basesystem/01-core/standard.list @@ -43,5 +43,9 @@ wget gnupg openssh-server network-manager -lz4 -zstd \ No newline at end of file +btrfs-progs +xfsprogs +cifs-utils +nfs-common +davfs2 +open-vm-tools \ No newline at end of file diff --git a/linux-live/buildconfig b/linux-live/buildconfig index 672f7c0..cdf1294 100644 --- a/linux-live/buildconfig +++ b/linux-live/buildconfig @@ -7,7 +7,7 @@ DISTRIBUTION_TYPE="debian" DISTRIBUTION="buster" # -DISTRIBUTION_ARCH="amd64" +DISTRIBUTION_ARCH="i386" # Used when building Ubuntu DISTRIBUTION_VARIANT="minbase" diff --git a/linux-live/minioslib b/linux-live/minioslib index 7f9a8fe..39883de 100644 --- a/linux-live/minioslib +++ b/linux-live/minioslib @@ -31,8 +31,10 @@ function common_variables() { if [ $DISTRIBUTION_ARCH = "amd64" ]; then KERNEL_ARCH="amd64" + #PACKAGE_VARIANT="standard" elif [ $DISTRIBUTION_ARCH = "i386" ]; then KERNEL_ARCH="686-pae" + PACKAGE_VARIANT="minimal" elif [ $DISTRIBUTION_ARCH = "arm64" ]; then KERNEL_ARCH="arm64" fi @@ -688,6 +690,11 @@ function build_live() { mv $BUILD_DIR/boot/initrfs.img $PARENT_DIR/image/$LIVEKITNAME/boot/initrfs.img cp -r $SCRIPT_DIR/linux-live/bootfiles/* $PARENT_DIR/image/$LIVEKITNAME + + if [ $PACKAGE_VARIANT = "minimal" ]; then + sed -i 's/minios.flags=perch/minios.flags=perch,automount/g' $PARENT_DIR/image/$LIVEKITNAME/boot/syslinux.cfg + sed -i 's/minios.flags= /minios.flags=automount /g' $PARENT_DIR/image/$LIVEKITNAME/boot/syslinux.cfg + fi # create compressed 01-core.sb cd $BUILD_DIR @@ -881,7 +888,7 @@ function chroot_build_cleanup() { rm -Rf /usr/share/man/?? >>$OUTPUT 2>&1 rm -Rf /usr/share/man/*_* >>$OUTPUT 2>&1 - rm -Rf /usr/share/icons/elementaryXubuntu-dark >>$OUTPUT 2>&1 + #rm -Rf /usr/share/icons/elementaryXubuntu-dark >>$OUTPUT 2>&1 rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1 rm /usr/share/applications/compton.desktop >>$OUTPUT 2>&1 @@ -1045,11 +1052,13 @@ function chroot_configure() { adduser --gecos '' live --disabled-password >>$OUTPUT 2>&1 echo "Set up password for user 'live'" >>$OUTPUT 2>&1 echo live:evil | chpasswd >>$OUTPUT 2>&1 - addgroup live adm >>$OUTPUT 2>&1 - addgroup live sudo >>$OUTPUT 2>&1 - addgroup live audio >>$OUTPUT 2>&1 - addgroup live users >>$OUTPUT 2>&1 - addgroup live live >>$OUTPUT 2>&1 + #addgroup live adm >>$OUTPUT 2>&1 + #addgroup live sudo >>$OUTPUT 2>&1 + #addgroup live audio >>$OUTPUT 2>&1 + #addgroup live plugdev >>$OUTPUT 2>&1 + #addgroup live users >>$OUTPUT 2>&1 + #addgroup live live >>$OUTPUT 2>&1 + usermod -a -G sudo live (cd /linux-live/basesystem/01-core/rootcopy && cp --parents -afr * /) diff --git a/linux-live/modules/03-xfce-desktop/install b/linux-live/modules/03-xfce-desktop/install index 1230714..7fa1c29 100644 --- a/linux-live/modules/03-xfce-desktop/install +++ b/linux-live/modules/03-xfce-desktop/install @@ -18,7 +18,10 @@ if [ $DISTRIBUTION = "buster" ] && [ $GTKUI = "3" ]; then curl -L https://cyber-x.ru/wp-content/upload/mx19/mx19.gpg | sudo apt-key add - fi -# install $PACKAGE_VARIANTs +echo "nodm nodm/enabled boolean true" | debconf-set-selections +echo "samba-common samba-common/dhcp boolean false" | debconf-set-selections + +# install packages if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ $APT_CMD update >>$OUTPUT 2>&1 && @@ -27,6 +30,23 @@ if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then $(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1 fi +# install packages +if [ $DISTRIBUTION = "stretch" ]; then + wget -c http://ftp.ru.debian.org/debian/pool/main/e/elementary-xfce/elementary-xfce-icon-theme_0.15.2-1_all.deb + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD update >>$OUTPUT 2>&1 && + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \ + ./elementary-xfce-icon-theme_0.15.2-1_all.deb >>$OUTPUT 2>&1 + rm -f ./elementary-xfce-icon-theme_0.15.2-1_all.deb >>$OUTPUT 2>&1 +else + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD update >>$OUTPUT 2>&1 && + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \ + elementary-xfce-icon-theme >>$OUTPUT 2>&1 +fi + if [ $DISTRIBUTION = "buster" ] && [ $GTKUI = "3" ]; then sed -i "s,deb http://mxrepo.com/mx/repo/ temp main,#deb http://mxrepo.com/mx/repo/ temp main,g" /etc/apt/sources.list fi @@ -38,7 +58,7 @@ if [ $DISTRIBUTION = "bullseye" ]; then fi if grep xfce4-whiskermenu-plugin $SCRIPT_DIR/$PACKAGE_VARIANT.list >>$OUTPUT 2>&1; then - if [ $DISTRIBUTION = "buster" ]; then + if [ $DISTRIBUTION = "buster" ] || [ $DISTRIBUTION = "stretch" ]; then echo "favorites=exo-terminal-emulator.desktop,exo-file-manager.desktop,exo-mail-reader.desktop,exo-web-browser.desktop" >/etc/skel/.config/xfce4/panel/whiskermenu-1.rc echo "favorites=exo-terminal-emulator.desktop,exo-file-manager.desktop,exo-mail-reader.desktop,exo-web-browser.desktop" >/root/.config/xfce4/panel/whiskermenu-1.rc echo "favorites=exo-terminal-emulator.desktop,exo-file-manager.desktop,exo-mail-reader.desktop,exo-web-browser.desktop" >/home/live/.config/xfce4/panel/whiskermenu-1.rc @@ -577,19 +597,19 @@ EOF fi if [ $PACKAGE_VARIANT = "minimal" ]; then - cat </etc/skel/.config/xfce4/helpers.rc + cat </etc/skel/.config/xfce4/helpers.rc TerminalEmulator=xterm FileManager=pcmanfm WebBrowser= EOF - cat </home/live/.config/xfce4/helpers.rc + cat </home/live/.config/xfce4/helpers.rc TerminalEmulator=xterm FileManager=pcmanfm WebBrowser= EOF - cat </root/.config/xfce4/helpers.rc + cat </root/.config/xfce4/helpers.rc TerminalEmulator=xterm FileManager=pcmanfm WebBrowser= @@ -597,19 +617,19 @@ WebBrowser= EOF elif [ $PACKAGE_VARIANT = "standard" ]; then - cat </etc/skel/.config/xfce4/helpers.rc + cat </etc/skel/.config/xfce4/helpers.rc TerminalEmulator=xterm FileManager=Thunar WebBrowser= EOF - cat </home/live/.config/xfce4/helpers.rc + cat </home/live/.config/xfce4/helpers.rc TerminalEmulator=xterm FileManager=Thunar WebBrowser= EOF - cat </root/.config/xfce4/helpers.rc + cat </root/.config/xfce4/helpers.rc TerminalEmulator=xterm FileManager=Thunar WebBrowser= diff --git a/linux-live/modules/03-xfce-desktop/minimal.list b/linux-live/modules/03-xfce-desktop/minimal.list index b5526f6..6ba5346 100644 --- a/linux-live/modules/03-xfce-desktop/minimal.list +++ b/linux-live/modules/03-xfce-desktop/minimal.list @@ -1,3 +1,5 @@ +dbus-x11 +slim libxfce4ui-utils pcmanfm xfce4-appfinder @@ -7,7 +9,6 @@ xfce4-settings xfconf xfdesktop4 xfwm4 -elementary-xfce-icon-theme greybird-gtk-theme volumeicon-alsa xfce4-xkb-plugin diff --git a/linux-live/modules/03-xfce-desktop/postinstall b/linux-live/modules/03-xfce-desktop/postinstall index e27114c..b72f284 100644 --- a/linux-live/modules/03-xfce-desktop/postinstall +++ b/linux-live/modules/03-xfce-desktop/postinstall @@ -16,6 +16,178 @@ if [ $PACKAGE_VARIANT = "standard" ]; then rm -f /usr/share/applications/pavucontrol.desktop fi +if grep slim $SCRIPT_DIR/$PACKAGE_VARIANT.list >>$OUTPUT 2>&1; then + sed -i 's,# hidecursor false,hidecursor false,g' /etc/slim.conf + sed -i 's,screenshot_cmd scrot /root/slim.png,# screenshot_cmd scrot /root/slim.png,g' /etc/slim.conf + if [ $PACKAGE_VARIANT = "minimal" ]; then + sed -i 's,#default_user simone,default_user root,g' /etc/slim.conf + else + sed -i 's,#default_user simone,default_user live,g' /etc/slim.conf + fi + sed -i 's,#auto_login no,auto_login yes,g' /etc/slim.conf + sed -i 's,current_theme debian-softwaves,current_theme minios,g' /etc/slim.conf +fi + +if [ $PACKAGE_VARIANT = "minimal" ]; then + cat <>/usr/share/applications/taskmanager.desktop +[Desktop Entry] +Name=Task Manager +Name[ar]=مدير المهام +Name[ast]=Xestor de xeres +Name[be]=Кіраўнік задач +Name[bg]=Мениджър на задачи +Name[ca]=Gestor de tasques +Name[cs]=Správce úloh +Name[da]=Opgavehåndtering +Name[de]=Taskmanager +Name[el]=Διαχειριστής εργασιών +Name[en_AU]=Task Manager +Name[en_GB]=Task Manager +Name[es]=Gestor de tareas +Name[eu]=Zeregin kudeatzailea +Name[fi]=Tehtävienhallinta +Name[fr]=Gestionnaire de tâches +Name[gl]=Xestor de tarefas +Name[he]=מנהל משימות +Name[hr]=Upravitelj zadacima +Name[hu]=Feladatkezelő +Name[id]=Manajer Tugas +Name[is]=Verkefnastjóri +Name[it]=Gestore dei processi +Name[ja]=タスクマネージャー +Name[kk]=Үрдістерді басқарушысы +Name[ko]=작업 관리자 +Name[lt]=Užduočių tvarkytuvė +Name[ms]=Pengurus Tugas +Name[nb]=Oppgavebehandler +Name[nl]=Taakbeheerder +Name[oc]=Gestionari de prètzfaches +Name[pl]=Menedżer zadań +Name[pt]=Gestor de tarefas +Name[pt_BR]=Gerenciador de tarefas +Name[ru]=Диспетчер задач +Name[sk]=Správca úloh +Name[sl]=Upravljalnik nalog +Name[sq]=Përgjegjës Aktesh +Name[sr]=Управник задатака +Name[sv]=Aktivitetshanterare +Name[te]=కర్తవ్య నిర్వాహకం +Name[th]=โปรแกรมจัดการทาสก์ +Name[tr]=Görev Yöneticisi +Name[ug]=ۋەزىپە باشقۇرغۇ +Name[uk]=Диспетчер задач +Name[vi]=Quản lý tác vụ +Name[zh_CN]=任务管理器 +Name[zh_HK]=工作管理員 +Name[zh_TW]=工作管理員 +Comment=Easy to use task manager +Comment[ar]=من السهل إستخدام مدير المهام +Comment[ast]=Xestor de xeres cenciellu d'usar +Comment[be]=Зручны ў выкарыстанні кіраўнік задач +Comment[bg]=Лесен за използване мениджър на задачи +Comment[ca]=Gestor de tasques fàcil d'utilitzar +Comment[cs]=Snadno použitelný správce úloh +Comment[da]=Opgavehåndtering som er nem at bruge +Comment[de]=Prozessverwaltung mit einfacher Bedienung +Comment[el]=Εύκολος στην χρήση διαχειριστής διεργασιών +Comment[en_AU]=Easy to use task manager +Comment[en_GB]=Easy to use task manager +Comment[es]=Un gestor de tareas fácil de usar +Comment[eu]= Zeregin kudeatzaile erabilerraz bat da +Comment[fi]=Helppokäyttöinen tehtävienhallinta +Comment[fr]=Gestionnaire de tâches simple d’utilisation +Comment[gl]=Xestor de tarefas fácil de usar +Comment[he]=מנהל משימות קל לשימוש +Comment[hr]=Lagan za korištenje upravitelj zadacima +Comment[hu]=Egyszerűen használható feladatkezelő +Comment[id]=Manajer tugas yang mudah digunakan +Comment[is]=Einfaldur og auðveldur verkefnastjóri +Comment[it]=Gestore dei processi di semplice utilizzo +Comment[ja]=使いやすいタスクマネージャーです +Comment[kk]=Жүйе үрдістерін ыңғайлы басқару +Comment[ko]=쓰기 쉬운 작업관리자 +Comment[lt]=Lengvai naudojama užduočių tvarkytuvė +Comment[ms]=Pengurus tugas yang mudah digunakan +Comment[nb]=Lett å bruke oppgavebehandler +Comment[nl]=Gemakkelijk te gebruiken taakbeheerder +Comment[oc]=De bon utilizar : lo gestionari de prètzfaches +Comment[pl]=Zarządza uruchomionymi procesami +Comment[pt]=Gestor de tarefas fácil de usar +Comment[pt_BR]=Um gerenciador de tarefas fácil de usar +Comment[ru]=Простой диспетчер задач +Comment[sk]=Správca úloh s jednoduchým používaním +Comment[sl]=Enostaven upravljalnik nalog +Comment[sq]=Përgjegjës aktesh i lehtë për t’u përdorur +Comment[sr]=Управник задатака лак за коришћење +Comment[sv]=Lättanvänd aktivitetshanterare +Comment[te]=వాడుటకు సరళమైన కర్తవ్య నిర్వాహకం +Comment[th]=โปรแกรมจัดการทาสก์สะดวกใช้ +Comment[tr]=Kullanımı kolay görev yöneticisi +Comment[ug]=ئىشلىتىشكە ئەپلىك ۋەزىپە باشقۇرغۇ +Comment[uk]=Простий у використанні диспетчер задач +Comment[vi]=Trình quản lý tác vụ dễ dùng +Comment[zh_CN]=易用的任务管理器 +Comment[zh_HK]=易用的工作管理員 +Comment[zh_TW]=易於使用的工作管理員 +GenericName=Task Manager +GenericName[ar]=مدير المهام +GenericName[ast]=Xestor de xeres +GenericName[be]=Кіраўнік задач +GenericName[bg]=Мениджър на задачи +GenericName[ca]=Gestor de tasques +GenericName[cs]=Správce úloh +GenericName[da]=Opgavehåndtering +GenericName[de]=Taskmanager +GenericName[el]=Διαχειριστής εργασιών +GenericName[en_AU]=Task Manager +GenericName[en_GB]=Task Manager +GenericName[es]=Gestor de tareas +GenericName[eu]=Zeregin kudeatzailea +GenericName[fi]=Tehtävienhallinta +GenericName[fr]=Gestionnaire de tâches +GenericName[gl]=Xestor de tarefas +GenericName[he]=מנהל משימות +GenericName[hr]=Upravitelj zadacima +GenericName[hu]=Feladatkezelő +GenericName[id]=Manajer Tugas +GenericName[is]=Verkefnastjóri +GenericName[it]=Gestore dei processi +GenericName[ja]=タスクマネージャー +GenericName[kk]=Үрдістерді басқарушысы +GenericName[ko]=작업 관리자 +GenericName[lt]=Užduočių tvarkytuvė +GenericName[ms]=Pengurus Tugas +GenericName[nb]=Oppgavebehandler +GenericName[nl]=Taakbeheerder +GenericName[oc]=Gestionari de prètzfaches +GenericName[pl]=Menedżer zadań +GenericName[pt]=Gestor de tarefas +GenericName[pt_BR]=Gerenciador de tarefas +GenericName[ru]=Диспетчер задач +GenericName[sk]=Správca úloh +GenericName[sl]=Upravljalnik nalog +GenericName[sq]=Përgjegjës Aktesh +GenericName[sr]=Управник задатака +GenericName[sv]=Aktivitetshanterare +GenericName[te]=కర్తవ్య నిర్వాహకం +GenericName[th]=โปรแกรมจัดการทาสก์ +GenericName[tr]=Görev Yöneticisi +GenericName[ug]=ۋەزىپە باشقۇرغۇ +GenericName[uk]=Диспетчер задач +GenericName[vi]=Quản lý tác vụ +GenericName[zh_CN]=任务管理器 +GenericName[zh_HK]=工作管理員 +GenericName[zh_TW]=工作管理員 +Exec=xterm -e 'htop' +Icon=utilities-system-monitor +Terminal=false +StartupNotify=true +Type=Application +Categories=System;Utility; + +EOF +fi + rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1 update-alternatives --set x-terminal-emulator /usr/bin/xterm >>$OUTPUT 2>&1 diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/default/nodm b/linux-live/modules/03-xfce-desktop/rootcopy/etc/default/nodm new file mode 100644 index 0000000..5be8f85 --- /dev/null +++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/default/nodm @@ -0,0 +1,32 @@ +# nodm configuration + +# Set NODM_ENABLED to something different than 'false' to enable nodm +NODM_ENABLED=true + +# User to autologin for +NODM_USER=live + +# First vt to try when looking for free VTs +NODM_FIRST_VT=7 + +# X session +NODM_XSESSION=/etc/X11/Xsession + +# Options for nodm itself +NODM_OPTIONS= + +# Options for the X server. +# +# Format: [/usr/bin/] [:] +# +# The Xserver executable and the display name can be omitted, but should +# be placed in front, if nodm's defaults shall be overridden. +NODM_X_OPTIONS='-nolisten tcp' + +# If an X session will run for less than this time in seconds, nodm will wait an +# increasing bit of time before restarting the session. +NODM_MIN_SESSION_TIME=60 + +# Timeout (in seconds) to wait for X to be ready to accept connections. If X is +# not ready before this timeout, it is killed and restarted. +NODM_X_TIMEOUT=300 diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.xsession b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.xsession new file mode 100644 index 0000000..8658258 --- /dev/null +++ b/linux-live/modules/03-xfce-desktop/rootcopy/etc/skel/.xsession @@ -0,0 +1 @@ +xfce4-session \ No newline at end of file diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.xsession b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.xsession new file mode 100644 index 0000000..8658258 --- /dev/null +++ b/linux-live/modules/03-xfce-desktop/rootcopy/home/live/.xsession @@ -0,0 +1 @@ +xfce4-session \ No newline at end of file diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/root/.xsession b/linux-live/modules/03-xfce-desktop/rootcopy/root/.xsession new file mode 100644 index 0000000..8658258 --- /dev/null +++ b/linux-live/modules/03-xfce-desktop/rootcopy/root/.xsession @@ -0,0 +1 @@ +xfce4-session \ No newline at end of file diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/slim/themes/minios/background.png b/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/slim/themes/minios/background.png new file mode 100644 index 0000000..966915d Binary files /dev/null and b/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/slim/themes/minios/background.png differ diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/slim/themes/minios/panel.png b/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/slim/themes/minios/panel.png new file mode 100644 index 0000000..8d01ac8 Binary files /dev/null and b/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/slim/themes/minios/panel.png differ diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/slim/themes/minios/slim.theme b/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/slim/themes/minios/slim.theme new file mode 100644 index 0000000..b70182b --- /dev/null +++ b/linux-live/modules/03-xfce-desktop/rootcopy/usr/share/slim/themes/minios/slim.theme @@ -0,0 +1,36 @@ +# greeny_dark theme for SLIM +# by aditya shakya +# using artwork from some free html+css login templates on the internet + +# Messages (ie: shutdown) + +msg_color #b5cd60 +msg_font Sans:size=18:bold:dpi=75 +msg_x 50% +msg_y 30% + +# Session Name + +session_color #b5cd60 +session_font Sans:size=16:bold:dpi=75 +session_x 50% +session_y 90% + +# valid values: stretch, tile + +background_style stretch +background_color #f2f2f2 + +# Input controls + +input_panel_x 50% +input_panel_y 50% +input_name_x 200 +input_name_y 78 +input_pass_x 200 +input_pass_y 145 +input_font Sans:size=14:dpi=75 +input_color #b5cd60 + +username_msg +password_msg diff --git a/linux-live/modules/03-xfce-desktop/standard.list b/linux-live/modules/03-xfce-desktop/standard.list index a446dab..5dacc83 100644 --- a/linux-live/modules/03-xfce-desktop/standard.list +++ b/linux-live/modules/03-xfce-desktop/standard.list @@ -1,6 +1,13 @@ +dbus-x11 +slim libxfce4ui-utils thunar -gvfs +thunar-volman +gvfs-backends +samba-common +avahi-daemon +tumbler +eject xfce4-appfinder xfce4-panel xfce4-session @@ -8,7 +15,6 @@ xfce4-settings xfconf xfdesktop4 xfwm4 -elementary-xfce-icon-theme greybird-gtk-theme xfce4-pulseaudio-plugin pulseaudio diff --git a/linux-live/modules/04-xfce-apps/install b/linux-live/modules/04-xfce-apps/install index 5138d6a..8d72be3 100644 --- a/linux-live/modules/04-xfce-apps/install +++ b/linux-live/modules/04-xfce-apps/install @@ -15,6 +15,22 @@ if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then $(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1 fi +if [ $PACKAGE_VARIANT = "standard" ]; then + if [ $DISTRIBUTION = "stretch" ]; then + echo 'deb http://ftp.debian.org/debian stretch-backports main' | sudo tee --append /etc/apt/sources.list.d/stretch-backports.list >>$OUTPUT 2>&1 + $APT_CMD update && + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD install -t stretch-backports $APT_OPTIONS $APT_OPTIONS2 \ + remmina remmina-plugin-rdp remmina-plugin-vnc >>$OUTPUT 2>&1 + else + $APT_CMD update && + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \ + remmina remmina-plugin-rdp remmina-plugin-vnc >>$OUTPUT 2>&1 + + fi +fi + if [ $PACKAGE_VARIANT = "minimal" ]; then cat </etc/skel/.config/xfce4/helpers.rc TerminalEmulator=xterm @@ -54,4 +70,4 @@ FileManager=Thunar WebBrowser=firefox EOF -fi \ No newline at end of file +fi diff --git a/linux-live/modules/04-xfce-apps/postinstall b/linux-live/modules/04-xfce-apps/postinstall index cb46633..6430bf2 100644 --- a/linux-live/modules/04-xfce-apps/postinstall +++ b/linux-live/modules/04-xfce-apps/postinstall @@ -2,8 +2,10 @@ (cd /rootcopy && cp --parents -afr * /) -sed -i 's,create=xarchiver --add-to,create=xarchiver --compress,g' /usr/share/libfm/archivers.list +if [ $PACKAGE_VARIANT = "minimal" ]; then + sed -i 's,create=xarchiver --add-to,create=xarchiver --compress,g' /usr/share/libfm/archivers.list +fi rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1 rm -Rf /usr/share/icons/Adwaita/256x256 >>$OUTPUT 2>&1 -rm -Rf /usr/share/icons/Adwaita/512x512 >>$OUTPUT 2>&1 \ No newline at end of file +rm -Rf /usr/share/icons/Adwaita/512x512 >>$OUTPUT 2>&1 diff --git a/linux-live/modules/04-xfce-apps/standard.list b/linux-live/modules/04-xfce-apps/standard.list index 270955e..684682a 100644 --- a/linux-live/modules/04-xfce-apps/standard.list +++ b/linux-live/modules/04-xfce-apps/standard.list @@ -5,9 +5,9 @@ ristretto xfce4-terminal xfce4-taskmanager xfce4-screenshooter -remmina -remmina-plugin-rdp -remmina-plugin-vnc +#remmina +#remmina-plugin-rdp +#remmina-plugin-vnc #remmina-plugin-nx #remmina-plugin-xdmcp #remmina-plugin-www diff --git a/linux-live/modules/05-firefox-esr/postinstall b/linux-live/modules/05-firefox-esr/postinstall index 06707c1..a407c94 100644 --- a/linux-live/modules/05-firefox-esr/postinstall +++ b/linux-live/modules/05-firefox-esr/postinstall @@ -1,6 +1,3 @@ #!/bin/bash -$APT_CMD autoremove $APT_OPTIONS $APT_OPTIONS2 \ - software-properties-common >>$OUTPUT 2>&1 - rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1 diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/install b/linux-live/unusedmodules/03-xfce-desktop.old/install new file mode 100644 index 0000000..7fa1c29 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/install @@ -0,0 +1,638 @@ +#!/bin/bash + +set -e # exit on error +set -o pipefail # exit on pipeline error +set -u # treat unset variable as error + +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" + +GTKUI="2" + +if [ $DISTRIBUTION = "buster" ] && [ $GTKUI = "3" ]; then + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD update >>$OUTPUT 2>&1 && + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \ + gnupg curl >>$OUTPUT 2>&1 + echo "deb http://mxrepo.com/mx/repo/ temp main" >>/etc/apt/sources.list + curl -L https://cyber-x.ru/wp-content/upload/mx19/mx19.gpg | sudo apt-key add - +fi + +echo "nodm nodm/enabled boolean true" | debconf-set-selections +echo "samba-common samba-common/dhcp boolean false" | debconf-set-selections + +# install packages +if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD update >>$OUTPUT 2>&1 && + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \ + $(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1 +fi + +# install packages +if [ $DISTRIBUTION = "stretch" ]; then + wget -c http://ftp.ru.debian.org/debian/pool/main/e/elementary-xfce/elementary-xfce-icon-theme_0.15.2-1_all.deb + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD update >>$OUTPUT 2>&1 && + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \ + ./elementary-xfce-icon-theme_0.15.2-1_all.deb >>$OUTPUT 2>&1 + rm -f ./elementary-xfce-icon-theme_0.15.2-1_all.deb >>$OUTPUT 2>&1 +else + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD update >>$OUTPUT 2>&1 && + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \ + elementary-xfce-icon-theme >>$OUTPUT 2>&1 +fi + +if [ $DISTRIBUTION = "buster" ] && [ $GTKUI = "3" ]; then + sed -i "s,deb http://mxrepo.com/mx/repo/ temp main,#deb http://mxrepo.com/mx/repo/ temp main,g" /etc/apt/sources.list +fi + +if [ $DISTRIBUTION = "bullseye" ]; then + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \ + librsvg2-common >>$OUTPUT 2>&1 +fi + +if grep xfce4-whiskermenu-plugin $SCRIPT_DIR/$PACKAGE_VARIANT.list >>$OUTPUT 2>&1; then + if [ $DISTRIBUTION = "buster" ] || [ $DISTRIBUTION = "stretch" ]; then + echo "favorites=exo-terminal-emulator.desktop,exo-file-manager.desktop,exo-mail-reader.desktop,exo-web-browser.desktop" >/etc/skel/.config/xfce4/panel/whiskermenu-1.rc + echo "favorites=exo-terminal-emulator.desktop,exo-file-manager.desktop,exo-mail-reader.desktop,exo-web-browser.desktop" >/root/.config/xfce4/panel/whiskermenu-1.rc + echo "favorites=exo-terminal-emulator.desktop,exo-file-manager.desktop,exo-mail-reader.desktop,exo-web-browser.desktop" >/home/live/.config/xfce4/panel/whiskermenu-1.rc + elif [ $DISTRIBUTION = "bullseye" ]; then + echo "favorites=xfce4-terminal-emulator.desktop,xfce4-file-manager.desktop,xfce4-web-browser.desktop,xfce4-mail-reader.desktop" >/etc/skel/.config/xfce4/panel/whiskermenu-1.rc + echo "favorites=xfce4-terminal-emulator.desktop,xfce4-file-manager.desktop,xfce4-web-browser.desktop,xfce4-mail-reader.desktop" >/root/.config/xfce4/panel/whiskermenu-1.rc + echo "favorites=xfce4-terminal-emulator.desktop,xfce4-file-manager.desktop,xfce4-web-browser.desktop,xfce4-mail-reader.desktop" >/home/live/.config/xfce4/panel/whiskermenu-1.rc + fi + cat <>/etc/skel/.config/xfce4/panel/whiskermenu-1.rc +recent= +button-icon=/usr/share/pixmaps/MiniOS-white.svg +button-single-row=false +show-button-title=false +show-button-icon=true +launcher-show-name=true +launcher-show-description=false +launcher-show-tooltip=true +item-icon-size=2 +hover-switch-category=false +category-show-name=true +category-icon-size=1 +load-hierarchy=false +view-as-icons=false +default-category=0 +recent-items-max=10 +favorites-in-recent=true +position-search-alternate=true +position-commands-alternate=false +position-categories-alternate=true +stay-on-focus-out=false +confirm-session-command=true +menu-width=450 +menu-height=500 +menu-opacity=100 +command-settings=xfce4-settings-manager +show-command-settings=false +command-lockscreen=xflock4 +show-command-lockscreen=false +command-switchuser=dm-tool switch-to-greeter +show-command-switchuser=false +command-logoutuser=xfce4-session-logout --logout --fast +show-command-logoutuser=false +command-restart=xfce4-session-logout --reboot --fast +show-command-restart=false +command-shutdown=xfce4-session-logout --halt --fast +show-command-shutdown=false +command-suspend=xfce4-session-logout --suspend +show-command-suspend=false +command-hibernate=xfce4-session-logout --hibernate +show-command-hibernate=false +command-logout=xfce4-session-logout +show-command-logout=true +command-menueditor=menulibre +show-command-menueditor=true +command-profile=mugshot +show-command-profile=false +search-actions=5 + +[action0] +name=Man Pages +pattern=# +command=exo-open --launch TerminalEmulator man %s +regex=false + +[action1] +name=Web Search +pattern=? +command=exo-open --launch WebBrowser https://duckduckgo.com/?q=%u +regex=false + +[action2] +name=Wikipedia +pattern=!w +command=exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u +regex=false + +[action3] +name=Run in Terminal +pattern=! +command=exo-open --launch TerminalEmulator %s +regex=false + +[action4] +name=Open URI +pattern=^(file|http|https):\\/\\/(.*)$ +command=exo-open \\0 +regex=true + + +EOF + cat <>/root/.config/xfce4/panel/whiskermenu-1.rc +recent= +button-icon=/usr/share/pixmaps/MiniOS-white.svg +button-single-row=false +show-button-title=false +show-button-icon=true +launcher-show-name=true +launcher-show-description=false +launcher-show-tooltip=true +item-icon-size=2 +hover-switch-category=false +category-show-name=true +category-icon-size=1 +load-hierarchy=false +view-as-icons=false +default-category=0 +recent-items-max=10 +favorites-in-recent=true +position-search-alternate=true +position-commands-alternate=false +position-categories-alternate=true +stay-on-focus-out=false +confirm-session-command=true +menu-width=450 +menu-height=500 +menu-opacity=100 +command-settings=xfce4-settings-manager +show-command-settings=false +command-lockscreen=xflock4 +show-command-lockscreen=false +command-switchuser=dm-tool switch-to-greeter +show-command-switchuser=false +command-logoutuser=xfce4-session-logout --logout --fast +show-command-logoutuser=false +command-restart=xfce4-session-logout --reboot --fast +show-command-restart=false +command-shutdown=xfce4-session-logout --halt --fast +show-command-shutdown=false +command-suspend=xfce4-session-logout --suspend +show-command-suspend=false +command-hibernate=xfce4-session-logout --hibernate +show-command-hibernate=false +command-logout=xfce4-session-logout +show-command-logout=true +command-menueditor=menulibre +show-command-menueditor=true +command-profile=mugshot +show-command-profile=false +search-actions=5 + +[action0] +name=Man Pages +pattern=# +command=exo-open --launch TerminalEmulator man %s +regex=false + +[action1] +name=Web Search +pattern=? +command=exo-open --launch WebBrowser https://duckduckgo.com/?q=%u +regex=false + +[action2] +name=Wikipedia +pattern=!w +command=exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u +regex=false + +[action3] +name=Run in Terminal +pattern=! +command=exo-open --launch TerminalEmulator %s +regex=false + +[action4] +name=Open URI +pattern=^(file|http|https):\\/\\/(.*)$ +command=exo-open \\0 +regex=true + + +EOF + cat <>/home/live/.config/xfce4/panel/whiskermenu-1.rc +recent= +button-icon=/usr/share/pixmaps/MiniOS-white.svg +button-single-row=false +show-button-title=false +show-button-icon=true +launcher-show-name=true +launcher-show-description=false +launcher-show-tooltip=true +item-icon-size=2 +hover-switch-category=false +category-show-name=true +category-icon-size=1 +load-hierarchy=false +view-as-icons=false +default-category=0 +recent-items-max=10 +favorites-in-recent=true +position-search-alternate=true +position-commands-alternate=false +position-categories-alternate=true +stay-on-focus-out=false +confirm-session-command=true +menu-width=450 +menu-height=500 +menu-opacity=100 +command-settings=xfce4-settings-manager +show-command-settings=false +command-lockscreen=xflock4 +show-command-lockscreen=false +command-switchuser=dm-tool switch-to-greeter +show-command-switchuser=false +command-logoutuser=xfce4-session-logout --logout --fast +show-command-logoutuser=false +command-restart=xfce4-session-logout --reboot --fast +show-command-restart=false +command-shutdown=xfce4-session-logout --halt --fast +show-command-shutdown=false +command-suspend=xfce4-session-logout --suspend +show-command-suspend=false +command-hibernate=xfce4-session-logout --hibernate +show-command-hibernate=false +command-logout=xfce4-session-logout +show-command-logout=true +command-menueditor=menulibre +show-command-menueditor=true +command-profile=mugshot +show-command-profile=false +search-actions=5 + +[action0] +name=Man Pages +pattern=# +command=exo-open --launch TerminalEmulator man %s +regex=false + +[action1] +name=Web Search +pattern=? +command=exo-open --launch WebBrowser https://duckduckgo.com/?q=%u +regex=false + +[action2] +name=Wikipedia +pattern=!w +command=exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u +regex=false + +[action3] +name=Run in Terminal +pattern=! +command=exo-open --launch TerminalEmulator %s +regex=false + +[action4] +name=Open URI +pattern=^(file|http|https):\\/\\/(.*)$ +command=exo-open \\0 +regex=true + + +EOF + #echo $WHISKERMENU >>/etc/skel/.config/xfce4/panel/whiskermenu-1.rc + #echo $WHISKERMENU >>/root/.config/xfce4/panel/whiskermenu-1.rc + #echo $WHISKERMENU >>/home/live/.config/xfce4/panel/whiskermenu-1.rc +else + #read -r -d MINIMAL_PANEL '' </etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +EOF + cat </root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +EOF + cat </home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +EOF + #echo $MINIMAL_PANEL >>/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml + #echo $MINIMAL_PANEL >>/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml + #echo $MINIMAL_PANEL >>/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml +fi + +if [ $PACKAGE_VARIANT = "minimal" ]; then + cat </etc/skel/.config/xfce4/helpers.rc +TerminalEmulator=xterm +FileManager=pcmanfm +WebBrowser= + +EOF + cat </home/live/.config/xfce4/helpers.rc +TerminalEmulator=xterm +FileManager=pcmanfm +WebBrowser= + +EOF + cat </root/.config/xfce4/helpers.rc +TerminalEmulator=xterm +FileManager=pcmanfm +WebBrowser= + +EOF + +elif [ $PACKAGE_VARIANT = "standard" ]; then + cat </etc/skel/.config/xfce4/helpers.rc +TerminalEmulator=xterm +FileManager=Thunar +WebBrowser= + +EOF + cat </home/live/.config/xfce4/helpers.rc +TerminalEmulator=xterm +FileManager=Thunar +WebBrowser= + +EOF + cat </root/.config/xfce4/helpers.rc +TerminalEmulator=xterm +FileManager=Thunar +WebBrowser= + +EOF +fi diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/minimal.list b/linux-live/unusedmodules/03-xfce-desktop.old/minimal.list new file mode 100644 index 0000000..6ba5346 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/minimal.list @@ -0,0 +1,15 @@ +dbus-x11 +slim +libxfce4ui-utils +pcmanfm +xfce4-appfinder +xfce4-panel +xfce4-session +xfce4-settings +xfconf +xfdesktop4 +xfwm4 +greybird-gtk-theme +volumeicon-alsa +xfce4-xkb-plugin +xfce4-battery-plugin \ No newline at end of file diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/postinstall b/linux-live/unusedmodules/03-xfce-desktop.old/postinstall new file mode 100644 index 0000000..88510ff --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/postinstall @@ -0,0 +1,189 @@ +#!/bin/bash + +#(cd /rootcopy && cp --parents -afr * /) + +# create user directories +for dir in Desktop Documents Downloads Music Pictures Public Templates Videos; do + mkdir -p /home/live/$dir >>$OUTPUT 2>&1 + mkdir -p /root/$dir >>$OUTPUT 2>&1 +done + +rm -f /usr/share/backgrounds/xfce/* +ln -s /usr/share/backgrounds/MiniOS-wallpaper.svg /usr/share/backgrounds/xfce/xfce-verticals.png +ln -s /usr/share/backgrounds/MiniOS-wallpaper.svg /usr/share/backgrounds/xfce/xfce-teal.jpg + +if [ $PACKAGE_VARIANT = "standard" ]; then + rm -f /usr/share/applications/pavucontrol.desktop +fi + +if grep slim $SCRIPT_DIR/$PACKAGE_VARIANT.list >>$OUTPUT 2>&1; then + sed -i 's,# hidecursor false,hidecursor false,g' /etc/slim.conf + sed -i 's,screenshot_cmd scrot /root/slim.png,# screenshot_cmd scrot /root/slim.png,g' /etc/slim.conf + sed -i 's,#default_user simone,default_user live,g' /etc/slim.conf + sed -i 's,#auto_login no,auto_login yes,g' /etc/slim.conf + sed -i 's,current_theme debian-softwaves,current_theme minios,g' /etc/slim.conf +fi + +if [ $PACKAGE_VARIANT = "minimal" ]; then + cat <>/usr/share/applications/taskmanager.desktop +[Desktop Entry] +Name=Task Manager +Name[ar]=مدير المهام +Name[ast]=Xestor de xeres +Name[be]=Кіраўнік задач +Name[bg]=Мениджър на задачи +Name[ca]=Gestor de tasques +Name[cs]=Správce úloh +Name[da]=Opgavehåndtering +Name[de]=Taskmanager +Name[el]=Διαχειριστής εργασιών +Name[en_AU]=Task Manager +Name[en_GB]=Task Manager +Name[es]=Gestor de tareas +Name[eu]=Zeregin kudeatzailea +Name[fi]=Tehtävienhallinta +Name[fr]=Gestionnaire de tâches +Name[gl]=Xestor de tarefas +Name[he]=מנהל משימות +Name[hr]=Upravitelj zadacima +Name[hu]=Feladatkezelő +Name[id]=Manajer Tugas +Name[is]=Verkefnastjóri +Name[it]=Gestore dei processi +Name[ja]=タスクマネージャー +Name[kk]=Үрдістерді басқарушысы +Name[ko]=작업 관리자 +Name[lt]=Užduočių tvarkytuvė +Name[ms]=Pengurus Tugas +Name[nb]=Oppgavebehandler +Name[nl]=Taakbeheerder +Name[oc]=Gestionari de prètzfaches +Name[pl]=Menedżer zadań +Name[pt]=Gestor de tarefas +Name[pt_BR]=Gerenciador de tarefas +Name[ru]=Диспетчер задач +Name[sk]=Správca úloh +Name[sl]=Upravljalnik nalog +Name[sq]=Përgjegjës Aktesh +Name[sr]=Управник задатака +Name[sv]=Aktivitetshanterare +Name[te]=కర్తవ్య నిర్వాహకం +Name[th]=โปรแกรมจัดการทาสก์ +Name[tr]=Görev Yöneticisi +Name[ug]=ۋەزىپە باشقۇرغۇ +Name[uk]=Диспетчер задач +Name[vi]=Quản lý tác vụ +Name[zh_CN]=任务管理器 +Name[zh_HK]=工作管理員 +Name[zh_TW]=工作管理員 +Comment=Easy to use task manager +Comment[ar]=من السهل إستخدام مدير المهام +Comment[ast]=Xestor de xeres cenciellu d'usar +Comment[be]=Зручны ў выкарыстанні кіраўнік задач +Comment[bg]=Лесен за използване мениджър на задачи +Comment[ca]=Gestor de tasques fàcil d'utilitzar +Comment[cs]=Snadno použitelný správce úloh +Comment[da]=Opgavehåndtering som er nem at bruge +Comment[de]=Prozessverwaltung mit einfacher Bedienung +Comment[el]=Εύκολος στην χρήση διαχειριστής διεργασιών +Comment[en_AU]=Easy to use task manager +Comment[en_GB]=Easy to use task manager +Comment[es]=Un gestor de tareas fácil de usar +Comment[eu]= Zeregin kudeatzaile erabilerraz bat da +Comment[fi]=Helppokäyttöinen tehtävienhallinta +Comment[fr]=Gestionnaire de tâches simple d’utilisation +Comment[gl]=Xestor de tarefas fácil de usar +Comment[he]=מנהל משימות קל לשימוש +Comment[hr]=Lagan za korištenje upravitelj zadacima +Comment[hu]=Egyszerűen használható feladatkezelő +Comment[id]=Manajer tugas yang mudah digunakan +Comment[is]=Einfaldur og auðveldur verkefnastjóri +Comment[it]=Gestore dei processi di semplice utilizzo +Comment[ja]=使いやすいタスクマネージャーです +Comment[kk]=Жүйе үрдістерін ыңғайлы басқару +Comment[ko]=쓰기 쉬운 작업관리자 +Comment[lt]=Lengvai naudojama užduočių tvarkytuvė +Comment[ms]=Pengurus tugas yang mudah digunakan +Comment[nb]=Lett å bruke oppgavebehandler +Comment[nl]=Gemakkelijk te gebruiken taakbeheerder +Comment[oc]=De bon utilizar : lo gestionari de prètzfaches +Comment[pl]=Zarządza uruchomionymi procesami +Comment[pt]=Gestor de tarefas fácil de usar +Comment[pt_BR]=Um gerenciador de tarefas fácil de usar +Comment[ru]=Простой диспетчер задач +Comment[sk]=Správca úloh s jednoduchým používaním +Comment[sl]=Enostaven upravljalnik nalog +Comment[sq]=Përgjegjës aktesh i lehtë për t’u përdorur +Comment[sr]=Управник задатака лак за коришћење +Comment[sv]=Lättanvänd aktivitetshanterare +Comment[te]=వాడుటకు సరళమైన కర్తవ్య నిర్వాహకం +Comment[th]=โปรแกรมจัดการทาสก์สะดวกใช้ +Comment[tr]=Kullanımı kolay görev yöneticisi +Comment[ug]=ئىشلىتىشكە ئەپلىك ۋەزىپە باشقۇرغۇ +Comment[uk]=Простий у використанні диспетчер задач +Comment[vi]=Trình quản lý tác vụ dễ dùng +Comment[zh_CN]=易用的任务管理器 +Comment[zh_HK]=易用的工作管理員 +Comment[zh_TW]=易於使用的工作管理員 +GenericName=Task Manager +GenericName[ar]=مدير المهام +GenericName[ast]=Xestor de xeres +GenericName[be]=Кіраўнік задач +GenericName[bg]=Мениджър на задачи +GenericName[ca]=Gestor de tasques +GenericName[cs]=Správce úloh +GenericName[da]=Opgavehåndtering +GenericName[de]=Taskmanager +GenericName[el]=Διαχειριστής εργασιών +GenericName[en_AU]=Task Manager +GenericName[en_GB]=Task Manager +GenericName[es]=Gestor de tareas +GenericName[eu]=Zeregin kudeatzailea +GenericName[fi]=Tehtävienhallinta +GenericName[fr]=Gestionnaire de tâches +GenericName[gl]=Xestor de tarefas +GenericName[he]=מנהל משימות +GenericName[hr]=Upravitelj zadacima +GenericName[hu]=Feladatkezelő +GenericName[id]=Manajer Tugas +GenericName[is]=Verkefnastjóri +GenericName[it]=Gestore dei processi +GenericName[ja]=タスクマネージャー +GenericName[kk]=Үрдістерді басқарушысы +GenericName[ko]=작업 관리자 +GenericName[lt]=Užduočių tvarkytuvė +GenericName[ms]=Pengurus Tugas +GenericName[nb]=Oppgavebehandler +GenericName[nl]=Taakbeheerder +GenericName[oc]=Gestionari de prètzfaches +GenericName[pl]=Menedżer zadań +GenericName[pt]=Gestor de tarefas +GenericName[pt_BR]=Gerenciador de tarefas +GenericName[ru]=Диспетчер задач +GenericName[sk]=Správca úloh +GenericName[sl]=Upravljalnik nalog +GenericName[sq]=Përgjegjës Aktesh +GenericName[sr]=Управник задатака +GenericName[sv]=Aktivitetshanterare +GenericName[te]=కర్తవ్య నిర్వాహకం +GenericName[th]=โปรแกรมจัดการทาสก์ +GenericName[tr]=Görev Yöneticisi +GenericName[ug]=ۋەزىپە باشقۇرغۇ +GenericName[uk]=Диспетчер задач +GenericName[vi]=Quản lý tác vụ +GenericName[zh_CN]=任务管理器 +GenericName[zh_HK]=工作管理員 +GenericName[zh_TW]=工作管理員 +Exec=xterm -e 'htop' +Icon=utilities-system-monitor +Terminal=false +StartupNotify=true +Type=Application +Categories=System;Utility; + +EOF +fi + +rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1 + +update-alternatives --set x-terminal-emulator /usr/bin/xterm >>$OUTPUT 2>&1 diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-ac-adapter.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-ac-adapter.svg new file mode 100644 index 0000000..f702a54 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-ac-adapter.svg @@ -0,0 +1,472 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution-charging.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution-charging.svg new file mode 100644 index 0000000..4fb1245 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution-charging.svg @@ -0,0 +1,322 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution-symbolic.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution-symbolic.svg new file mode 100644 index 0000000..8d60e10 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution-symbolic.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution.svg new file mode 100644 index 0000000..07cf41e --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-caution.svg @@ -0,0 +1,365 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-empty-charging.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-empty-charging.svg new file mode 100644 index 0000000..45ccf8d --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-empty-charging.svg @@ -0,0 +1,308 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-empty.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-empty.svg new file mode 100644 index 0000000..80bd5e1 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-empty.svg @@ -0,0 +1,451 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full-charged.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full-charged.svg new file mode 100644 index 0000000..bc28a46 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full-charged.svg @@ -0,0 +1,255 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full-charging.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full-charging.svg new file mode 100644 index 0000000..f655e9c --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full-charging.svg @@ -0,0 +1,263 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full.svg new file mode 100644 index 0000000..2b093e1 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-full.svg @@ -0,0 +1,255 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-good-charging.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-good-charging.svg new file mode 100644 index 0000000..56e0e18 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-good-charging.svg @@ -0,0 +1,314 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-good.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-good.svg new file mode 100644 index 0000000..bdf7600 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-good.svg @@ -0,0 +1,371 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low-charging.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low-charging.svg new file mode 100644 index 0000000..526baf2 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low-charging.svg @@ -0,0 +1,304 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low-symbolic.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low-symbolic.svg new file mode 100644 index 0000000..2214891 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low-symbolic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low.svg new file mode 100644 index 0000000..03f2e71 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-low.svg @@ -0,0 +1,337 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-missing.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-missing.svg new file mode 100644 index 0000000..9b8c436 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy-postinstall/usr/share/icons/hicolor/scalable/apps/xfce4-battery-missing.svg @@ -0,0 +1,371 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/default/nodm b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/default/nodm new file mode 100644 index 0000000..5be8f85 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/default/nodm @@ -0,0 +1,32 @@ +# nodm configuration + +# Set NODM_ENABLED to something different than 'false' to enable nodm +NODM_ENABLED=true + +# User to autologin for +NODM_USER=live + +# First vt to try when looking for free VTs +NODM_FIRST_VT=7 + +# X session +NODM_XSESSION=/etc/X11/Xsession + +# Options for nodm itself +NODM_OPTIONS= + +# Options for the X server. +# +# Format: [/usr/bin/] [:] +# +# The Xserver executable and the display name can be omitted, but should +# be placed in front, if nodm's defaults shall be overridden. +NODM_X_OPTIONS='-nolisten tcp' + +# If an X session will run for less than this time in seconds, nodm will wait an +# increasing bit of time before restarting the session. +NODM_MIN_SESSION_TIME=60 + +# Timeout (in seconds) to wait for X to be ready to accept connections. If X is +# not ready before this timeout, it is killed and restarted. +NODM_X_TIMEOUT=300 diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla similarity index 100% rename from linux-live/modules/03-xfce-desktop/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla rename to linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.consolekit.pkla b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.consolekit.pkla similarity index 100% rename from linux-live/modules/03-xfce-desktop/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.consolekit.pkla rename to linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.consolekit.pkla diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.udisks.pkla b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.udisks.pkla new file mode 100644 index 0000000..f1d1bdb --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.udisks.pkla @@ -0,0 +1,6 @@ +[Local Users] +Identity=unix-group:plugdev +Action=org.freedesktop.udisks.* +ResultAny=yes +ResultInactive=no +ResultActive=yes \ No newline at end of file diff --git a/linux-live/modules/03-xfce-desktop/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.upower.pkla b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.upower.pkla similarity index 100% rename from linux-live/modules/03-xfce-desktop/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.upower.pkla rename to linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/polkit-1/localauthority/50-local.d/org.freedesktop.upower.pkla diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xarchiver/xarchiverrc b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xarchiver/xarchiverrc new file mode 100644 index 0000000..f65e2a5 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xarchiver/xarchiverrc @@ -0,0 +1,20 @@ +[xarchiver] +preferred_format=0 +confirm_deletion=true +sort_filename_content=false +store_output=false +icon_size=0 +show_archive_comment=false +show_sidebar=false +show_location_bar=false +preferred_temp_dir=/tmp +allow_sub_dir=0 +overwrite=false +full_path=true +touch=false +freshen=false +update=false +store_path=false +recurse=true +solid_archive=false +remove_files=false diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/panel/battery-10.rc b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/panel/battery-10.rc new file mode 100644 index 0000000..170c036 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/panel/battery-10.rc @@ -0,0 +1,20 @@ +display_label=false +display_icon=false +display_power=false +display_percentage=false +display_bar=true +display_time=false +tooltip_display_percentage=true +tooltip_display_time=true +low_percentage=10 +critical_percentage=5 +action_on_low=1 +action_on_critical=1 +hide_when_full=-415324144 +colorA=rgb(136,136,255) +colorH=rgb(0,255,0) +colorL=rgb(255,255,0) +colorC=rgb(255,0,0) +command_on_low= +command_on_critical= + diff --git a/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-9/16233231141.desktop b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop similarity index 100% rename from linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-9/16233231141.desktop rename to linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop diff --git a/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-10/16233231142.desktop b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/panel/launcher-4/FileManager.desktop similarity index 100% rename from linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-10/16233231142.desktop rename to linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/panel/launcher-4/FileManager.desktop diff --git a/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-11/16233231143.desktop b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/panel/launcher-5/WebBrowser.desktop similarity index 100% rename from linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-11/16233231143.desktop rename to linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/panel/launcher-5/WebBrowser.desktop diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml new file mode 100644 index 0000000..0559966 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml new file mode 100644 index 0000000..5dd9176 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml similarity index 100% rename from linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml rename to linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml new file mode 100644 index 0000000..f3c9034 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml similarity index 94% rename from linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml rename to linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml index 861c741..276b7ec 100644 --- a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml @@ -4,7 +4,7 @@ - + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml new file mode 100644 index 0000000..0693440 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml similarity index 97% rename from linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml rename to linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml index 20d4ffc..a7d7fe7 100644 --- a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml @@ -56,7 +56,7 @@ - + @@ -70,18 +70,18 @@ - + + + + + + - - - - - diff --git a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml similarity index 75% rename from linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml rename to linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml index 9a3f20f..4d5554e 100644 --- a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml @@ -2,7 +2,7 @@ - + @@ -14,11 +14,11 @@ - + - - - + + + @@ -32,8 +32,11 @@ - + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.xinitrc b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.xinitrc new file mode 100644 index 0000000..41eda7a --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.xinitrc @@ -0,0 +1,16 @@ +#!/bin/sh +# +# ~/.xinitrc +# +# Executed by startx (run your window manager from here) + +if [ -d /etc/X11/xinit/xinitrc.d ]; then + for f in /etc/X11/xinit/xinitrc.d/*; do + [ -x "$f" ] && . "$f" + done + unset f +fi + +xrdb -merge .Xresources + +exec xfce4-session \ No newline at end of file diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.xsession b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.xsession new file mode 100644 index 0000000..8658258 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/etc/skel/.xsession @@ -0,0 +1 @@ +xfce4-session \ No newline at end of file diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/chromium/Default/Preferences b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/chromium/Default/Preferences new file mode 100644 index 0000000..5bfddb0 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/chromium/Default/Preferences @@ -0,0 +1,38 @@ +{ + "AudioCaptureAllowed": false, + "account_id_migration_state": 2, + "account_tracker_service_last_update": "13154004704520013", + "alternate_error_pages": { + "enabled": false + }, + "bookmark_bar": { + "show_on_all_tabs": false + }, + "browser": { + "check_default_browser": false, + "has_seen_welcome_page": true, + "show_home_button": false, + "window_placement": { + "bottom": 10, + "left": 10, + "maximized": true, + "right": 10, + "top": 10 + } + }, + "extensions": { + "theme": { + "use_system": true + } + }, + "ntp": { + "most_visited_blacklist": { + "c8e0afd1da1d9e29511240861f795a5a": null, + "eacc8c3ad0b50bd698ef8752d5ee24b6": null + } + }, + "safebrowsing": { + "enabled": false, + "scout_group_selected": true + } +} \ No newline at end of file diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/chromium/First Run b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/chromium/First Run new file mode 100644 index 0000000..e69de29 diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xarchiver/xarchiverrc b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xarchiver/xarchiverrc new file mode 100644 index 0000000..f65e2a5 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xarchiver/xarchiverrc @@ -0,0 +1,20 @@ +[xarchiver] +preferred_format=0 +confirm_deletion=true +sort_filename_content=false +store_output=false +icon_size=0 +show_archive_comment=false +show_sidebar=false +show_location_bar=false +preferred_temp_dir=/tmp +allow_sub_dir=0 +overwrite=false +full_path=true +touch=false +freshen=false +update=false +store_path=false +recurse=true +solid_archive=false +remove_files=false diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/battery-10.rc b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/battery-10.rc new file mode 100644 index 0000000..170c036 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/battery-10.rc @@ -0,0 +1,20 @@ +display_label=false +display_icon=false +display_power=false +display_percentage=false +display_bar=true +display_time=false +tooltip_display_percentage=true +tooltip_display_time=true +low_percentage=10 +critical_percentage=5 +action_on_low=1 +action_on_critical=1 +hide_when_full=-415324144 +colorA=rgb(136,136,255) +colorH=rgb(0,255,0) +colorL=rgb(255,255,0) +colorC=rgb(255,0,0) +command_on_low= +command_on_critical= + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop new file mode 100644 index 0000000..e51e56e --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=exo-open --launch TerminalEmulator +Icon=utilities-terminal +StartupNotify=true +Terminal=false +Categories=Utility;X-XFCE;X-Xfce-Toplevel; +OnlyShowIn=XFCE; +X-AppStream-Ignore=True +Name=Terminal Emulator +Comment=Use the command line +X-XFCE-Source=file:///usr/share/applications/exo-terminal-emulator.desktop diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/launcher-4/FileManager.desktop b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/launcher-4/FileManager.desktop new file mode 100644 index 0000000..598b0c9 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/launcher-4/FileManager.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=exo-open --launch FileManager %u +Icon=system-file-manager +StartupNotify=true +Terminal=false +Categories=Utility;X-XFCE;X-Xfce-Toplevel; +OnlyShowIn=XFCE; +X-XFCE-MimeType=inode/directory;x-scheme-handler/trash; +X-AppStream-Ignore=True +Name=File Manager +Comment=Browse the file system +X-XFCE-Source=file:///usr/share/applications/exo-file-manager.desktop diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/launcher-5/WebBrowser.desktop b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/launcher-5/WebBrowser.desktop new file mode 100644 index 0000000..4662377 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/launcher-5/WebBrowser.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=exo-open --launch WebBrowser %u +Icon=web-browser +StartupNotify=true +Terminal=false +Categories=Network;X-XFCE;X-Xfce-Toplevel; +OnlyShowIn=XFCE; +X-XFCE-MimeType=x-scheme-handler/http;x-scheme-handler/https; +X-AppStream-Ignore=True +Name=Web Browser +Comment=Browse the web +X-XFCE-Source=file:///usr/share/applications/exo-web-browser.desktop diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/whiskermenu-1.rc b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/whiskermenu-1.rc new file mode 100644 index 0000000..be72781 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/panel/whiskermenu-1.rc @@ -0,0 +1,80 @@ +favorites=xfce4-terminal-emulator.desktop,xfce4-file-manager.desktop,xfce4-web-browser.desktop,xfce4-mail-reader.desktop +recent= +button-icon=/usr/share/pixmaps/MiniOS-white.svg +button-single-row=false +show-button-title=false +show-button-icon=true +launcher-show-name=true +launcher-show-description=false +launcher-show-tooltip=true +item-icon-size=2 +hover-switch-category=false +category-show-name=true +category-icon-size=1 +load-hierarchy=false +view-as-icons=false +default-category=0 +recent-items-max=10 +favorites-in-recent=true +position-search-alternate=true +position-commands-alternate=false +position-categories-alternate=true +stay-on-focus-out=false +confirm-session-command=true +menu-width=450 +menu-height=500 +menu-opacity=100 +command-settings=xfce4-settings-manager +show-command-settings=false +command-lockscreen=xflock4 +show-command-lockscreen=false +command-switchuser=dm-tool switch-to-greeter +show-command-switchuser=false +command-logoutuser=xfce4-session-logout --logout --fast +show-command-logoutuser=false +command-restart=xfce4-session-logout --reboot --fast +show-command-restart=false +command-shutdown=xfce4-session-logout --halt --fast +show-command-shutdown=false +command-suspend=xfce4-session-logout --suspend +show-command-suspend=false +command-hibernate=xfce4-session-logout --hibernate +show-command-hibernate=false +command-logout=xfce4-session-logout +show-command-logout=true +command-menueditor=menulibre +show-command-menueditor=true +command-profile=mugshot +show-command-profile=false +search-actions=5 + +[action0] +name=Man Pages +pattern=# +command=exo-open --launch TerminalEmulator man %s +regex=false + +[action1] +name=Web Search +pattern=? +command=exo-open --launch WebBrowser https://duckduckgo.com/?q=%u +regex=false + +[action2] +name=Wikipedia +pattern=!w +command=exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u +regex=false + +[action3] +name=Run in Terminal +pattern=! +command=exo-open --launch TerminalEmulator %s +regex=false + +[action4] +name=Open URI +pattern=^(file|http|https):\\/\\/(.*)$ +command=exo-open \\0 +regex=true + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml new file mode 100644 index 0000000..e7e0bcd --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml new file mode 100644 index 0000000..0559966 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml new file mode 100644 index 0000000..5dd9176 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml new file mode 100644 index 0000000..ab0d597 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml new file mode 100644 index 0000000..f3c9034 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml new file mode 100644 index 0000000..276b7ec --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml new file mode 100644 index 0000000..0693440 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml new file mode 100644 index 0000000..a7d7fe7 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml new file mode 100644 index 0000000..4d5554e --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.xinitrc b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.xinitrc new file mode 100644 index 0000000..41eda7a --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.xinitrc @@ -0,0 +1,16 @@ +#!/bin/sh +# +# ~/.xinitrc +# +# Executed by startx (run your window manager from here) + +if [ -d /etc/X11/xinit/xinitrc.d ]; then + for f in /etc/X11/xinit/xinitrc.d/*; do + [ -x "$f" ] && . "$f" + done + unset f +fi + +xrdb -merge .Xresources + +exec xfce4-session \ No newline at end of file diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.xsession b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.xsession new file mode 100644 index 0000000..8658258 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/home/live/.xsession @@ -0,0 +1 @@ +xfce4-session \ No newline at end of file diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xarchiver/xarchiverrc b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xarchiver/xarchiverrc new file mode 100644 index 0000000..f65e2a5 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xarchiver/xarchiverrc @@ -0,0 +1,20 @@ +[xarchiver] +preferred_format=0 +confirm_deletion=true +sort_filename_content=false +store_output=false +icon_size=0 +show_archive_comment=false +show_sidebar=false +show_location_bar=false +preferred_temp_dir=/tmp +allow_sub_dir=0 +overwrite=false +full_path=true +touch=false +freshen=false +update=false +store_path=false +recurse=true +solid_archive=false +remove_files=false diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/panel/battery-10.rc b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/panel/battery-10.rc new file mode 100644 index 0000000..170c036 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/panel/battery-10.rc @@ -0,0 +1,20 @@ +display_label=false +display_icon=false +display_power=false +display_percentage=false +display_bar=true +display_time=false +tooltip_display_percentage=true +tooltip_display_time=true +low_percentage=10 +critical_percentage=5 +action_on_low=1 +action_on_critical=1 +hide_when_full=-415324144 +colorA=rgb(136,136,255) +colorH=rgb(0,255,0) +colorL=rgb(255,255,0) +colorC=rgb(255,0,0) +command_on_low= +command_on_critical= + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop new file mode 100644 index 0000000..e51e56e --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/panel/launcher-3/TerminalEmulator.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=exo-open --launch TerminalEmulator +Icon=utilities-terminal +StartupNotify=true +Terminal=false +Categories=Utility;X-XFCE;X-Xfce-Toplevel; +OnlyShowIn=XFCE; +X-AppStream-Ignore=True +Name=Terminal Emulator +Comment=Use the command line +X-XFCE-Source=file:///usr/share/applications/exo-terminal-emulator.desktop diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/panel/launcher-4/FileManager.desktop b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/panel/launcher-4/FileManager.desktop new file mode 100644 index 0000000..598b0c9 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/panel/launcher-4/FileManager.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=exo-open --launch FileManager %u +Icon=system-file-manager +StartupNotify=true +Terminal=false +Categories=Utility;X-XFCE;X-Xfce-Toplevel; +OnlyShowIn=XFCE; +X-XFCE-MimeType=inode/directory;x-scheme-handler/trash; +X-AppStream-Ignore=True +Name=File Manager +Comment=Browse the file system +X-XFCE-Source=file:///usr/share/applications/exo-file-manager.desktop diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/panel/launcher-5/WebBrowser.desktop b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/panel/launcher-5/WebBrowser.desktop new file mode 100644 index 0000000..4662377 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/panel/launcher-5/WebBrowser.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=exo-open --launch WebBrowser %u +Icon=web-browser +StartupNotify=true +Terminal=false +Categories=Network;X-XFCE;X-Xfce-Toplevel; +OnlyShowIn=XFCE; +X-XFCE-MimeType=x-scheme-handler/http;x-scheme-handler/https; +X-AppStream-Ignore=True +Name=Web Browser +Comment=Browse the web +X-XFCE-Source=file:///usr/share/applications/exo-web-browser.desktop diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml new file mode 100644 index 0000000..0559966 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml new file mode 100644 index 0000000..5dd9176 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml new file mode 100644 index 0000000..ab0d597 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml new file mode 100644 index 0000000..f3c9034 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml new file mode 100644 index 0000000..276b7ec --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml new file mode 100644 index 0000000..0693440 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml new file mode 100644 index 0000000..a7d7fe7 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml new file mode 100644 index 0000000..4d5554e --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.xinitrc b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.xinitrc new file mode 100644 index 0000000..41eda7a --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.xinitrc @@ -0,0 +1,16 @@ +#!/bin/sh +# +# ~/.xinitrc +# +# Executed by startx (run your window manager from here) + +if [ -d /etc/X11/xinit/xinitrc.d ]; then + for f in /etc/X11/xinit/xinitrc.d/*; do + [ -x "$f" ] && . "$f" + done + unset f +fi + +xrdb -merge .Xresources + +exec xfce4-session \ No newline at end of file diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.xsession b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.xsession new file mode 100644 index 0000000..8658258 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/root/.xsession @@ -0,0 +1 @@ +xfce4-session \ No newline at end of file diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/backgrounds/MiniOS-wallpaper.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/backgrounds/MiniOS-wallpaper.svg new file mode 100644 index 0000000..9c8639a --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/backgrounds/MiniOS-wallpaper.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/pixmaps/MiniOS-white.svg b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/pixmaps/MiniOS-white.svg new file mode 100644 index 0000000..ca13046 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/pixmaps/MiniOS-white.svg @@ -0,0 +1,149 @@ + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/slim/themes/minios/background.png b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/slim/themes/minios/background.png new file mode 100644 index 0000000..966915d Binary files /dev/null and b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/slim/themes/minios/background.png differ diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/slim/themes/minios/panel.png b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/slim/themes/minios/panel.png new file mode 100644 index 0000000..8d01ac8 Binary files /dev/null and b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/slim/themes/minios/panel.png differ diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/slim/themes/minios/slim.theme b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/slim/themes/minios/slim.theme new file mode 100644 index 0000000..b70182b --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/rootcopy/usr/share/slim/themes/minios/slim.theme @@ -0,0 +1,36 @@ +# greeny_dark theme for SLIM +# by aditya shakya +# using artwork from some free html+css login templates on the internet + +# Messages (ie: shutdown) + +msg_color #b5cd60 +msg_font Sans:size=18:bold:dpi=75 +msg_x 50% +msg_y 30% + +# Session Name + +session_color #b5cd60 +session_font Sans:size=16:bold:dpi=75 +session_x 50% +session_y 90% + +# valid values: stretch, tile + +background_style stretch +background_color #f2f2f2 + +# Input controls + +input_panel_x 50% +input_panel_y 50% +input_name_x 200 +input_name_y 78 +input_pass_x 200 +input_pass_y 145 +input_font Sans:size=14:dpi=75 +input_color #b5cd60 + +username_msg +password_msg diff --git a/linux-live/unusedmodules/03-xfce-desktop.old/standard.list b/linux-live/unusedmodules/03-xfce-desktop.old/standard.list new file mode 100644 index 0000000..7e7a013 --- /dev/null +++ b/linux-live/unusedmodules/03-xfce-desktop.old/standard.list @@ -0,0 +1,24 @@ +dbus-x11 +slim +libxfce4ui-utils +thunar +thunar-volman +gvfs-backends +samba-common +avahi-daemon +tumbler +xfce4-appfinder +xfce4-panel +xfce4-session +xfce4-settings +xfconf +xfdesktop4 +xfwm4 +greybird-gtk-theme +xfce4-pulseaudio-plugin +pulseaudio +pavucontrol +xfce4-xkb-plugin +xfce4-battery-plugin +xfce4-whiskermenu-plugin +network-manager-gnome \ No newline at end of file diff --git a/linux-live/unusedmodules/05-chromium/install b/linux-live/unusedmodules/05-chromium/install index fe880a2..b9a33e7 100644 --- a/linux-live/unusedmodules/05-chromium/install +++ b/linux-live/unusedmodules/05-chromium/install @@ -1,13 +1,57 @@ #!/bin/bash -apt-get update >>$OUTPUT 2>&1 -apt-get install --yes --no-install-recommends chromium chromium-sandbox >>$OUTPUT 2>&1 +set -e # exit on error +set -o pipefail # exit on pipeline error +set -u # treat unset variable as error -echo 'export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --disk-cache-dir=/dev/null --disk-cache-size=1"' >>/etc/chromium.d/default-flags +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" -rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1 -#rm -Rf /root/.fluxbox -#rm -Rf /root/.fluxbox/kblayout -#rm -Rf /root/.gtk-bookmarks -#rm -Rf /var/lib/wicd/dhclient.conf -rm -Rf /usr/share/applications/chromium.desktop >>$OUTPUT 2>&1 +# install packages +if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD update >>$OUTPUT 2>&1 && + #sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + $APT_CMD install $APT_OPTIONS $APT_OPTIONS2 \ + $(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1 +fi + +if [ $PACKAGE_VARIANT = "minimal" ]; then + cat </etc/skel/.config/xfce4/helpers.rc +TerminalEmulator=xterm +FileManager=pcmanfm +WebBrowser=chromium + +EOF + cat </home/live/.config/xfce4/helpers.rc +TerminalEmulator=xterm +FileManager=pcmanfm +WebBrowser=chromium + +EOF + cat </root/.config/xfce4/helpers.rc +TerminalEmulator=xterm +FileManager=pcmanfm +WebBrowser=chromium --no-sandbox + +EOF + +elif [ $PACKAGE_VARIANT = "standard" ]; then + cat </etc/skel/.config/xfce4/helpers.rc +TerminalEmulator=xfce4-terminal +FileManager=Thunar +WebBrowser=chromium + +EOF + cat </home/live/.config/xfce4/helpers.rc +TerminalEmulator=xfce4-terminal +FileManager=Thunar +WebBrowser=chromium + +EOF + cat </root/.config/xfce4/helpers.rc +TerminalEmulator=xfce4-terminal +FileManager=Thunar +WebBrowser=chromium --no-sandbox + +EOF +fi \ No newline at end of file diff --git a/linux-live/unusedmodules/05-chromium/minimal.list b/linux-live/unusedmodules/05-chromium/minimal.list new file mode 100644 index 0000000..e4f291d --- /dev/null +++ b/linux-live/unusedmodules/05-chromium/minimal.list @@ -0,0 +1,2 @@ +chromium +chromium-sandbox \ No newline at end of file diff --git a/linux-live/unusedmodules/05-chromium/postinstall b/linux-live/unusedmodules/05-chromium/postinstall new file mode 100644 index 0000000..a407c94 --- /dev/null +++ b/linux-live/unusedmodules/05-chromium/postinstall @@ -0,0 +1,3 @@ +#!/bin/bash + +rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1 diff --git a/linux-live/unusedmodules/05-chromium/rootcopy/usr/share/applications/chromium-root.desktop b/linux-live/unusedmodules/05-chromium/rootcopy/usr/share/applications/chromium-root.desktop new file mode 100755 index 0000000..d2f2569 --- /dev/null +++ b/linux-live/unusedmodules/05-chromium/rootcopy/usr/share/applications/chromium-root.desktop @@ -0,0 +1,140 @@ +[Desktop Entry] +Version=1.0 +Name=Chromium Web Browser [root] +Name[ast]=Restolador web Chromium [root] +Name[ca]=Navegador web Chromium [root] +Name[de]=Chromium-Webbrowser [root] +Name[es]=Navegador web Chromium [root] +Name[fr]=Navigateur Web Chromium [root] +Name[gl]=Navegador web Chromium [root] +Name[he]=דפדפן האינטרנט Chromium [root] +Name[hr]=Chromium web preglednik [root] +Name[hu]=Chromium webböngésző [root] +Name[id]=Peramban Web Chromium [root] +Name[it]=Browser web Chromium [root] +Name[ja]=Chromium ウェブ・ブラウザ [root] +Name[ko]=Chromium 웹 브라우저 [root] +Name[pt_BR]=Chromium Navegador da Internet [root] +Name[ru]=Веб-браузер Chromium [root] +Name[sl]=Chromium spletni brskalnik [root] +Name[sv]=Webbläsaren Chromium [root] +Name[ug]=Chromium توركۆرگۈ [root] +Name[zh_CN]=Chromium 网页浏览器 [root] +Name[zh_HK]=Chromium 網頁瀏覽器 [root] +Name[zh_TW]=Chromium 網頁瀏覽器 [root] +GenericName=Web Browser [root] +GenericName[ar]=متصفح الشبكة [root] +GenericName[ast]=Restolador web [root] +GenericName[bg]=Уеб браузър [root] +GenericName[bn]=ওয়েব ব্রাউজার [root] +GenericName[ca]=Navegador web [root] +GenericName[cs]=WWW prohlížeč [root] +GenericName[da]=Browser [root] +GenericName[de]=Webbrowser [root] +GenericName[el]=Περιηγητής ιστού [root] +GenericName[en_GB]=Web Browser [root] +GenericName[es]=Navegador web [root] +GenericName[et]=Veebibrauser [root] +GenericName[fi]=WWW-selain [root] +GenericName[fil]=Web Browser [root] +GenericName[fr]=Navigateur Web [root] +GenericName[gl]=Navegador web [root] +GenericName[gu]=વેબ બ્રાઉઝર [root] +GenericName[he]=דפדפן אינטרנט [root] +GenericName[hi]=वेब ब्राउज़र [root] +GenericName[hr]=Web preglednik [root] +GenericName[hu]=Webböngésző [root] +GenericName[id]=Peramban Web [root] +GenericName[it]=Browser web [root] +GenericName[ja]=ウェブ・ブラウザ [root] +GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ [root] +GenericName[ko]=웹 브라우저 [root] +GenericName[lt]=Žiniatinklio naršyklė [root] +GenericName[lv]=Tīmekļa pārlūks [root] +GenericName[ml]=വെബ് ബ്രൌസര്‍ [root] +GenericName[mr]=वेब ब्राऊजर [root] +GenericName[nb]=Nettleser [root] +GenericName[nl]=Webbrowser [root] +GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର [root] +GenericName[pl]=Przeglądarka WWW [root] +GenericName[pt]=Navegador Web [root] +GenericName[pt_BR]=Navegador da Internet [root] +GenericName[ro]=Navigator de Internet [root] +GenericName[ru]=Веб-браузер [root] +GenericName[sk]=WWW prehliadač [root] +GenericName[sl]=Spletni brskalnik [root] +GenericName[sr]=Интернет прегледник [root] +GenericName[sv]=Webbläsare [root] +GenericName[ta]=இணைய உலாவி [root] +GenericName[te]=మహాతల అన్వేషి [root] +GenericName[th]=เว็บเบราว์เซอร์ [root] +GenericName[tr]=Web Tarayıcı [root] +GenericName[ug]=توركۆرگۈ [root] +GenericName[uk]=Навігатор Тенет [root] +GenericName[vi]=Bộ duyệt Web [root] +GenericName[zh_CN]=网页浏览器 [root] +GenericName[zh_HK]=網頁瀏覽器 [root] +GenericName[zh_TW]=網頁瀏覽器 [root] +Comment=Access the Internet +Comment[ar]=الدخول إلى الإنترنت +Comment[ast]=Accesu a Internet +Comment[bg]=Достъп до интернет +Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন +Comment[ca]=Accediu a Internet +Comment[cs]=Přístup k internetu +Comment[da]=Få adgang til internettet +Comment[de]=Internetzugriff +Comment[el]=Πρόσβαση στο Διαδίκτυο +Comment[en_GB]=Access the Internet +Comment[es]=Acceda a Internet +Comment[et]=Pääs Internetti +Comment[fi]=Käytä internetiä +Comment[fil]=I-access ang Internet +Comment[fr]=Explorer le Web +Comment[gl]=Acceda a Internet +Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો +Comment[he]=גישה לאינטרנט +Comment[hi]=इंटरनेट तक पहुंच स्थापित करें +Comment[hr]=Pristupite Internetu +Comment[hu]=Az internet elérése +Comment[id]=Akses Internet +Comment[it]=Accesso a Internet +Comment[ja]=インターネットにアクセス +Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ +Comment[ko]=인터넷에 연결합니다 +Comment[lt]=Interneto prieiga +Comment[lv]=Piekļūt internetam +Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക +Comment[mr]=इंटरनेटमध्ये प्रवेश करा +Comment[nb]=Gå til Internett +Comment[nl]=Verbinding maken met internet +Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ +Comment[pl]=Skorzystaj z internetu +Comment[pt]=Aceder à Internet +Comment[pt_BR]=Acessar a internet +Comment[ro]=Accesaţi Internetul +Comment[ru]=Доступ в Интернет +Comment[sk]=Prístup do siete Internet +Comment[sl]=Dostop do interneta +Comment[sr]=Приступите Интернету +Comment[sv]=Surfa på Internet +Comment[ta]=இணையத்தை அணுகுதல் +Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి +Comment[th]=เข้าถึงอินเทอร์เน็ต +Comment[tr]=İnternet'e erişin +Comment[ug]=ئىنتېرنېتنى زىيارەت قىلىش +Comment[uk]=Доступ до Інтернету +Comment[vi]=Truy cập Internet +Comment[zh_CN]=访问互联网 +Comment[zh_HK]=連線到網際網路 +Comment[zh_TW]=連線到網際網路 +Exec=/usr/bin/chromium --no-sandbox %U +Terminal=false +X-MultipleArgs=false +Type=Application +Icon=chromium +Categories=Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml_xml;application/x-mimearchive;x-scheme-handler/http;x-scheme-handler/https; +StartupWMClass=chromium +StartupNotify=true +Keywords=browser diff --git a/linux-live/unusedmodules/05-chromium/standard.list b/linux-live/unusedmodules/05-chromium/standard.list new file mode 100644 index 0000000..e4f291d --- /dev/null +++ b/linux-live/unusedmodules/05-chromium/standard.list @@ -0,0 +1,2 @@ +chromium +chromium-sandbox \ No newline at end of file diff --git a/linux-live/unusedmodules/skel/.config/xfce4/desktop/icons.screen0-784x504.rc b/linux-live/unusedmodules/skel/.config/xfce4/desktop/icons.screen0-784x504.rc deleted file mode 100644 index e393b73..0000000 --- a/linux-live/unusedmodules/skel/.config/xfce4/desktop/icons.screen0-784x504.rc +++ /dev/null @@ -1,11 +0,0 @@ -[xfdesktop-version-4.10.3+-rcfile_format] -4.10.3+=true - -[/] -row=0 -col=0 - -[/root] -row=1 -col=0 - diff --git a/linux-live/unusedmodules/skel/.config/xfce4/desktop/icons.screen0-784x584.rc b/linux-live/unusedmodules/skel/.config/xfce4/desktop/icons.screen0-784x584.rc deleted file mode 100644 index a976360..0000000 --- a/linux-live/unusedmodules/skel/.config/xfce4/desktop/icons.screen0-784x584.rc +++ /dev/null @@ -1,31 +0,0 @@ -[xfdesktop-version-4.10.3+-rcfile_format] -4.10.3+=true - -[shm] -row=2 -col=0 - -[proc] -row=3 -col=0 - -[sys] -row=4 -col=0 - -[Filesystem root] -row=0 -col=0 - -[pts] -row=1 -col=0 - -[/] -row=0 -col=1 - -[/root] -row=1 -col=1 - diff --git a/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-12/16233231144.desktop b/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-12/16233231144.desktop deleted file mode 100644 index c795ef2..0000000 --- a/linux-live/unusedmodules/skel/.config/xfce4/panel/launcher-12/16233231144.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Exec=xfce4-appfinder -Icon=gtk-find -StartupNotify=true -Terminal=false -Type=Application -Categories=Utility;X-XFCE; -Name=Application Finder -Comment=Find and launch applications installed on your system -X-XFCE-Source=file:///usr/share/applications/xfce4-appfinder.desktop diff --git a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml deleted file mode 100644 index 9ddc443..0000000 --- a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml deleted file mode 100644 index c3d5d2a..0000000 --- a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml deleted file mode 100644 index afc20d6..0000000 --- a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml deleted file mode 100644 index c210190..0000000 --- a/linux-live/unusedmodules/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/minios-modules/modulelib b/minios-modules/modulelib new file mode 100644 index 0000000..8e49f8b --- /dev/null +++ b/minios-modules/modulelib @@ -0,0 +1,2057 @@ +#!/bin/bash + +# Functions library :: for install scripts +# Author: crims0n. +# + +# ================================================================= +# ================================================================= +# ========================= VARIABLES ============================= +# ================================================================= +# ================================================================= + +function common_variables() { + # + CONTAINER_TYPE="0" + set +u + if [ -z $container ]; then + container="" + fi + set -u + : 'if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then + OUTPUT="/dev/stdout" + #CONTAINER="docker" + fi' + if [ -f /.dockerenv ] || [ "$container" = "podman" ] && [ ! -d /opt/minios-live ] && [ ! -f /.minios-live-container ]; then + CONTAINER_TYPE="1" + fi + if [[ (-f /.dockerenv || "$container" = "podman") && (-d /opt/minios-live || -f /.minios-live-container) ]]; then + CONTAINER_TYPE="2" + fi + + if [ $DISTRIBUTION_ARCH = "amd64" ]; then + KERNEL_ARCH="amd64" + #PACKAGE_VARIANT="standard" + elif [ $DISTRIBUTION_ARCH = "i386" ]; then + KERNEL_ARCH="686-pae" + PACKAGE_VARIANT="minimal" + elif [ $DISTRIBUTION_ARCH = "arm64" ]; then + KERNEL_ARCH="arm64" + fi +} + +# ================================================================= +# ================================================================= +# ===================== COMMON FUNCTIONS ========================== +# ================================================================= +# ================================================================= + +function current_process() { + echo -e "${LIGHTYELLOW}=====> running ${CYAN}${CMD[ii]}${ENDCOLOUR}${LIGHTYELLOW} ...${ENDCOLOUR}" +} + +# ================================================================= +# beautiful console +# красивая консоль +# ================================================================= +function console_colours() { + RED="\e[31m" + GREEN="\e[32m" + YELLOW="\e[33m" + BLUE="\e[34m" + MAGENTA="\e[35m" + CYAN="\e[36m" + LIGHTGRAY="\e[37m" + DARKGRAY="\e[90m" + LIGHTRED="\e[91m" + LIGHTGREEN="\e[92m" + LIGHTYELLOW="\e[93m" + LIGHTBLUE="\e[94m" + LIGHTMAGENTA="\e[95m" + LIGHTCYAN="\e[96m" + BOLD="\e[1m" + DIM="\e[2m" + UNDERLINED="\e[4m" + BLINK="\e[5m" + REVERSE="\e[7m" + HIDDEN="\e[8m" + ENDCOLOUR="\e[0m" +} + +# ================================================================= +# help functions +# функции помощи +# ================================================================= +function help() { + # if $1 is set, use $1 as headline message in help() + if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale >>$OUTPUT; then + if [ -z ${1+x} ]; then + echo -e "${LIGHTYELLOW}Этот скрипт собирает загружаемый ISO образ $SYSTEMNAME.${ENDCOLOUR}" + echo -e + else + echo -e $1 + echo + fi + echo -e "Поддерживаемые команды : ${CYAN}${CMD[*]}${ENDCOLOUR}" + echo -e + echo -e "Синтаксис: ${MAGENTA}$0${ENDCOLOUR} [start_cmd] [-] [end_cmd]" + if [ -L /usr/bin/$LIVEKITNAME-install ] && [ "$0" != "/usr/bin/$LIVEKITNAME-install" ]; then + echo -e "\t${CYAN}$LIVEKITNAME-install${ENDCOLOUR} [start_cmd] [-] [end_cmd]" + fi + echo -e "\tзапуск от start_cmd до end_cmd" + echo -e "\tесли start_cmd опущен, выполняются все команды, начиная с первой" + echo -e "\tесли end_cmd опущен, выполняются все команды до последней" + echo -e "\tвведите одну команду, чтобы запустить определенную команду" + echo -e "\tвведите '-' как единственный аргумент для запуска всех команд" + echo -e "\t" + echo -e "\tПримеры:${LIGHTYELLOW}$0 build_bootstrap - build_chroot${ENDCOLOUR}" + echo -e "\t\t${LIGHTYELLOW}$0 - build_chroot${ENDCOLOUR}" + echo -e "\t\t${LIGHTYELLOW}$0 build_bootstrap -${ENDCOLOUR}" + echo -e "\t\t${LIGHTYELLOW}$0 build_iso${ENDCOLOUR}" + echo -e "\t\t${LIGHTYELLOW}$0 -${ENDCOLOUR}" + exit 0 + else + if [ -z ${1+x} ]; then + echo -e "${LIGHTYELLOW}This script builds bootable $SYSTEMNAME ISO image.${ENDCOLOUR}" + echo -e + else + echo -e $1 + echo + fi + echo -e "Supported commands : ${CYAN}${CMD[*]}${ENDCOLOUR}" + echo -e + echo -e "Syntax: ${MAGENTA}$0${ENDCOLOUR} [start_cmd] [-] [end_cmd]" + if [ -L /usr/bin/$LIVEKITNAME-install ] && [ "$0" != "/usr/bin/$LIVEKITNAME-install" ]; then + echo -e "\t${CYAN}$LIVEKITNAME-install${ENDCOLOUR} [start_cmd] [-] [end_cmd]" + fi + echo -e "\trun from start_cmd to end_cmd" + echo -e "\tif start_cmd is omitted, start from first command" + echo -e "\tif end_cmd is omitted, end with last command" + echo -e "\tenter single cmd to run the specific command" + echo -e "\tenter '-' as only argument to run all commands" + echo -e "\t" + echo -e "\tExamples:${LIGHTYELLOW}$0 build_bootstrap - build_chroot${ENDCOLOUR}" + echo -e "\t\t${LIGHTYELLOW}$0 - build_chroot${ENDCOLOUR}" + echo -e "\t\t${LIGHTYELLOW}$0 build_bootstrap -${ENDCOLOUR}" + echo -e "\t\t${LIGHTYELLOW}$0 build_iso${ENDCOLOUR}" + echo -e "\t\t${LIGHTYELLOW}$0 -${ENDCOLOUR}" + exit 0 + fi +} + +# ================================================================= +# parsing input commands +# разбор входных команд +# ================================================================= +function find_index() { + local ret + local i + for ((i = 0; i < ${#CMD[*]}; i++)); do + if [ "${CMD[i]}" == "$1" ]; then + index=$i + return + fi + done + help "Command not found : $1" +} + +# ================================================================= +# creating a symbolic link to the executable file for using +# autocompletion on the command line +# создание символической ссылки на исполняемый файл для +# использования автодополнения в командной строке +# ================================================================= +function create_livekitname_install_symlink() { + if [ -L /usr/bin/$LIVEKITNAME-install ]; then + if [ "$(readlink /usr/bin/$LIVEKITNAME-install)" != "$SCRIPT_DIR/install" ]; then + rm -f /usr/bin/$LIVEKITNAME-install + ln -s $SCRIPT_DIR/install /usr/bin/$LIVEKITNAME-install + if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale >>$OUTPUT; then + echo -e "Символическая ссылка ${MAGENTA}/usr/bin/$LIVEKITNAME-install${ENDCOLOUR} была обновлена." + echo -e "Теперь она указывает на ${MAGENTA}$SCRIPT_DIR/install${ENDCOLOUR}." + else + echo -e "The ${MAGENTA}/usr/bin/$LIVEKITNAME-install${ENDCOLOUR} symbolic link has been updated." + echo -e "It now points to ${MAGENTA}$SCRIPT_DIR/install${ENDCOLOUR}." + fi + fi + if [ "$0" != "/usr/bin/$LIVEKITNAME-install" ]; then + if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale >>$OUTPUT; then + echo -e "Вы можете использовать команду ${CYAN}$LIVEKITNAME-install${ENDCOLOUR} для запуска этой программы." + else + echo -e "You can use the ${CYAN}$LIVEKITNAME-install${ENDCOLOUR} command to run this program." + fi + fi + else + ln -s $SCRIPT_DIR/install /usr/bin/$LIVEKITNAME-install + if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale >>$OUTPUT; then + echo -e "Символическая ссылка ${MAGENTA}/usr/bin/$LIVEKITNAME-install${ENDCOLOUR} была добавлена" + echo -e "для ${MAGENTA}$SCRIPT_DIR/install${ENDCOLOUR}." + + else + echo -e "The ${MAGENTA}/usr/bin/$LIVEKITNAME-install${ENDCOLOUR} symbolic link has been added" + echo -e "for ${MAGENTA}$SCRIPT_DIR/install${ENDCOLOUR}." + fi + fi +} + +# ================================================================= +# creating autocompletion on the command line +# создание автодополнения в командной строке +# ================================================================= +function create_completion() { + if [ -d /etc/bash_completion.d ]; then + if [ ! -f /etc/bash_completion.d/$LIVEKITNAME-install ] || ! grep "${CMD[*]}" /etc/bash_completion.d/$LIVEKITNAME-install >>$OUTPUT; then + cat </etc/bash_completion.d/$LIVEKITNAME-install +#/usr/bin/env bash +complete -W "${CMD[*]}" $LIVEKITNAME-install +EOF + fi + if [ "$0" != "/usr/bin/$LIVEKITNAME-install" ]; then + if grep 'LANG="ru_RU.UTF-8"' /etc/default/locale >>$OUTPUT; then + echo -e "Дополнение команд работает только при использовании команды ${CYAN}$LIVEKITNAME-install${ENDCOLOUR}." + echo -e + else + echo -e "Command completion only works when using the ${CYAN}$LIVEKITNAME-install${ENDCOLOUR} command." + echo -e + fi + fi + fi +} + +# ================================================================= +# only allow 'root' to run the script +# разрешаем запуск скрипта только пользователю 'root' +# ================================================================= + +function allow_root_only() { + if [ $(id -u) -ne 0 ]; then + echo -e "${BOLD}${RED}This script should be run as 'root'!${ENDCOLOUR}" + exit 1 + fi + + export HOME=/root + export LC_ALL=C +} + +# ================================================================= +# check that we are inside chroot +# проверяем, что мы внутри chroot +# ================================================================= + +function check_is_in_chroot() { + if [ $(stat -c %i /)="2" ]; then + echo -e "${BOLD}${RED}This script should be run inside chroot only!${ENDCOLOUR}" + exit 1 + fi +} + +# ================================================================= +# check if filesystems are unmounted inside chroot +# проверяем, размонтированы ли файловые системы внутри chroot +# ================================================================= + +function check_mounted() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + if grep -qs "$BUILD_DIR/dev" /proc/mounts || grep -qs "$BUILD_DIR/run" /proc/mounts || grep -qs "$BUILD_DIR/proc" /proc/mounts || grep -qs "$BUILD_DIR/sys" /proc/mounts || grep -qs "$BUILD_DIR/dev/pts" /proc/mounts || grep -qs "$BUILD_DIR/tmp" /proc/mounts; then + echo -e "${BOLD}${LIGHTYELLOW}Сhroot contains mounted filesystems.${ENDCOLOUR}" + if [ "$UNATTENDED" = "1" ]; then + chroot_umount_fs + else + read -r -p "$(echo -e ""Do you want to ${GREEN}unmount them${ENDCOLOUR}? [${BOLD}${GREEN}Y${ENDCOLOUR}/n])" response + response=${response,,} + if [[ "$response" =~ ^(no|n)$ ]]; then + exit 1 + else + chroot_umount_fs + fi + fi + fi +} + +# ================================================================= +# check if the folder where the installation will be performed is empty +# проверяем, пуста ли папка, в которую будет производиться установка +# ================================================================= + +function check_build_dir() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + if [ "$UNATTENDED" = "1" ]; then + #echo -e "${RED}!!!Unattended installation!!!${ENDCOLOUR}" + BUILD_DIR="/build/$DISTRIBUTION" + echo -e "The working directory is ${MAGENTA}$BUILD_DIR${ENDCOLOUR}." + if [ "$(ls -A $BUILD_DIR)" != "" ]; then + cleanup + check_mounted + fi + else + # ▼ должно быть только перенаправление ошибки! + if [ "$(ls -A $BUILD_DIR)" != "" ]; then + echo -e "${MAGENTA}$BUILD_DIR${ENDCOLOUR} is not empty." + cleanup + check_mounted + if [ ! -d "$BUILD_DIR" ]; then + mkdir -p $BUILD_DIR + fi + BUILD_DIR="$( + cd $BUILD_DIR + pwd + )" + echo $BUILD_DIR >$SCRIPT_DIR/.build_dir && chmod 644 $SCRIPT_DIR/.build_dir + echo -e "The working directory is ${MAGENTA}$BUILD_DIR${ENDCOLOUR}." + else + mkdir -p $BUILD_DIR + check_mounted + BUILD_DIR="$( + cd $BUILD_DIR + pwd + )" + echo $BUILD_DIR >$SCRIPT_DIR/.build_dir && chmod 644 $SCRIPT_DIR/.build_dir + echo -e "The working directory is ${MAGENTA}$BUILD_DIR${ENDCOLOUR}." + fi + fi +} + +# ================================================================= +# configure the build folder +# настраиваем папку для сборки +# ================================================================= + +function setup_build_dir() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + if [ "$UNATTENDED" = "1" ] && [ "$BUILD_DIR" = "" ]; then + BUILD_DIR="/build/$DISTRIBUTION" + check_build_dir + else + if [ "$BUILD_DIR" = "" ]; then + if [ ! -f "$SCRIPT_DIR/.build_dir" ]; then + echo "Enter the address of the working directory where we will build the system" + read -r -p "$(echo -e "(Default is ${MAGENTA}$PARENT_DIR/$DISTRIBUTION${ENDCOLOUR}): ")" response + BUILD_DIR=${response,,} + if [ "$BUILD_DIR" = "" ]; then + BUILD_DIR=$PARENT_DIR/$DISTRIBUTION + fi + check_build_dir + else + LAST_BUILD_DIR=$(cat "$SCRIPT_DIR/.build_dir") + echo -e "Last time you used the build directory ${MAGENTA}$LAST_BUILD_DIR${ENDCOLOUR}." + read -r -p "$(echo -e ""Do you want to use it again? [${BOLD}${GREEN}Y${ENDCOLOUR}/n])" response + response=${response,,} + if [[ "$response" =~ ^(no|n)$ ]]; then + echo "Enter the address of the working directory where we will build the system" + read -r -p "$(echo -e "(Default is ${MAGENTA}$PARENT_DIR/$DISTRIBUTION${ENDCOLOUR}): ")" response + BUILD_DIR=${response,,} + if [ "$BUILD_DIR" = "" ]; then + BUILD_DIR=$PARENT_DIR/$DISTRIBUTION + fi + check_build_dir + else + BUILD_DIR="$LAST_BUILD_DIR" + check_build_dir + fi + fi + fi + fi +} + +# ================================================================= +# cleaning the build folder +# очистка папки для сборки +# ================================================================= +function cleanup() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + if [ "${CMD[ii]}" = "setup_host" ] || [ "${CMD[ii]}" = "build_bootstrap" ] || [ "${CMD[ii]}" = "build_chroot" ]; then + if [ "$UNATTENDED" = "1" ]; then + check_mounted + rm -rf $BUILD_DIR + if [ -d "$BUILD_DIR" ]; then + cleanup + fi + else + read -r -p "$(echo -e ""Do you want to ${BOLD}${RED}completely remove content${ENDCOLOUR} of ${MAGENTA}$BUILD_DIR${ENDCOLOUR}? [y/${BOLD}${GREEN}N${ENDCOLOUR}])" response + response=${response,,} + if [[ "$response" =~ ^(yes|y)$ ]]; then + check_mounted + rm -rf $BUILD_DIR + if [ -d "$BUILD_DIR" ]; then + cleanup + fi + else + echo -e "${MAGENTA}$BUILD_DIR${ENDCOLOUR} should be empty to continue." + exit 1 + fi + fi + fi +} + +# ================================================================= +# mount filesystems inside chroot +# монтируем файловые системы внутри chroot +# ================================================================= + +function chroot_mount_fs() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + + check_mounted + + mount --bind /dev $BUILD_DIR/dev + mount --bind /run $BUILD_DIR/run + mount none -t proc $BUILD_DIR/proc + mount none -t sysfs $BUILD_DIR/sys + mount none -t devpts $BUILD_DIR/dev/pts + mount none -t tmpfs $BUILD_DIR/tmp +} + +# ================================================================= +# unmount filesystems inside chroot +# размонтируем файловые системы внутри chroot +# ================================================================= + +function chroot_umount_fs() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + + set +e + if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then + umount $BUILD_DIR/proc + umount $BUILD_DIR/sys + umount $BUILD_DIR/dev/pts + umount $BUILD_DIR/tmp + umount $BUILD_DIR/dev + umount $BUILD_DIR/run + else + umount $BUILD_DIR/proc >>$OUTPUT 2>&1 + umount $BUILD_DIR/sys >>$OUTPUT 2>&1 + umount $BUILD_DIR/dev/pts >>$OUTPUT 2>&1 + umount $BUILD_DIR/tmp >>$OUTPUT 2>&1 + umount $BUILD_DIR/dev >>$OUTPUT 2>&1 + umount $BUILD_DIR/run >>$OUTPUT 2>&1 + fi + set -e + + check_mounted +} + +# ================================================================= +# delete the log +# удаляем лог +# ================================================================= +function remove_log_file() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + if [ -f $LOGPATH/$LIVEKITNAME.log ]; then + rm -f $LOGPATH/$LIVEKITNAME.log + fi + if [ -f $BUILD_DIR/$LIVEKITNAME.log ]; then + rm -f $BUILD_DIR/$LIVEKITNAME.log + fi +} + +# ================================================================= +# creating a backup of scripts (to run you need to set the variable +# CREATE_BACKUP = "1" in linux-live/buildconfig) +# создание бэкапа скриптов (для запуска необходимо установить +# переменную CREATE_BACKUP="1" в linux-live/buildconfig) +# ================================================================= +function create_backup() { + if [ $CREATE_BACKUP = "1" ]; then + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + if [ ! -f $SCRIPT_DIR/.script_version ]; then + cat "1" >$SCRIPT_DIR/.script_version >>$OUTPUT 2>&1 + chmod 644 $SCRIPT_DIR/.script_version >>$OUTPUT 2>&1 + fi + DATE=$(date +%Y%m%d_%H%M) + CHANGED="0" + rm -rf $SCRIPT_DIR/iso >>$OUTPUT 2>&1 + rm -f $SCRIPT_DIR/.build_dir >>$OUTPUT 2>&1 + rm -f $SCRIPT_DIR/*.log >>$OUTPUT 2>&1 + if [ ! -d $PARENT_DIR/minios-live-current ]; then + CHANGED="1" + mkdir -p $PARENT_DIR/minios-live-current + (cd $SCRIPT_DIR && cp --parents -afr * $PARENT_DIR/minios-live-current) + else + for file in $(find $SCRIPT_DIR -path $SCRIPT_DIR/.git -prune -false -o -type f | sed "s,$SCRIPT_DIR/,,g" | sed "s,.script_version,,g"); do + if ! cmp $SCRIPT_DIR/$file $PARENT_DIR/minios-live-current/$file >>$OUTPUT 2>&1; then + CHANGED="1" + echo -e "$file has been modified since last backup." >>$OUTPUT 2>&1 + echo -e "Copying $SCRIPT_DIR/$file to $PARENT_DIR/minios-live-current/$file..." >>$OUTPUT 2>&1 + cp -f "$SCRIPT_DIR/$file" "$PARENT_DIR/minios-live-current/$file" >>$OUTPUT 2>&1 + fi + done + fi + if [ $CHANGED = "1" ]; then + SCRIPT_VERSION=$(cat $SCRIPT_DIR/.script_version) + echo $(($SCRIPT_VERSION + 1)) >$SCRIPT_DIR/.script_version + echo $(($SCRIPT_VERSION + 1)) >$PARENT_DIR/minios-live-current/.script_version + cd $SCRIPT_DIR >>$OUTPUT 2>&1 + rm -f $PARENT_DIR/minios-live-current.tar.gz + tar -czf $PARENT_DIR/minios-live-current.tar.gz ./ >>$OUTPUT 2>&1 + cp $PARENT_DIR/minios-live-current.tar.gz $PARENT_DIR/minios-live-v$SCRIPT_VERSION-$DATE.tar.gz >>$OUTPUT 2>&1 + fi + fi +} + +# ================================================================= +# Displaying information about the start of the build for a more +# convenient search in the logs +# Отображение информации о старте сборки для более удобного поиска +# в логах +# ================================================================= +function new_run() { + DATE=$(date +"%Y.%m.%d %H:%M") + echo "" + echo "=================================================================" >>$OUTPUT 2>&1 + echo "=================================================================" >>$OUTPUT 2>&1 + echo "============================ NEW RUN ============================" >>$OUTPUT 2>&1 + echo "======================== $DATE =======================" >>$OUTPUT 2>&1 + echo "=================================================================" >>$OUTPUT 2>&1 + echo "======= If during the installation you get an error that ========" >>$OUTPUT 2>&1 + echo "=== /dev/stdout is not available, try using a bionic or xenial ==" >>$OUTPUT 2>&1 + echo "================= based container to install. ===================" >>$OUTPUT 2>&1 + echo "=================================================================" >>$OUTPUT 2>&1 + echo "=================================================================" >>$OUTPUT 2>&1 + echo "" +} + +# ================================================================= +# ================================================================= +# ====================== HOST FUNCTIONS =========================== +# ================================================================= +# ================================================================= + +# ================================================================= +# Creating a $PACKAGE_VARIANT list from a template +# Создание списка пакетов из шаблона +# ================================================================= +function create_apt_list() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + if [ ! -f $SCRIPT_DIR/linux-live/aptsources/$DISTRIBUTION.list ] && [ $DISTRIBUTION_TYPE != "debian" ]; then + cp -f $SCRIPT_DIR/linux-live/aptsources/sources.list $SCRIPT_DIR/linux-live/aptsources/$DISTRIBUTION.list + sed -i "s,distro,$DISTRIBUTION,g" $SCRIPT_DIR/linux-live/aptsources/$DISTRIBUTION.list + sed -i "s,http://ru.archive.ubuntu.com/ubuntu,$DISTRIBUTION_URL,g" $SCRIPT_DIR/linux-live/aptsources/$DISTRIBUTION.list + fi +} + +# ================================================================= +# Installing the base system +# Установка базовой системы +# ================================================================= +function build_bootstrap() { + current_process + + if [ $CONTAINER_TYPE = "1" ]; then + if [ ! -f /.minios-live ]; then + setup_host + fi + fi + if [ $DISTRIBUTION_TYPE != "debian" ]; then + sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + debootstrap --arch=$DISTRIBUTION_ARCH --variant=$DISTRIBUTION_VARIANT $DISTRIBUTION $BUILD_DIR $DISTRIBUTION_URL >>$OUTPUT 2>>$OUTPUT + else + sudo DEBIAN_FRONTEND=$DEBIAN_FRONTEND_TYPE \ + debootstrap --arch=$DISTRIBUTION_ARCH $DISTRIBUTION $BUILD_DIR $DISTRIBUTION_URL >>$OUTPUT 2>>$OUTPUT + fi +} + +# ================================================================= +# +# +# ================================================================= +function copy_build_scripts() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + if [ ! -d $BUILD_DIR/linux-live ]; then + mkdir -p $BUILD_DIR/linux-live + (cd $SCRIPT_DIR/linux-live && cp --parents -afr * $BUILD_DIR/linux-live) + else + find $SCRIPT_DIR/linux-live -type f -print0 | sed "s,$SCRIPT_DIR/linux-live/,,g" | while IFS= read -r -d '' file; do + if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then + if ! cmp $SCRIPT_DIR/linux-live/"$file" $BUILD_DIR/linux-live/"$file"; then + echo -e "$file has been modified since last build run." + echo -e "Copying $SCRIPT_DIR/linux-live/$file to $BUILD_DIR/linux-live/$file..." + cp -f $SCRIPT_DIR/linux-live/"$file" $BUILD_DIR/linux-live/"$file" + fi + else + if ! cmp $SCRIPT_DIR/linux-live/"$file" $BUILD_DIR/linux-live/"$file" >>$OUTPUT 2>&1; then + echo -e "$file has been modified since last build run." >>$OUTPUT 2>&1 + echo -e "Copying $SCRIPT_DIR/linux-live/$file to $BUILD_DIR/linux-live/$file..." >>$OUTPUT 2>&1 + cp -f $SCRIPT_DIR/linux-live/"$file" $BUILD_DIR/linux-live/"$file" >>$OUTPUT 2>&1 + fi + fi + done + fi + + #chmod +x $BUILD_DIR/linux-live/build + chmod +x $BUILD_DIR/linux-live/install_chroot + + if [ "$DEV_SYSTEM" = "1" ]; then + if [ ! -d $BUILD_DIR/opt/minios-live ]; then + mkdir -p $BUILD_DIR/opt/minios-live + (cd $SCRIPT_DIR && cp --parents -afr * $BUILD_DIR/opt/minios-live) + else + find $SCRIPT_DIR/linux-live -type f -print0 | sed "s,$SCRIPT_DIR/linux-live/,,g" | while IFS= read -r -d '' file; do + if ! cmp $SCRIPT_DIR/"$file" $BUILD_DIR/opt/minios-live/"$file" >>$OUTPUT 2>&1; then + echo -e "$file has been modified since last build run." >>$OUTPUT 2>&1 + echo -e "Copying $SCRIPT_DIR/$file to $BUILD_DIR/opt/minios-live/$file..." >>$OUTPUT 2>&1 + cp -f $SCRIPT_DIR/"$file" $BUILD_DIR/opt/minios-live/"$file" >>$OUTPUT 2>&1 + fi + done + fi + fi +} + +# ================================================================= +# +# +# ================================================================= +function build_chroot() { + current_process + + if [ $CONTAINER_TYPE = "1" ]; then + if [ ! -f /.minios-live ]; then + setup_host + fi + fi + + chroot_mount_fs + + copy_build_scripts + + create_apt_list + + if [ "$OUTPUT"="$LOGPATH/$LIVEKITNAME.log" ] && [ -f /$LIVEKITNAME.log ]; then + mv -f /$LIVEKITNAME.log $BUILD_DIR/$LIVEKITNAME.log + fi + if [ "$OUTPUT"="$LOGPATH/$LIVEKITNAME.log" ] && [ -f $BUILD_DIR/$LIVEKITNAME.log ]; then + echo "===========================================" >>$BUILD_DIR/$LIVEKITNAME.log 2>&1 + echo "===========================================" >>$BUILD_DIR/$LIVEKITNAME.log 2>&1 + echo "=============== CHROOT LOG ================" >>$BUILD_DIR/$LIVEKITNAME.log 2>&1 + echo "===========================================" >>$BUILD_DIR/$LIVEKITNAME.log 2>&1 + echo "===========================================" >>$BUILD_DIR/$LIVEKITNAME.log 2>&1 + fi + + cp -f $SCRIPT_DIR/linux-live/aptsources/$DISTRIBUTION.list $BUILD_DIR/etc/apt/sources.list + + if [ -d /opt/minios-live ] || [ -f /.minios-live-container ]; then + chroot $BUILD_DIR /usr/bin/env \ + OUTPUT=$OUTPUT \ + LOGPATH=$LOGPATH \ + BUILD_TEST_ISO=$BUILD_TEST_ISO \ + CREATE_BACKUP=$CREATE_BACKUP \ + DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \ + APT_CMD=$APT_CMD \ + APT_OPTIONS=$APT_OPTIONS \ + APT_OPTIONS2=$APT_OPTIONS2 \ + LIVE_TYPE=$LIVE_TYPE /linux-live/install_chroot - + else + chroot $BUILD_DIR /linux-live/install_chroot - + fi + + chroot_umount_fs + + if [ "$OUTPUT"="$LOGPATH/$LIVEKITNAME.log" ] && [ -f $BUILD_DIR/$LIVEKITNAME.log ]; then + mv -f $BUILD_DIR/$LIVEKITNAME.log $SCRIPT_DIR/$LIVEKITNAME.log + if [ -f $SCRIPT_DIR/$LIVEKITNAME.log ]; then + echo -e "Installation log was saved to ${MAGENTA}$SCRIPT_DIR/$LIVEKITNAME.log${ENDCOLOUR}" + fi + fi +} + +# ================================================================= +# +# +# ================================================================= +function build_live() { + current_process + + if [ $CONTAINER_TYPE = "1" ]; then + if [ ! -f /.minios-live ]; then + setup_host + fi + fi + + remove_log_file + + copy_build_scripts + + check_build_dir + + #(cd /linux-live/rootcopy && cp --parents -afr * /) + + chroot $BUILD_DIR mount none -t proc /proc + chroot $BUILD_DIR /linux-live/initrfs + chroot $BUILD_DIR umount /proc + + rm -rf $PARENT_DIR/image + mkdir -p $PARENT_DIR/image/$LIVEKITNAME/{boot,changes,modules} + + # copy kernel files + if [ $DISTRIBUTION_TYPE != "debian" ]; then + cp $BUILD_DIR/boot/vmlinuz-**-**-generic $PARENT_DIR/image/$LIVEKITNAME/boot/vmlinuz + else + cp $BUILD_DIR/boot/vmlinuz-**-**-$KERNEL_ARCH $PARENT_DIR/image/$LIVEKITNAME/boot/vmlinuz + fi + mv $BUILD_DIR/boot/initrfs.img $PARENT_DIR/image/$LIVEKITNAME/boot/initrfs.img + + cp -r $SCRIPT_DIR/linux-live/bootfiles/* $PARENT_DIR/image/$LIVEKITNAME + + # create compressed 01-core.sb + cd $BUILD_DIR + COREFS="" + for i in $MKMOD; do + if [ -d /$i ]; then + COREFS="$COREFS $i" + fi + done + if [ $COMP_TYPE = "zstd" ]; then + mksquashfs $COREFS $PARENT_DIR/image/$LIVEKITNAME/01-core-$COMP_TYPE.$BEXT -comp $COMP_TYPE -Xcompression-level 22 -b 1024K -always-use-fragments -keep-as-directory -noappend || exit + else + mksquashfs $COREFS $PARENT_DIR/image/$LIVEKITNAME/01-core-$COMP_TYPE.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -keep-as-directory -noappend || exit + fi + +} + +# ================================================================= +# +# +# ================================================================= +function build_iso() { + current_process + + if [ $CONTAINER_TYPE = "1" ]; then + if [ ! -f /.minios-live ]; then + setup_host + fi + fi + + check_build_dir + + if [ "$UNATTENDED" = "1" ]; then + BUILD_DIR="/build/$DISTRIBUTION" + fi + if [ "$BUILD_DIR" = "" ]; then + LAST_BUILD_DIR=$(cat "$SCRIPT_DIR/.build_dir") >>$OUTPUT 2>&1 + BUILD_DIR=$LAST_BUILD_DIR + fi + + cd $PARENT_DIR/image + if [ ! -d $ISO_DIR ]; then + mkdir -p $ISO_DIR + fi + + mkdir -p $ISO_DIR >>$OUTPUT 2>&1 + VER=$SYSTEMVER + DATE=$(date +%Y%m%d_%H%M) + + DIR=$PARENT_DIR/image + ISO=$ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$PACKAGE_VARIANT-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-$DATE.iso + + B="-b $LIVEKITNAME/boot/isolinux.bin -c $LIVEKITNAME/boot/isolinux.boot" + + C="-no-emul-boot -boot-load-size 4 -boot-info-table" + + # ▼ должно быть только перенаправление ошибки! + + M=genisoimage + + D="" + + E="" + + #VER="$SYSTEMNAME $VER" + VER="$SYSTEMNAME" + + if [ REMOVE_OLD_ISO = "1" ]; then + rm $ISO_DIR/$LIVEKITNAME-$DISTRIBUTION-$PACKAGE_VARIANT-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-*.iso >>$OUTPUT 2>&1 + fi + + if + ! $M -f -r -J -l -V "$VER" -A "$VER" \ + $B $C $D $E -o $ISO $DIR + then + exit 1 + fi + + echo ">>> $ISO created" + + if [ $BUILD_TEST_ISO = "1" ]; then + if [ -L $ISO_DIR/$LIVEKITNAME.iso ]; then + rm $ISO_DIR/$LIVEKITNAME.iso + fi + if ln -s $LIVEKITNAME-$DISTRIBUTION-$PACKAGE_VARIANT-$DISTRIBUTION_ARCH-$COMP_TYPE-$LIVE_TYPE-$DATE.iso $ISO_DIR/$LIVEKITNAME.iso; then + echo ">>> $ISO_DIR/$LIVEKITNAME.iso created" + fi + fi + exit 0 +} + +# ================================================================= +# ================================================================= +# ====================== INSTALL FUNCTIONS ======================== +# ================================================================= +# ================================================================= + +# ================================================================= +# +# +# ================================================================= +function setup_host() { + current_process + + if [ $CONTAINER_TYPE != "2" ]; then + hostreq_pkg_list + fi +} + +# ================================================================= +# +# +# ================================================================= +function chroot_setup_host() { + current_process + + echo $LIVEKITNAME >/etc/hostname + + prereq_pkg_list + + #configure machine id + dbus-uuidgen >/etc/machine-id >>$OUTPUT 2>&1 + ln -fs /etc/machine-id /var/lib/dbus/machine-id >>$OUTPUT 2>&1 + + # don't understand why, but multiple sources indicate this + dpkg-divert --local --rename --add /sbin/initctl >>$OUTPUT 2>&1 + ln -s /bin/true /sbin/initctl >>$OUTPUT 2>&1 + + current_process +} + +# ================================================================= +# +# +# ================================================================= +function chroot_build_cleanup() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + + set +e + + rm -f /preinstall >>$OUTPUT 2>&1 + rm -f /install >>$OUTPUT 2>&1 + rm -f /install2 >>$OUTPUT 2>&1 + rm -f /cleanup >>$OUTPUT 2>&1 + rm -f /$PACKAGE_VARIANT.list >>$OUTPUT 2>&1 + rm -f /postinstall >>$OUTPUT 2>&1 + rm -rf /rootcopy >>$OUTPUT 2>&1 + rm -rf /patches >>$OUTPUT 2>&1 + + rm -f /etc/fstab >>$OUTPUT 2>&1 + rm -f /etc/mtab >>$OUTPUT 2>&1 + rm -f /etc/apt/sources.list~ >>$OUTPUT 2>&1 + rm -Rf /etc/systemd/system/timers.target.wants >>$OUTPUT 2>&1 + rm -f /etc/systemd/system/multi-user.target.wants/ssh.service >>$OUTPUT 2>&1 + rm -f /etc/systemd/system/multi-user.target.wants/dnsmasq.service >>$OUTPUT 2>&1 + + rm -f /etc/ssh/ssh_host* >>$OUTPUT 2>&1 + + rm -f /var/backups/* >>$OUTPUT 2>&1 + rm -f /var/cache/ldconfig/* >>$OUTPUT 2>&1 + rm -f /var/cache/debconf/* >>$OUTPUT 2>&1 + rm -f /var/cache/fontconfig/* >>$OUTPUT 2>&1 + rm -f /var/lib/apt/extended_states >>$OUTPUT 2>&1 + rm -f /var/lib/systemd/random-seed >>$OUTPUT 2>&1 + rm -f /var/lib/apt/lists/deb.* >>$OUTPUT 2>&1 + rm -Rf /root/.local/share/mc >>$OUTPUT 2>&1 + rm -Rf /root/.cache >>$OUTPUT 2>&1 + rm -f /root/.wget-hsts >>$OUTPUT 2>&1 + + rm -f /var/lib/dpkg/*-old >>$OUTPUT 2>&1 + rm -f /var/log/* >>$OUTPUT 2>&1 + rm -f /var/log/*/* >>$OUTPUT 2>&1 + rm -f /var/log/*/*/* >>$OUTPUT 2>&1 + rm -f /var/cache/apt/archives/*.deb >>$OUTPUT 2>&1 + rm -f /var/cache/apt/*.bin >>$OUTPUT 2>&1 + rm -f /var/cache/debconf/*-old >>$OUTPUT 2>&1 + rm -f /var/lib/dhcp/dhclient.leases >>$OUTPUT 2>&1 + rm -f /root/.bash_history >>$OUTPUT 2>&1 + rm -f /root/.wget-hsts >>$OUTPUT 2>&1 + rm -Rf /usr/share/doc/* >>$OUTPUT 2>&1 + rm -Rf /usr/share/info/* >>$OUTPUT 2>&1 + rm -f /usr/share/images/fluxbox/debian-squared.jpg >>$OUTPUT 2>&1 + rm -Rf /usr/share/fluxbox/nls/??* >>$OUTPUT 2>&1 + rm -Rf /usr/share/gnome/help >>$OUTPUT 2>&1 + + rm -Rf /usr/share/locale/?? >>$OUTPUT 2>&1 + rm -Rf /usr/share/locale/??_* >>$OUTPUT 2>&1 + rm -Rf /usr/share/locale/??@* >>$OUTPUT 2>&1 + rm -Rf /usr/share/locale/??? >>$OUTPUT 2>&1 + rm -Rf /usr/share/i18n/locales/*_* >>$OUTPUT 2>&1 + rm -Rf /usr/share/man/?? >>$OUTPUT 2>&1 + rm -Rf /usr/share/man/*_* >>$OUTPUT 2>&1 + + #rm -Rf /usr/share/icons/elementaryXubuntu-dark >>$OUTPUT 2>&1 + rm -Rf /usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1 + + rm /usr/share/applications/compton.desktop >>$OUTPUT 2>&1 + rm /usr/share/applications/debian-uxterm.desktop >>$OUTPUT 2>&1 + rm /usr/share/applications/debian-xterm.desktop >>$OUTPUT 2>&1 + rm /usr/share/applications/htop.desktop >>$OUTPUT 2>&1 + rm /usr/share/applications/mc.desktop >>$OUTPUT 2>&1 + rm /usr/share/applications/mcedit.desktop >>$OUTPUT 2>&1 + rm /usr/share/applications/pcmanfm-desktop-pref.desktop >>$OUTPUT 2>&1 + rm /usr/share/applications/python2.7.desktop >>$OUTPUT 2>&1 + rm /usr/share/applications/python3.7.desktop >>$OUTPUT 2>&1 + rm /usr/share/applications/vim.desktop >>$OUTPUT 2>&1 + + # Unzip gzipped files (man pages), so LZMA can compress 2times better. + # First we fix symlinks, then uncompress files + # $1 = search directory + uncompress_files() { + local LINK LINE + + find "$1" -type l -name "*.gz" | while read LINE; do + LINK="$(readlink "$LINE" | sed -r 's/.gz$//')" + FILE="$(echo "$LINE" | sed -r 's/.gz$//')" + ln -sfn "$LINK" "$FILE" + rm -f "$LINE" + done + find "$1" -type f -name "*.gz" | xargs -r gunzip >>$OUTPUT 2>&1 + } + + uncompress_files /etc/alternatives >>$OUTPUT 2>&1 + uncompress_files /usr/share/man >>$OUTPUT 2>&1 + + # remove broken links + # $1 = search directory + remove_broken_links() { + find "$1" -type l -exec test ! -e {} \; -print | xargs rm -vf >>$OUTPUT 2>&1 + } + + remove_broken_links /etc/alternatives >>$OUTPUT 2>&1 + remove_broken_links /usr/share/man >>$OUTPUT 2>&1 + + set -e + +} + +# ================================================================= +# +# +# ================================================================= +function hostreq_pkg_list() { + echo -e "${YELLOW}=====> installing required software for host system ...${ENDCOLOUR}" + $APT_CMD update >>$OUTPUT 2>&1 + + if [ -f $SCRIPT_DIR/linux-live/pkglists/hostreq.list ]; then + $APT_CMD install -y \ + $(grep -vE "^\s*#" $SCRIPT_DIR/linux-live/pkglists/hostreq.list | tr "\n" " ") >>$OUTPUT 2>&1 + else + $APT_CMD install -y sudo debootstrap genisoimage >>$OUTPUT 2>&1 + fi +} + +# ================================================================= +# +# +# ================================================================= +function prereq_pkg_list() { + echo -e "${YELLOW}=====> installing prerequested software for chroot system ...${ENDCOLOUR}" + + if [ -f $SCRIPT_DIR/pkglists/prereq.list ]; then + $APT_CMD update >>$OUTPUT 2>&1 && + echo -e "${YELLOW}=====> upgrading chroot system ...${ENDCOLOUR}" && + $APT_CMD upgrade $APT_OPTIONS >>$OUTPUT 2>&1 && + echo -e "${YELLOW}=====> installing packages ...${ENDCOLOUR}" && + $APT_CMD install $APT_OPTIONS \ + $(grep -vE "^\s*#" $SCRIPT_DIR/pkglists/prereq.list | tr "\n" " ") >>$OUTPUT 2>&1 + fi + +} + +# ================================================================= +# +# +# ================================================================= +function main_pkg_list() { + echo -e "${YELLOW}=====> installing main packages for chroot system ...${ENDCOLOUR}" + + if [ -f /linux-live/basesystem/01-core/preinstall ]; then + chmod +x /linux-live/basesystem/01-core/preinstall + /usr/bin/env \ + OUTPUT=$OUTPUT \ + DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \ + APT_CMD=$APT_CMD \ + APT_OPTIONS=$APT_OPTIONS \ + APT_OPTIONS2=$APT_OPTIONS2 \ + LIVE_TYPE=$LIVE_TYPE \ + DISTRIBUTION=$DISTRIBUTION \ + PACKAGE_VARIANT=$PACKAGE_VARIANT \ + /linux-live/basesystem/01-core/preinstall + fi + : ' if [ "$(ls -A /linux-live/basesystem/01-core/rootcopy)" != "" ]; then + (cd /linux-live/basesystem/01-core/rootcopy && cp --parents -afr * /) + fi' + if [ -f /linux-live/basesystem/01-core/install ]; then + chmod +x /linux-live/basesystem/01-core/install + /usr/bin/env \ + OUTPUT=$OUTPUT \ + DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \ + APT_CMD=$APT_CMD \ + APT_OPTIONS=$APT_OPTIONS \ + APT_OPTIONS2=$APT_OPTIONS2 \ + KERNEL_ARCH=$KERNEL_ARCH \ + LIVE_TYPE=$LIVE_TYPE \ + DISTRIBUTION=$DISTRIBUTION \ + PACKAGE_VARIANT=$PACKAGE_VARIANT \ + COMP_TYPE=$COMP_TYPE \ + /linux-live/basesystem/01-core/install + fi + if [ -f /linux-live/basesystem/01-core/postinstall ]; then + chmod +x /linux-live/basesystem/01-core/postinstall + /usr/bin/env \ + OUTPUT=$OUTPUT \ + DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \ + APT_CMD=$APT_CMD \ + APT_OPTIONS=$APT_OPTIONS \ + APT_OPTIONS2=$APT_OPTIONS2 \ + LIVE_TYPE=$LIVE_TYPE \ + DISTRIBUTION=$DISTRIBUTION \ + PACKAGE_VARIANT=$PACKAGE_VARIANT \ + /linux-live/basesystem/01-core/postinstall + fi + + chroot_build_cleanup +} + +# ================================================================= +# +# +# ================================================================= +function chroot_pkg_install() { + current_process + + main_pkg_list + + # remove unused + $APT_CMD autoremove $APT_OPTIONS >>$OUTPUT 2>&1 + + # clean up apt cache + $APT_CMD clean $APT_OPTIONS >>$OUTPUT 2>&1 +} + +# ================================================================= +# No longer used, it will be cleaned after successful testing. +# Больше не используется, будет убрано после успешного тестирования. +# ================================================================= +function chroot_configure() { + current_process + + echo "Set up password for user 'root'" >>$OUTPUT 2>&1 + echo root:toor | chpasswd >>$OUTPUT 2>&1 + + echo "Set up user 'live'" >>$OUTPUT 2>&1 + adduser --gecos '' live --disabled-password >>$OUTPUT 2>&1 + echo "Set up password for user 'live'" >>$OUTPUT 2>&1 + echo live:evil | chpasswd >>$OUTPUT 2>&1 + addgroup live adm >>$OUTPUT 2>&1 + addgroup live sudo >>$OUTPUT 2>&1 + addgroup live audio >>$OUTPUT 2>&1 + addgroup live plugdev >>$OUTPUT 2>&1 + addgroup live users >>$OUTPUT 2>&1 + addgroup live live >>$OUTPUT 2>&1 + + (cd /linux-live/basesystem/01-core/rootcopy && cp --parents -afr * /) + + chown live:live /home/live + chown -R live:live /home/live + + cat </etc/sudoers.d/90-minios +# live user is default user in minios. +# It needs passwordless sudo functionality. +live ALL=(ALL) NOPASSWD:ALL +EOF + + if [ ! -d /etc/NetworkManager ]; then + echo "Enable dhclient.service autostart." >>$OUTPUT 2>&1 + cat </usr/lib/systemd/system/dhclient.service +[Unit] +Description=DHCP Client +Documentation=man:dhclient(8) +Wants=network.target +After=network-pre.target systemd-sysctl.service systemd-modules-load.service +Before=network.target shutdown.target network-online.target +ConditionPathExists=!/run/initramfs/net.up.flag + +[Service] +Type=forking +ExecStart=-/bin/sh -c 'udevadm settle && dhclient -nw' +PIDFile=/run/dhclient.pid + +[Install] +WantedBy=multi-user.target +WantedBy=network-online.target +EOF + systemctl enable dhclient >>$OUTPUT 2>&1 + fi + + if [ -f /etc/systemd/system/multi-user.target.wants/grub-initrd-fallback.service ]; then + echo "Disable grub-initrd-fallback.service autostart." + systemctl disable grub-initrd-fallback.service + fi + + if grep openssh-server $SCRIPT_DIR/basesystem/01-core/$PACKAGE_VARIANT.list >>$OUTPUT 2>&1; then + echo "Enable ssh.service autostart." >>$OUTPUT 2>&1 + cat </usr/lib/systemd/system/ssh-keygen.service +[Unit] +Description=Generate sshd keys +Before=ssh.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/ssh-keygen -A +RemainAfterExit=true +StandardOutput=journal + +[Install] +WantedBy=multi-user.target +EOF + sed -i 's,#PermitRootLogin prohibit-password,PermitRootLogin yes,g' /etc/ssh/sshd_config + sed -i 's,#PasswordAuthentication yes,PasswordAuthentication yes,g' /etc/ssh/sshd_config + systemctl enable ssh-keygen >>$OUTPUT 2>&1 + systemctl enable ssh >>$OUTPUT 2>&1 + fi + + if [ ! -f /usr/share/sudo ]; then + cat </usr/share/sudo +#!/bin/bash +if [ "$#" -lt 1 ]; then + echo "Usage: sudo [command] [arguments]" + exit 1 +fi + +if [ "$UID" = 0 ]; then + exec "$@" +fi + +echo "Sudo is not installed. Run the command as root or install sudo." +EOF + fi + + if [ $DISTRIBUTION_TYPE = "debian" ]; then + cat </etc/issue + + + \l + + + + + + Thank you for using MiniOS. + Based on Debian GNU/Linux. + Powered by Slax. + + :::: :::: ::::::::::: :::: ::: ::::::::::: :::::::: ::::::::  + +:+:+: :+:+:+ :+: :+:+: :+: :+: :+: :+: :+: :+:  + +:+ +:+:+ +:+ +:+ :+:+:+ +:+ +:+ +:+ +:+ +:+  + +#+ +:+ +#+ +#+ +#+ +:+ +#+ +#+ +#+ +:+ +#++:++#++  + +#+ +#+ +#+ +#+ +#+#+# +#+ +#+ +#+ +#+  + #+# #+# #+# #+# #+#+# #+# #+# #+# #+# #+#  + ### ### ########### ### #### ########### ######## ########  + + : : + : Root login name: root : + : Password: toor : + : User login name: live : + : Password: evil : + + + + + + + +EOF + fi +} + +# ================================================================= +# +# +# ================================================================= +function chroot_finish_up() { + current_process + + # truncate machine id (why??) + truncate -s 0 /etc/machine-id >>$OUTPUT 2>&1 + + # remove diversion (why??) + rm /sbin/initctl >>$OUTPUT 2>&1 + dpkg-divert --rename --remove /sbin/initctl >>$OUTPUT 2>&1 + + # remove ssh config + #rm -f /etc/ssh/ssh_host* + + # clean up useless stuff + rm -rf /tmp/* ~/.bash_history >>$OUTPUT 2>&1 + rm -rf ~/.cache + find /var/log/ -type f | xargs rm -f >>$OUTPUT 2>&1 + rm -f /etc/ssh/ssh_host* + rm -f /var/backups/* >>$OUTPUT 2>&1 + rm -f /var/cache/ldconfig/* >>$OUTPUT 2>&1 + #rm -f /var/cache/debconf/* >>$OUTPUT 2>&1 + rm -f /var/cache/fontconfig/* >>$OUTPUT 2>&1 + rm -f /var/cache/apt/archives/*.deb >>$OUTPUT 2>&1 + rm -f /var/cache/apt/*.bin >>$OUTPUT 2>&1 + rm -f /var/cache/debconf/*-old >>$OUTPUT 2>&1 + rm -f /var/lib/apt/extended_states >>$OUTPUT 2>&1 + rm -f /var/lib/apt/lists/*Packages >>$OUTPUT 2>&1 + rm -f /var/lib/apt/lists/*Translation* >>$OUTPUT 2>&1 + rm -f /var/lib/apt/lists/*InRelease >>$OUTPUT 2>&1 + rm -f /var/lib/apt/lists/deb.* >>$OUTPUT 2>&1 + rm -f /var/lib/dpkg/*-old >>$OUTPUT 2>&1 + +} + +# ================================================================= +# ================================================================= +# ======================= MODULE FUNCTIONS ======================== +# ================================================================= +# ================================================================= + +# ================================================================= +# +# +# ================================================================= +function module_check_mounted() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + if grep -qs "$MODULE_MERGED_DIR" /proc/mounts || grep -qs "$MODULE_MERGED_DIR/dev" /proc/mounts || grep -qs "$MODULE_MERGED_DIR/run" /proc/mounts || grep -qs "$MODULE_MERGED_DIR/proc" /proc/mounts || grep -qs "$MODULE_MERGED_DIR/sys" /proc/mounts || grep -qs "$MODULE_MERGED_DIR/dev/pts" /proc/mounts || grep -qs "$MODULE_MERGED_DIR/tmp" /proc/mounts; then + echo -e "${BOLD}${LIGHTYELLOW}Сhroot contains mounted filesystems.${ENDCOLOUR}" + if [ "$UNATTENDED" = "1" ]; then + module_chroot_umount_fs + else + read -r -p "$(echo -e ""Do you want to ${GREEN}unmount them${ENDCOLOUR}? [${BOLD}${GREEN}Y${ENDCOLOUR}/n])" response + response=${response,,} + if [[ "$response" =~ ^(no|n)$ ]]; then + exit 1 + else + module_chroot_umount_fs + fi + fi + fi +} + +# ================================================================= +# +# +# ================================================================= +function module_check_build_dir() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + if [ "$UNATTENDED" = "1" ]; then + #echo -e "${RED}!!!Unattended installation!!!${ENDCOLOUR}" + echo -e "The working directory is ${MAGENTA}$MODULE_UPPER_DIR${ENDCOLOUR}." + if [ "$(ls -A $MODULE_UPPER_DIR)" != "" ]; then + module_cleanup + module_check_mounted + fi + else + # ▼ должно быть только перенаправление ошибки! + if [ "$(ls -A $MODULE_UPPER_DIR)" != "" ]; then + echo -e "${MAGENTA}$MODULE_UPPER_DIR${ENDCOLOUR} is not empty." + module_cleanup + module_check_mounted + echo -e "The working directory is ${MAGENTA}$MODULE_MERGED_DIR${ENDCOLOUR}." + else + module_check_mounted + echo -e "The working directory is ${MAGENTA}$MODULE_MERGED_DIR${ENDCOLOUR}." + fi + fi +} + +# ================================================================= +# +# +# ================================================================= +function module_chroot_mount_fs() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + + local MODULES MODULE_LOWER_DIR + + module_check_mounted + + if [ $UNION_BUILD_TYPE = "overlayfs" ]; then + MODULES_LIST="" + MODULES=($PARENT_DIR/image/$LIVEKITNAME/*.$BEXT) + for ((i = ${#MODULES[@]} - 1; i >= 0; i--)); do + MODULE_LOWER_DIR=$(basename ${MODULES[$i]} .$BEXT) + mkdir -p $MODULES_DIR/lower/$MODULE_LOWER_DIR-lower + mount ${MODULES[$i]} $MODULES_DIR/lower/$MODULE_LOWER_DIR-lower + MODULES_LIST=$MODULES_LIST":""$MODULES_DIR/lower/$MODULE_LOWER_DIR-lower" + done + MODULES_LIST=${MODULES_LIST:1} + + mkdir -p $MODULE_UPPER_DIR $MODULE_WORK_DIR $MODULE_MERGED_DIR + + mount -t overlay overlay -o lowerdir=$MODULES_LIST,upperdir=$MODULE_UPPER_DIR,workdir=$MODULE_WORK_DIR $MODULE_MERGED_DIR + elif [ $UNION_BUILD_TYPE = "aufs" ]; then + MODULES_LIST="" + MODULES=($PARENT_DIR/image/$LIVEKITNAME/*.$BEXT) + for ((i = ${#MODULES[@]} - 1; i >= 0; i--)); do + MODULE_LOWER_DIR=$(basename ${MODULES[$i]} .$BEXT) + mkdir -p $MODULES_DIR/lower/$MODULE_LOWER_DIR-lower + mount ${MODULES[$i]} $MODULES_DIR/lower/$MODULE_LOWER_DIR-lower + MODULES_LIST=$MODULES_LIST":""$MODULES_DIR/lower/$MODULE_LOWER_DIR-lower""=ro" + done + MODULES_LIST=${MODULES_LIST:1} + + mkdir -p $MODULE_UPPER_DIR $MODULE_WORK_DIR $MODULE_MERGED_DIR + + mount -t aufs -o br:$MODULE_UPPER_DIR=rw:$MODULES_LIST aufs $MODULE_MERGED_DIR + fi + + if [ ! -d $MODULE_MERGED_DIR/dev ]; then + mkdir -p $MODULE_MERGED_DIR/dev + fi + if [ ! -d $MODULE_MERGED_DIR/run ]; then + mkdir -p $MODULE_MERGED_DIR/run + fi + if [ ! -d $MODULE_MERGED_DIR/proc ]; then + mkdir -p $MODULE_MERGED_DIR/proc + fi + if [ ! -d $MODULE_MERGED_DIR/sys ]; then + mkdir -p $MODULE_MERGED_DIR/sys + fi + if [ ! -d $MODULE_MERGED_DIR/tmp ]; then + mkdir -p $MODULE_MERGED_DIR/tmp + fi + + mount --bind /dev $MODULE_MERGED_DIR/dev + if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then + mkdir -p $MODULE_MERGED_DIR/run/resolvconf + touch $MODULE_MERGED_DIR/run/resolvconf/resolv.conf + mount --bind /etc/resolv.conf $MODULE_MERGED_DIR/run/resolvconf/resolv.conf + else + mount --bind /run $MODULE_MERGED_DIR/run + fi + mount none -t proc $MODULE_MERGED_DIR/proc + mount none -t sysfs $MODULE_MERGED_DIR/sys + mount none -t devpts $MODULE_MERGED_DIR/dev/pts + mount none -t tmpfs $MODULE_MERGED_DIR/tmp +} + +# ================================================================= +# +# +# ================================================================= +function module_chroot_umount_fs() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + + local MODULES MODULE_LOWER_DIR + + set +e + if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then + umount $MODULE_MERGED_DIR/proc + umount $MODULE_MERGED_DIR/sys + umount $MODULE_MERGED_DIR/dev/pts + umount $MODULE_MERGED_DIR/tmp + umount $MODULE_MERGED_DIR/dev + if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then + umount $MODULE_MERGED_DIR/run/resolvconf/resolv.conf + rm -f $MODULE_MERGED_DIR/run/resolvconf/resolv.conf + rmdir $MODULE_MERGED_DIR/run/resolvconf + else + umount $MODULE_MERGED_DIR/run + fi + umount $MODULE_MERGED_DIR + else + umount $MODULE_MERGED_DIR/proc >>$OUTPUT 2>&1 + umount $MODULE_MERGED_DIR/sys >>$OUTPUT 2>&1 + umount $MODULE_MERGED_DIR/dev/pts >>$OUTPUT 2>&1 + umount $MODULE_MERGED_DIR/tmp >>$OUTPUT 2>&1 + umount $MODULE_MERGED_DIR/dev >>$OUTPUT 2>&1 + if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then + umount $MODULE_MERGED_DIR/run/resolvconf/resolv.conf >>$OUTPUT 2>&1 + rm -f $MODULE_MERGED_DIR/run/resolvconf/resolv.conf + rmdir $MODULE_MERGED_DIR/run/resolvconf + else + umount $MODULE_MERGED_DIR/run >>$OUTPUT 2>&1 + fi + umount $MODULE_MERGED_DIR >>$OUTPUT 2>&1 + fi + + MODULES=($PARENT_DIR/image/$LIVEKITNAME/*.$BEXT) + for ((i = ${#MODULES[@]} - 1; i >= 0; i--)); do + MODULE_LOWER_DIR=$(basename ${MODULES[$i]} .$BEXT) + umount $MODULES_DIR/lower/$MODULE_LOWER_DIR-lower + done + + set -e + + module_check_mounted +} + +# ================================================================= +# +# +# ================================================================= +function module_cleanup() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + if [ "$UNATTENDED" = "1" ]; then + module_check_mounted + rm -rf $MODULE_UPPER_DIR + if [ -d "$MODULE_UPPER_DIR" ]; then + module_cleanup + fi + else + read -r -p "$(echo -e ""Do you want to ${BOLD}${RED}completely remove content${ENDCOLOUR} of ${MAGENTA}$MODULE_UPPER_DIR${ENDCOLOUR}? [y/${BOLD}${GREEN}N${ENDCOLOUR}])" response + response=${response,,} + if [[ "$response" =~ ^(yes|y)$ ]]; then + module_check_mounted + rm -rf $MODULE_UPPER_DIR + if [ -d "$MODULE_UPPER_DIR" ]; then + module_cleanup + fi + else + echo -e "${MAGENTA}$MODULE_UPPER_DIR${ENDCOLOUR} should be empty to continue." + exit 1 + fi + fi +} + +# ================================================================= +# +# +# ================================================================= +function module_chroot_finish_up() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + + # truncate machine id (why??) + chroot $MODULE_MERGED_DIR /bin/bash -x <>$OUTPUT 2>&1 + dpkg-divert --rename --remove /sbin/initctl >>$OUTPUT 2>&1 +EOF + fi + + if [ -d $MODULE_UPPER_DIR/home/live ]; then + chown 1000:1000 $MODULE_UPPER_DIR/home/live + chown -R 1000:1000 $MODULE_UPPER_DIR/home/live + fi +} + +# ================================================================= +# +# +# ================================================================= +function module_chroot_cleanup() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + # clean up useless stuff + if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then + rm -rf $MODULE_UPPER_DIR/boot $MODULE_UPPER_DIR/dev $MODULE_UPPER_DIR/proc $MODULE_UPPER_DIR/sys $MODULE_UPPER_DIR/rmp $MODULE_UPPER_DIR/run + rm -f $MODULE_UPPER_DIR/root/.bash_history + rm -rf $MODULE_UPPER_DIR/.cache + find $MODULE_UPPER_DIR/var/log/ -type f | xargs rm -f + rm -f $MODULE_UPPER_DIR/etc/ssh/ssh_host* + rm -f $MODULE_UPPER_DIR/var/backups/* + rm -f $MODULE_UPPER_DIR/var/cache/ldconfig/* + #rm -f $MODULE_UPPER_DIR/var/cache/debconf/* + rm -f $MODULE_UPPER_DIR/var/cache/fontconfig/* + rm -f $MODULE_UPPER_DIR/var/cache/apt/archives/*.deb + rm -f $MODULE_UPPER_DIR/var/cache/apt/*.bin + rm -f $MODULE_UPPER_DIR/var/cache/debconf/*-old + rm -f $MODULE_UPPER_DIR/var/lib/apt/extended_states + rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/*Packages + rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/*Translation* + rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/*InRelease + rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/deb.* + rm -f $MODULE_UPPER_DIR/var/lib/dpkg/*-old + rm -f $MODULE_UPPER_DIR/preinstall + rm -f $MODULE_UPPER_DIR/install + rm -f $MODULE_UPPER_DIR/install2 + rm -f $MODULE_UPPER_DIR/cleanup + rm -f $MODULE_UPPER_DIR/$PACKAGE_VARIANT.list + rm -f $MODULE_UPPER_DIR/postinstall + rm -rf $MODULE_UPPER_DIR/rootcopy + else + rm -rf $MODULE_UPPER_DIR/boot $MODULE_UPPER_DIR/dev $MODULE_UPPER_DIR/proc $MODULE_UPPER_DIR/sys $MODULE_UPPER_DIR/rmp $MODULE_UPPER_DIR/run + rm -f $MODULE_UPPER_DIR/root/.bash_history >>$OUTPUT 2>&1 + rm -rf $MODULE_UPPER_DIR/.cache + find $MODULE_UPPER_DIR/var/log/ -type f | xargs rm -f >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/etc/ssh/ssh_host* + rm -f $MODULE_UPPER_DIR/var/backups/* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/cache/ldconfig/* >>$OUTPUT 2>&1 + #rm -f $MODULE_UPPER_DIR/var/cache/debconf/* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/cache/fontconfig/* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/cache/apt/archives/*.deb >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/cache/apt/*.bin >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/cache/debconf/*-old >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/lib/apt/extended_states >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/*Packages >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/*Translation* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/*InRelease >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/deb.* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/lib/dpkg/*-old >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/preinstall >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/install >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/install2 >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/cleanup >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/$PACKAGE_VARIANT.list >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/postinstall >>$OUTPUT 2>&1 + rm -rf $MODULE_UPPER_DIR/rootcopy >>$OUTPUT 2>&1 + fi +} + +# ================================================================= +# +# +# ================================================================= +function module_build_cleanup() { + echo -e "=====> the ${CYAN}${FUNCNAME[0]}${ENDCOLOUR} function is executing ..." + + set +e + + if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then + rm -f $MODULE_UPPER_DIR/preinstall + rm -f $MODULE_UPPER_DIR/install + rm -f $MODULE_UPPER_DIR/install2 + rm -f $MODULE_UPPER_DIR/cleanup + rm -f $MODULE_UPPER_DIR/$PACKAGE_VARIANT.list + rm -f $MODULE_UPPER_DIR/postinstall + rm -rf $MODULE_UPPER_DIR/rootcopy + rm -rf $MODULE_UPPER_DIR/patches + + rm -f $MODULE_UPPER_DIR/etc/fstab + rm -f $MODULE_UPPER_DIR/etc/mtab + rm -f $MODULE_UPPER_DIR/etc/apt/sources.list~ + rm -Rf $MODULE_UPPER_DIR/etc/systemd/system/timers.target.wants + rm -f $MODULE_UPPER_DIR/etc/systemd/system/multi-user.target.wants/ssh.service + rm -f $MODULE_UPPER_DIR/etc/systemd/system/multi-user.target.wants/dnsmasq.service + + rm -f $MODULE_UPPER_DIR/etc/ssh/ssh_host* + + rm -f $MODULE_UPPER_DIR/var/backups/* + rm -f $MODULE_UPPER_DIR/var/cache/ldconfig/* + rm -f $MODULE_UPPER_DIR/var/cache/debconf/* + rm -f $MODULE_UPPER_DIR/var/cache/fontconfig/* + rm -f $MODULE_UPPER_DIR/var/lib/apt/extended_states + rm -f $MODULE_UPPER_DIR/var/lib/systemd/random-seed + rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/deb.* + rm -Rf $MODULE_UPPER_DIR/root/.local/share/mc + rm -Rf $MODULE_UPPER_DIR/root/.cache + rm -f $MODULE_UPPER_DIR/root/.wget-hsts + + rm -f $MODULE_UPPER_DIR/var/lib/dpkg/*-old + rm -f $MODULE_UPPER_DIR/var/log/* + rm -f $MODULE_UPPER_DIR/var/log/*/* + rm -f $MODULE_UPPER_DIR/var/log/*/*/* + rm -f $MODULE_UPPER_DIR/var/cache/apt/archives/*.deb + rm -f $MODULE_UPPER_DIR/var/cache/apt/*.bin + rm -f $MODULE_UPPER_DIR/var/cache/debconf/*-old + rm -f $MODULE_UPPER_DIR/var/lib/dhcp/dhclient.leases + rm -f $MODULE_UPPER_DIR/root/.bash_history + rm -f $MODULE_UPPER_DIR/root/.wget-hsts + rm -Rf $MODULE_UPPER_DIR/usr/share/doc/* + rm -Rf $MODULE_UPPER_DIR/usr/share/info/* + rm -f $MODULE_UPPER_DIR/usr/share/images/fluxbox/debian-squared.jpg + rm -Rf $MODULE_UPPER_DIR/usr/share/fluxbox/nls/??* + rm -Rf $MODULE_UPPER_DIR/usr/share/gnome/help + + rm -Rf $MODULE_UPPER_DIR/usr/share/locale/?? + rm -Rf $MODULE_UPPER_DIR/usr/share/locale/??_* + rm -Rf $MODULE_UPPER_DIR/usr/share/locale/??@* + rm -Rf $MODULE_UPPER_DIR/usr/share/locale/??? + rm -Rf $MODULE_UPPER_DIR/usr/share/i18n/locales/*_* + rm -Rf $MODULE_UPPER_DIR/usr/share/man/?? + rm -Rf $MODULE_UPPER_DIR/usr/share/man/*_* + + rm -Rf $MODULE_UPPER_DIR/usr/share/icons/elementaryXubuntu-dark + rm -Rf $MODULE_UPPER_DIR/usr/share/icons/gnome/256x256 + + rm $MODULE_UPPER_DIR/usr/share/applications/compton.desktop + rm $MODULE_UPPER_DIR/usr/share/applications/debian-uxterm.desktop + rm $MODULE_UPPER_DIR/usr/share/applications/debian-xterm.desktop + rm $MODULE_UPPER_DIR/usr/share/applications/htop.desktop + rm $MODULE_UPPER_DIR/usr/share/applications/mc.desktop + rm $MODULE_UPPER_DIR/usr/share/applications/mcedit.desktop + rm $MODULE_UPPER_DIR/usr/share/applications/pcmanfm-desktop-pref.desktop + rm $MODULE_UPPER_DIR/usr/share/applications/python2.7.desktop + rm $MODULE_UPPER_DIR/usr/share/applications/python3.7.desktop + rm $MODULE_UPPER_DIR/usr/share/applications/vim.desktop + + # Unzip gzipped files (man pages), so LZMA can compress 2times better. + # First we fix symlinks, then uncompress files + # $1 = search directory + uncompress_files() { + local LINK LINE + + find "$1" -type l -name "*.gz" | while read LINE; do + LINK="$(readlink "$LINE" | sed -r 's/.gz$//')" + FILE="$(echo "$LINE" | sed -r 's/.gz$//')" + ln -sfn "$LINK" "$FILE" + rm -f "$LINE" + done + find "$1" -type f -name "*.gz" | xargs -r gunzip + } + + uncompress_files $MODULE_UPPER_DIR/etc/alternatives + uncompress_files $MODULE_UPPER_DIR/usr/share/man + + # remove broken links + # $1 = search directory + remove_broken_links() { + find "$1" -type l -exec test ! -e {} \; -print | xargs rm -vf + } + + remove_broken_links $MODULE_UPPER_DIR/etc/alternatives + remove_broken_links $MODULE_UPPER_DIR/usr/share/man + else + rm -f $MODULE_UPPER_DIR/preinstall >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/install >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/install2 >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/cleanup >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/$PACKAGE_VARIANT.list >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/postinstall >>$OUTPUT 2>&1 + rm -rf $MODULE_UPPER_DIR/rootcopy >>$OUTPUT 2>&1 + rm -rf $MODULE_UPPER_DIR/patches >>$OUTPUT 2>&1 + + rm -f $MODULE_UPPER_DIR/etc/fstab >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/etc/mtab >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/etc/apt/sources.list~ >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/etc/systemd/system/timers.target.wants >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/etc/systemd/system/multi-user.target.wants/ssh.service >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/etc/systemd/system/multi-user.target.wants/dnsmasq.service >>$OUTPUT 2>&1 + + rm -f $MODULE_UPPER_DIR/etc/ssh/ssh_host* >>$OUTPUT 2>&1 + + rm -f $MODULE_UPPER_DIR/var/backups/* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/cache/ldconfig/* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/cache/debconf/* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/cache/fontconfig/* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/lib/apt/extended_states >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/lib/systemd/random-seed >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/lib/apt/lists/deb.* >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/root/.local/share/mc >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/root/.cache >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/root/.wget-hsts >>$OUTPUT 2>&1 + + rm -f $MODULE_UPPER_DIR/var/lib/dpkg/*-old >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/log/* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/log/*/* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/log/*/*/* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/cache/apt/archives/*.deb >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/cache/apt/*.bin >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/cache/debconf/*-old >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/var/lib/dhcp/dhclient.leases >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/root/.bash_history >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/root/.wget-hsts >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/usr/share/doc/* >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/usr/share/info/* >>$OUTPUT 2>&1 + rm -f $MODULE_UPPER_DIR/usr/share/images/fluxbox/debian-squared.jpg >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/usr/share/fluxbox/nls/??* >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/usr/share/gnome/help >>$OUTPUT 2>&1 + + rm -Rf $MODULE_UPPER_DIR/usr/share/locale/?? >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/usr/share/locale/??_* >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/usr/share/locale/??@* >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/usr/share/locale/??? >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/usr/share/i18n/locales/*_* >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/usr/share/man/?? >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/usr/share/man/*_* >>$OUTPUT 2>&1 + + rm -Rf $MODULE_UPPER_DIR/usr/share/icons/elementaryXubuntu-dark >>$OUTPUT 2>&1 + rm -Rf $MODULE_UPPER_DIR/usr/share/icons/gnome/256x256 >>$OUTPUT 2>&1 + + rm $MODULE_UPPER_DIR/usr/share/applications/compton.desktop >>$OUTPUT 2>&1 + rm $MODULE_UPPER_DIR/usr/share/applications/debian-uxterm.desktop >>$OUTPUT 2>&1 + rm $MODULE_UPPER_DIR/usr/share/applications/debian-xterm.desktop >>$OUTPUT 2>&1 + rm $MODULE_UPPER_DIR/usr/share/applications/htop.desktop >>$OUTPUT 2>&1 + rm $MODULE_UPPER_DIR/usr/share/applications/mc.desktop >>$OUTPUT 2>&1 + rm $MODULE_UPPER_DIR/usr/share/applications/mcedit.desktop >>$OUTPUT 2>&1 + rm $MODULE_UPPER_DIR/usr/share/applications/pcmanfm-desktop-pref.desktop >>$OUTPUT 2>&1 + rm $MODULE_UPPER_DIR/usr/share/applications/python2.7.desktop >>$OUTPUT 2>&1 + rm $MODULE_UPPER_DIR/usr/share/applications/python3.7.desktop >>$OUTPUT 2>&1 + rm $MODULE_UPPER_DIR/usr/share/applications/vim.desktop >>$OUTPUT 2>&1 + + # Unzip gzipped files (man pages), so LZMA can compress 2times better. + # First we fix symlinks, then uncompress files + # $1 = search directory + uncompress_files() { + local LINK LINE + + find "$1" -type l -name "*.gz" | while read LINE; do + LINK="$(readlink "$LINE" | sed -r 's/.gz$//')" + FILE="$(echo "$LINE" | sed -r 's/.gz$//')" + ln -sfn "$LINK" "$FILE" + rm -f "$LINE" + done + find "$1" -type f -name "*.gz" | xargs -r gunzip >>$OUTPUT 2>&1 + } + + uncompress_files $MODULE_UPPER_DIR/etc/alternatives >>$OUTPUT 2>&1 + uncompress_files $MODULE_UPPER_DIR/usr/share/man >>$OUTPUT 2>&1 + + # remove broken links + # $1 = search directory + remove_broken_links() { + find "$1" -type l -exec test ! -e {} \; -print | xargs rm -vf >>$OUTPUT 2>&1 + } + + remove_broken_links $MODULE_UPPER_DIR/etc/alternatives >>$OUTPUT 2>&1 + remove_broken_links $MODULE_UPPER_DIR/usr/share/man >>$OUTPUT 2>&1 + fi + + set -e + +} + +# ================================================================= +# +# +# ================================================================= +function build_modules() { + current_process + + if [ $CONTAINER_TYPE = "1" ]; then + if [ ! -f /.minios-live ]; then + setup_host + fi + fi + + MODULES_DIR=$PARENT_DIR/modules + + cd $SCRIPT_DIR/linux-live/modules + + for MODULE in *; do + if (ls $PARENT_DIR/image/$LIVEKITNAME/*.$BEXT | grep -q $MODULE 2>/dev/null); then + echo -e "${RED}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!${ENDCOLOUR}" + echo -e "Please remove ${MAGENTA}$PARENT_DIR/image/$LIVEKITNAME/$MODULE.$BEXT${ENDCOLOUR} if you want to build ${MAGENTA}$MODULE${ENDCOLOUR}." + echo -e "${RED}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!${ENDCOLOUR}" + else + MODULE_UPPER_DIR="$MODULES_DIR/$MODULE-upper" + MODULE_WORK_DIR="$MODULES_DIR/$MODULE-work" + MODULE_MERGED_DIR="$MODULES_DIR/$MODULE-merged" + + module_check_build_dir + + module_chroot_mount_fs + + # run pre-install script + if [ -f $SCRIPT_DIR/linux-live/modules/$MODULE/preinstall ]; then + cp $SCRIPT_DIR/linux-live/modules/$MODULE/preinstall $MODULE_MERGED_DIR/preinstall + chmod +x $MODULE_MERGED_DIR/preinstall + chroot $MODULE_MERGED_DIR /usr/bin/env \ + OUTPUT=$OUTPUT \ + LOGPATH=$LOGPATH \ + BUILD_TEST_ISO=$BUILD_TEST_ISO \ + CREATE_BACKUP=$CREATE_BACKUP \ + DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \ + APT_CMD=$APT_CMD \ + APT_OPTIONS=$APT_OPTIONS \ + APT_OPTIONS2=$APT_OPTIONS2 \ + LIVE_TYPE=$LIVE_TYPE \ + DISTRIBUTION=$DISTRIBUTION \ + PACKAGE_VARIANT=$PACKAGE_VARIANT \ + /preinstall >>$OUTPUT 2>&1 + fi + + # copy files + if [ ! -f $SCRIPT_DIR/linux-live/modules/$MODULE/is_internal_build ]; then + if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then + if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy)" != "" ]; then + (cd $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy && cp --parents -afr * $MODULE_MERGED_DIR/) + fi + else + if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy)" != "" ] >>$OUTPUT 2>&1; then + (cd $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy && cp --parents -afr * $MODULE_MERGED_DIR/) + fi + fi + else + if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then + if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy)" != "" ]; then + mkdir $MODULE_MERGED_DIR/rootcopy + (cd $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy && cp --parents -afr * $MODULE_MERGED_DIR/rootcopy/) + fi + else + if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy)" != "" ] >>$OUTPUT 2>&1; then + mkdir $MODULE_MERGED_DIR/rootcopy + (cd $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy && cp --parents -afr * $MODULE_MERGED_DIR/rootcopy/) + fi + fi + fi + + # run install script + if [ -f $SCRIPT_DIR/linux-live/modules/$MODULE/install ]; then + cp $SCRIPT_DIR/linux-live/modules/$MODULE/install $MODULE_MERGED_DIR/install + chmod +x $MODULE_MERGED_DIR/install + if [ -f $SCRIPT_DIR/linux-live/modules/$MODULE/cleanup ]; then + cp $SCRIPT_DIR/linux-live/modules/$MODULE/cleanup $MODULE_MERGED_DIR/cleanup + fi + if [ -f $SCRIPT_DIR/linux-live/modules/$MODULE/$PACKAGE_VARIANT.list ]; then + cp $SCRIPT_DIR/linux-live/modules/$MODULE/$PACKAGE_VARIANT.list $MODULE_MERGED_DIR/$PACKAGE_VARIANT.list + fi + if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then + chroot $MODULE_MERGED_DIR /usr/bin/env \ + OUTPUT=$OUTPUT \ + LOGPATH=$LOGPATH \ + BUILD_TEST_ISO=$BUILD_TEST_ISO \ + CREATE_BACKUP=$CREATE_BACKUP \ + DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \ + APT_CMD=$APT_CMD \ + APT_OPTIONS=$APT_OPTIONS \ + APT_OPTIONS2=$APT_OPTIONS2 \ + LIVE_TYPE=$LIVE_TYPE \ + DISTRIBUTION=$DISTRIBUTION \ + PACKAGE_VARIANT=$PACKAGE_VARIANT \ + /install + else + chroot $MODULE_MERGED_DIR /usr/bin/env \ + OUTPUT=$OUTPUT \ + LOGPATH=$LOGPATH \ + BUILD_TEST_ISO=$BUILD_TEST_ISO \ + CREATE_BACKUP=$CREATE_BACKUP \ + DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \ + APT_CMD=$APT_CMD \ + APT_OPTIONS=$APT_OPTIONS \ + APT_OPTIONS2=$APT_OPTIONS2 \ + LIVE_TYPE=$LIVE_TYPE \ + DISTRIBUTION=$DISTRIBUTION \ + PACKAGE_VARIANT=$PACKAGE_VARIANT \ + /install >>$OUTPUT 2>&1 + fi + fi + + if [ -f $SCRIPT_DIR/linux-live/modules/$MODULE/is_internal_build ]; then + module_chroot_umount_fs + + module_build_cleanup + + # run external actions + + if [ "$(ls -A $MODULE_UPPER_DIR)" != "" ]; then + mkdir -p $PARENT_DIR/modules/tmp >>$OUTPUT 2>&1 + mksquashfs $MODULE_UPPER_DIR $PARENT_DIR/modules/tmp/$MODULE-stock.$BEXT -comp lz4 -b 1024K -always-use-fragments -noappend >>$OUTPUT 2>&1 || exit + mv $PARENT_DIR/modules/tmp/$MODULE-stock.$BEXT $MODULE_UPPER_DIR/$MODULE-stock.$BEXT >>$OUTPUT 2>&1 + cd $MODULE_UPPER_DIR >>$OUTPUT 2>&1 + unsquashfs $MODULE-stock.$BEXT >>$OUTPUT 2>&1 + else + echo -e "${MAGENTA}$MODULE_UPPER_DIR${ENDCOLOUR} is empty. Nothing to do." + fi + + #module_check_build_dir + + module_chroot_mount_fs + fi + + # run install2 script + if [ -f $SCRIPT_DIR/linux-live/modules/$MODULE/install2 ]; then + cp $SCRIPT_DIR/linux-live/modules/$MODULE/install2 $MODULE_MERGED_DIR/install2 + chmod +x $MODULE_MERGED_DIR/install2 + if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/patches)" != "" ] >>$OUTPUT 2>&1; then + mkdir $MODULE_MERGED_DIR/patches + (cd $SCRIPT_DIR/linux-live/modules/$MODULE/patches && cp --parents -afr * $MODULE_MERGED_DIR/patches/) + fi + if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then + chroot $MODULE_MERGED_DIR /usr/bin/env \ + OUTPUT=$OUTPUT \ + LOGPATH=$LOGPATH \ + BUILD_TEST_ISO=$BUILD_TEST_ISO \ + CREATE_BACKUP=$CREATE_BACKUP \ + DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \ + APT_CMD=$APT_CMD \ + APT_OPTIONS=$APT_OPTIONS \ + APT_OPTIONS2=$APT_OPTIONS2 \ + LIVE_TYPE=$LIVE_TYPE \ + DISTRIBUTION=$DISTRIBUTION \ + PACKAGE_VARIANT=$PACKAGE_VARIANT \ + /install2 + else + chroot $MODULE_MERGED_DIR /usr/bin/env \ + OUTPUT=$OUTPUT \ + LOGPATH=$LOGPATH \ + BUILD_TEST_ISO=$BUILD_TEST_ISO \ + CREATE_BACKUP=$CREATE_BACKUP \ + DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \ + APT_CMD=$APT_CMD \ + APT_OPTIONS=$APT_OPTIONS \ + APT_OPTIONS2=$APT_OPTIONS2 \ + LIVE_TYPE=$LIVE_TYPE \ + DISTRIBUTION=$DISTRIBUTION \ + PACKAGE_VARIANT=$PACKAGE_VARIANT \ + /install2 >>$OUTPUT 2>&1 + fi + fi + + # copy files + if [ ! -f $SCRIPT_DIR/linux-live/modules/$MODULE/is_internal_build ]; then + if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then + if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall)" != "" ]; then + (cd $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall && cp --parents -afr * $MODULE_MERGED_DIR/) + fi + else + if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall)" != "" ] >>$OUTPUT 2>&1; then + (cd $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall && cp --parents -afr * $MODULE_MERGED_DIR/) + fi + fi + else + if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then + if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall)" != "" ]; then + mkdir $MODULE_MERGED_DIR/rootcopy-postinstall + (cd $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall && cp --parents -afr * $MODULE_MERGED_DIR/rootcopy-postinstall/) + fi + else + if [ "$(ls -A $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall)" != "" ] >>$OUTPUT 2>&1; then + mkdir $MODULE_MERGED_DIR/rootcopy-postinstall + (cd $SCRIPT_DIR/linux-live/modules/$MODULE/rootcopy-postinstall && cp --parents -afr * $MODULE_MERGED_DIR/rootcopy-postinstall/) + fi + fi + fi + + # run post-install script + if [ -f $SCRIPT_DIR/linux-live/modules/$MODULE/postinstall ]; then + cp $SCRIPT_DIR/linux-live/modules/$MODULE/postinstall $MODULE_MERGED_DIR/postinstall + chmod +x $MODULE_MERGED_DIR/postinstall + if [ $OUTPUT = "/dev/stdout" ] && [ ! -f /dev/stdout ]; then + chroot $MODULE_MERGED_DIR /usr/bin/env \ + OUTPUT=$OUTPUT \ + LOGPATH=$LOGPATH \ + BUILD_TEST_ISO=$BUILD_TEST_ISO \ + CREATE_BACKUP=$CREATE_BACKUP \ + DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \ + APT_CMD=$APT_CMD \ + APT_OPTIONS=$APT_OPTIONS \ + APT_OPTIONS2=$APT_OPTIONS2 \ + LIVE_TYPE=$LIVE_TYPE \ + DISTRIBUTION=$DISTRIBUTION \ + PACKAGE_VARIANT=$PACKAGE_VARIANT \ + /postinstall + else + chroot $MODULE_MERGED_DIR /usr/bin/env \ + OUTPUT=$OUTPUT \ + LOGPATH=$LOGPATH \ + BUILD_TEST_ISO=$BUILD_TEST_ISO \ + CREATE_BACKUP=$CREATE_BACKUP \ + DEBIAN_FRONTEND_TYPE=$DEBIAN_FRONTEND_TYPE \ + APT_CMD=$APT_CMD \ + APT_OPTIONS=$APT_OPTIONS \ + APT_OPTIONS2=$APT_OPTIONS2 \ + LIVE_TYPE=$LIVE_TYPE \ + DISTRIBUTION=$DISTRIBUTION \ + PACKAGE_VARIANT=$PACKAGE_VARIANT \ + /postinstall >>$OUTPUT 2>&1 + fi + fi + + # run external actions + if [ -f $SCRIPT_DIR/linux-live/modules/$MODULE/is_internal_build ]; then + cp $MODULE_UPPER_DIR/$MODULE.$BEXT $PARENT_DIR/image/$LIVEKITNAME/$MODULE-$COMP_TYPE.$BEXT >>$OUTPUT 2>&1 + fi + + module_chroot_finish_up + + module_chroot_umount_fs + + if [ ! -f $SCRIPT_DIR/linux-live/modules/$MODULE/is_internal_build ]; then + module_build_cleanup + fi + + module_chroot_cleanup + + if [ ! -f $SCRIPT_DIR/linux-live/modules/$MODULE/is_internal_build ]; then + if [ ! -f $PARENT_DIR/image/$LIVEKITNAME/$MODULE-$COMP_TYPE.$BEXT ]; then + if [ "$(ls -A $MODULE_UPPER_DIR)" != "" ]; then + if [ $COMP_TYPE = "zstd" ]; then + mksquashfs $MODULE_UPPER_DIR $PARENT_DIR/image/$LIVEKITNAME/$MODULE-$COMP_TYPE.$BEXT -comp $COMP_TYPE -Xcompression-level 22 -b 1024K -always-use-fragments -noappend || exit + else + mksquashfs $MODULE_UPPER_DIR $PARENT_DIR/image/$LIVEKITNAME/$MODULE-$COMP_TYPE.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -noappend || exit + fi + else + echo -e "${MAGENTA}$MODULE_UPPER_DIR${ENDCOLOUR} is empty. Nothing to do." + fi + else + echo -e "${RED}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!${ENDCOLOUR}" + echo -e "Please remove ${MAGENTA}$PARENT_DIR/image/$LIVEKITNAME/$MODULE-$COMP_TYPE.$BEXT${ENDCOLOUR} if you want to build ${MAGENTA}$MODULE${ENDCOLOUR}." + echo -e "${RED}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!${ENDCOLOUR}" + fi + fi + + fi + done +} + +# ================================================================= +# +# +# ================================================================= +function build_modules_live() { + current_process + echo "here 2" + if [ $CONTAINER_TYPE = "1" ]; then + if [ ! -f /.minios-live ]; then + setup_host + fi + fi + + MODULES_DIR=$PARENT_DIR/modules + + cd $SCRIPT_DIR/linux-live/modules + + for MODULE in *; do + + if (ls $PARENT_DIR/image/$LIVEKITNAME/*.$BEXT | grep -q $MODULE 2>/dev/null); then + echo -e "${RED}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!${ENDCOLOUR}" + echo -e "Please remove ${MAGENTA}$PARENT_DIR/image/$LIVEKITNAME/$MODULE.$BEXT${ENDCOLOUR} if you want to build ${MAGENTA}$MODULE${ENDCOLOUR}." + echo -e "${RED}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!${ENDCOLOUR}" + else + + MODULE_UPPER_DIR="$MODULES_DIR/$MODULE-upper" + MODULE_WORK_DIR="$MODULES_DIR/$MODULE-work" + MODULE_MERGED_DIR="$MODULES_DIR/$MODULE-merged" + + if [ "$(ls -A $MODULE_UPPER_DIR)" != "" ]; then + if [ $COMP_TYPE = "zstd" ]; then + mksquashfs $MODULE_UPPER_DIR $PARENT_DIR/image/$LIVEKITNAME/$MODULE-$COMP_TYPE.$BEXT -comp $COMP_TYPE -Xcompression-level 22 -b 1024K -always-use-fragments -noappend || exit + else + mksquashfs $MODULE_UPPER_DIR $PARENT_DIR/image/$LIVEKITNAME/$MODULE-$COMP_TYPE.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -noappend || exit + fi + else + echo -e "${MAGENTA}$MODULE_UPPER_DIR${ENDCOLOUR} is empty. Nothing to do." + fi + fi + done +} + +function repack_module() { + OLD_MODULE=$MODULE + MODULE=${MODULE%"-$OLD_COMP_TYPE.$BEXT"} + if [ $COMP_TYPE = $OLD_COMP_TYPE ]; then + echo "The module is already in the required compression format." && exit + fi + unsquashfs $OLD_MODULE + + mksquashfs squashfs-root $MODULE-$COMP_TYPE.$BEXT -comp $COMP_TYPE -b 1024K -always-use-fragments -noappend || exit + + rm -rf squashfs-root + rm -f $OLD_MODULE +} + +function repack_modules() { + current_process + + cd $PARENT_DIR/image/$LIVEKITNAME/ + for MODULE in *; do + if (ls ./*-xz.$BEXT | grep -q $MODULE >>/dev/null 2>&1); then + OLD_COMP_TYPE="xz" + repack_module + elif (ls ./*-lz4.$BEXT | grep -q $MODULE >>/dev/null 2>&1); then + OLD_COMP_TYPE="lz4" + repack_module + elif (ls ./*-zstd.$BEXT | grep -q $MODULE >>/dev/null 2>&1); then + OLD_COMP_TYPE="zstd" + repack_module + fi + done +}