From 4c2860414324fa3873caaa0d20c6e54241b8fcc3 Mon Sep 17 00:00:00 2001 From: lionel <> Date: Thu, 14 Jul 2022 20:26:31 +0200 Subject: [PATCH] Change make selection --- ...pt.list.chroot => libreoffice.list.chroot} | 0 make.sh | 182 ++++++++++-------- 2 files changed, 98 insertions(+), 84 deletions(-) rename config/package-lists/{gui_opt.list.chroot => libreoffice.list.chroot} (100%) diff --git a/config/package-lists/gui_opt.list.chroot b/config/package-lists/libreoffice.list.chroot similarity index 100% rename from config/package-lists/gui_opt.list.chroot rename to config/package-lists/libreoffice.list.chroot diff --git a/make.sh b/make.sh index 54303b4..a4e0cf6 100755 --- a/make.sh +++ b/make.sh @@ -6,33 +6,33 @@ build=$baseDir/build config=$baseDir/config -iso=$baseDir/iso - if [ "$EUID" -ne 0 ] then echo "Please run as root" exit 1 fi -debian_version="bullseye" +pack_list=(live cli disk net firmware dm-common xfce4 cinnamon gui libreoffice vm) -type_list=(full xfce cinnamon vmxfce vmfull) +declare -A pack_name +pack_name[dm-common]="Composant commun pour l' interface graphique" +pack_name[xfce4]="Environnement de bureau Xfce" +pack_name[cinnamon]="Environnement de bureau Cinnamon" +pack_name[gui]="Ensemble de logiciel graphique" +pack_name[libreoffice]="Libreoffice Writer et Calc" +pack_name[vm]="Driver Virtualisation" -pack_full=(live cli disk net firmware xfce4 cinnamon dm-common gui gui_opt) +pack_forced=(live cli disk net firmware) -pack_xfce=(live cli disk net firmware xfce4 dm-common gui) - -pack_cinnamon=(live cli disk net firmware cinnamon dm-common gui) - -pack_vmxfce=(live cli disk net firmware xfce4 dm-common gui vm) - -pack_vmfull=(live cli disk net firmware xfce4 cinnamon dm-common gui vm) +pack_default=(dm-common xfce4 gui vm) _usage() { cat <&1 1>&2 2>&3 | xargs) + + pack=("${pack_forced[@]} ${RESULT[@]}") + + printf "Pack list: \e[96m${pack[*]}\e[0m\n" + + read -p "Continue ? " -n 1 -r + echo + if ! [[ $REPLY =~ ^[YyOo]$ ]] + then + echo "Cancel" + exit + fi +} + _config() { @@ -79,21 +139,10 @@ _config() rm $build/config/package-lists/* - eval pack=\${pack_${type}[@]} - for file in ${pack[@]}; do ln -sr $config/package-lists/$file.list.chroot $build/config/package-lists/$file.list.chroot done - if [ ! -f "$iso" ];then - printf "\e[96mCreate ISO directory\e[0m\n" - install -d -m 0755 -o $SUDO_UID -g $SUDO_GID $iso - fi - - out="$iso/$type" - - install -d -m 0755 -o $SUDO_UID -g $SUDO_GID $out - } _build() @@ -153,9 +202,14 @@ _create_iso() printf "\e[96mCopy ISO\e[0m\n" - cp $build/live-image-amd64.hybrid.iso $out/live-${type}-image.iso + if [ -d "$out" ] + then + $out="$out/live-${debian_version}-image.iso" + fi - chown $SUDO_UID:$SUDO_GID $out/live-${type}-image.iso + cp $build/live-image-amd64.hybrid.iso $out + + chown $SUDO_UID:$SUDO_GID $out } _delete() @@ -164,14 +218,20 @@ _delete() rm -r $build } -while getopts "t:v:" OPTION; do +while getopts "dv:o:i" OPTION; do case $OPTION in - t) - type=${OPTARG} + d) + default=true ;; v) debian_version=${OPTARG} ;; + o) + out="$(realpath ${OPTARG})" + ;; + i) + iso=true + ;; *) _usage exit 1 @@ -179,61 +239,15 @@ while getopts "t:v:" OPTION; do esac done -if ! [[ "${type_list[*]}" =~ "$type" ]] -then - printf "Cannot proceed \e[96m$type\e[0m\n\n" - _usage - exit -fi +_check +[[ $default = true ]] && pack=("${pack_forced[@]} ${pack_default[@]}") || _choose +_config +_build -printf "\e[96mMake $type\e[0m\n" -printf "\e[96mDebian version of live system: $debian_version\e[0m\n" +mkdir -p $build/chroot/etc/skel/.ssh +cp -v /home/lionel/.ssh/{config,key_rsa_majalis,key_rsa_majalis.pub} $build/chroot/etc/skel/.ssh +sudo -u $SUDO_USER ssh-keygen -H -F netdldata.net > $build/chroot/etc/skel/.ssh/known_hosts -read -p "Continue ? " -n 1 -r -echo -if ! [[ $REPLY =~ ^[YyOo]$ ]] -then - echo "Cancel" - exit -fi - -case $type in -"full") - _config - _build - _create_squashfs - _delete - ;; -"xfce") - _config - _build - mkdir -p $build/chroot/etc/skel/.ssh - cp -v /home/lionel/.ssh/{config,key_rsa_majalis,key_rsa_majalis.pub} $build/chroot/etc/skel/.ssh - sudo -u $SUDO_USER ssh-keygen -H -F netdldata.net > $build/chroot/etc/skel/.ssh/known_hosts - _create_squashfs - _delete - ;; -"vmxfce") - _config - _build - _create_iso - _delete - ;; -"vmfull") - _config - _build - _create_iso - _delete - ;; -"cinnamon") - _config - _build - _create_iso - _delete - ;; -*) - _usage - exit 1 - ;; -esac +[[ $iso = true ]] && _create_iso || _create_squashfs +_delete