From 8efaed6353a5946f79cc13995314f1401802e8fc Mon Sep 17 00:00:00 2001 From: Bernhard Landauer Date: Tue, 7 Jul 2020 01:03:18 +0200 Subject: [PATCH] [util-base.sh] code formatting --- lib/util-base.sh | 301 +++++++++++++++++++++++------------------------ 1 file changed, 149 insertions(+), 152 deletions(-) diff --git a/lib/util-base.sh b/lib/util-base.sh index aff281a..4c7c69a 100644 --- a/lib/util-base.sh +++ b/lib/util-base.sh @@ -12,76 +12,76 @@ setup_profiles() { # setup profiles with either git - PROFILES="$DATADIR/profiles" - clear - # install git if not already installed - inst_needed git - # download manjaro-tools.-isoprofiles git repo - if [[ -e $PROFILES ]]; then - #git -C $PROFILES pull 2>$ERR - profile-validate -r 2>$ERR - check_for_error "pull profiles repo" $? - else - profile-validate -r 2>$ERR - #git clone -b manjaro-architect --depth 1 https://gitlab.manjaro.org/profiles-and-settings/iso-profiles.git $PROFILES 2>$ERR - check_for_error "clone profiles repo" $? - fi + PROFILES="$DATADIR/profiles" + clear + # install git if not already installed + inst_needed git + # download manjaro-tools.-isoprofiles git repo + if [[ -e $PROFILES ]]; then + #git -C $PROFILES pull 2>$ERR + profile-validate -r 2>$ERR + check_for_error "pull profiles repo" $? + else + profile-validate -r 2>$ERR + #git clone -b manjaro-architect --depth 1 https://gitlab.manjaro.org/profiles-and-settings/iso-profiles.git $PROFILES 2>$ERR + check_for_error "clone profiles repo" $? + fi } enable_services() { - # Enable services in the chosen profile - echo "Enabling services" - eval $(grep -e "enable_systemd=" $profile | sed 's/# //g') - echo "${^enable_systemd[@]}" | xargs -n1 > /tmp/.services - echo /mnt/usr/lib/systemd/system/* | xargs -n1 | cut -d/ -f7 | sed 's/.service//g' > /tmp/.available_services - grep -f /tmp/.available_services /tmp/.services > /tmp/.fix && mv /tmp/.fix /tmp/.services - arch_chroot "systemctl enable $(cat /tmp/.services)" 2>$ERR - for service in $(cat /tmp/.services); do - if [[ -e /mnt/usr/lib/systemd/system/$service ]]; then - arch_chroot "systemctl enable $service" 2>$ERR && echo "enabled service $service" - fi - done - check_for_error "enable $(cat /tmp/.services | tr '\n' ' ')" $? - arch_chroot "systemctl disable pacman-init" 2>$ERR - check_for_error "disable pacman-init" $? - - # enable display manager for systemd - if [[ "$(cat /tmp/.display-manager)" == lightdm ]]; then - if arch_chroot "pacman -Qq lightdm" > /dev/null; then - set_lightdm_greeter - arch_chroot "systemctl enable lightdm" 2>$ERR - check_for_error "enable lightdm" "$?" - else - echo "lightdm was listed but not actually installed. No display-manager was enabled" - fi - elif [[ "$(cat /tmp/.display-manager)" == sddm ]]; then - arch_chroot "systemctl enable sddm" 2>$ERR - check_for_error "enable sddm" "$?" - elif [[ "$(cat /tmp/.display-manager)" == gdm ]]; then - arch_chroot "systemctl enable gdm" 2>$ERR - check_for_error "enable gdm" "$?" - else - check_for_error "no DM installed." - echo "no display manager was installed" - sleep 2 - fi + # Enable services in the chosen profile + echo "Enabling services" + eval $(grep -e "enable_systemd=" $profile | sed 's/# //g') + echo "${^enable_systemd[@]}" | xargs -n1 > /tmp/.services + echo /mnt/usr/lib/systemd/system/* | xargs -n1 | cut -d/ -f7 | sed 's/.service//g' > /tmp/.available_services + grep -f /tmp/.available_services /tmp/.services > /tmp/.fix && mv /tmp/.fix /tmp/.services + arch_chroot "systemctl enable $(cat /tmp/.services)" 2>$ERR + for service in $(cat /tmp/.services); do + if [[ -e /mnt/usr/lib/systemd/system/$service ]]; then + arch_chroot "systemctl enable $service" 2>$ERR && echo "enabled service $service" + fi + done + check_for_error "enable $(cat /tmp/.services | tr '\n' ' ')" $? + arch_chroot "systemctl disable pacman-init" 2>$ERR + check_for_error "disable pacman-init" $? + + # enable display manager for systemd + if [[ "$(cat /tmp/.display-manager)" == lightdm ]]; then + if arch_chroot "pacman -Qq lightdm" > /dev/null; then + set_lightdm_greeter + arch_chroot "systemctl enable lightdm" 2>$ERR + check_for_error "enable lightdm" "$?" + else + echo "lightdm was listed but not actually installed. No display-manager was enabled" + fi + elif [[ "$(cat /tmp/.display-manager)" == sddm ]]; then + arch_chroot "systemctl enable sddm" 2>$ERR + check_for_error "enable sddm" "$?" + elif [[ "$(cat /tmp/.display-manager)" == gdm ]]; then + arch_chroot "systemctl enable gdm" 2>$ERR + check_for_error "enable gdm" "$?" + else + check_for_error "no DM installed." + echo "no display manager was installed" + sleep 2 + fi - # if we are using a zfs we should enable the zfs services - if [ $ZFS == 1 ]; then - arch_chroot "systemctl enable zfs.target" 2>$ERR - check_for_error "enable zfs.target" "$?" - arch_chroot "systemctl enable zfs-import-cache" 2>$ERR - check_for_error "enable zfs-import-cache" "$?" - arch_chroot "systemctl enable zfs-mount" 2>$ERR - check_for_error "enable zfs-mount" "$?" - arch_chroot "systemctl enable zfs-import.target" 2>$ERR - check_for_error "enable zfs-import.target" "$?" - # we also need create the cachefile - zpool set cachefile=/etc/zfs/zpool.cache $(findmnt ${MOUNTPOINT} -lno SOURCE | awk -F / '{print $1}') 2>$ERR - check_for_error "create zpool cache" "$?" - cp /etc/zfs/zpool.cache ${MOUNTPOINT}/etc/zfs/zpool.cache 2>$ERR - check_for_error "copy cache file" "$?" - fi + # if we are using a zfs we should enable the zfs services + if [ $ZFS == 1 ]; then + arch_chroot "systemctl enable zfs.target" 2>$ERR + check_for_error "enable zfs.target" "$?" + arch_chroot "systemctl enable zfs-import-cache" 2>$ERR + check_for_error "enable zfs-import-cache" "$?" + arch_chroot "systemctl enable zfs-mount" 2>$ERR + check_for_error "enable zfs-mount" "$?" + arch_chroot "systemctl enable zfs-import.target" 2>$ERR + check_for_error "enable zfs-import.target" "$?" + # we also need create the cachefile + zpool set cachefile=/etc/zfs/zpool.cache $(findmnt ${MOUNTPOINT} -lno SOURCE | awk -F / '{print $1}') 2>$ERR + check_for_error "create zpool cache" "$?" + cp /etc/zfs/zpool.cache ${MOUNTPOINT}/etc/zfs/zpool.cache 2>$ERR + check_for_error "copy cache file" "$?" + fi } install_extra() { @@ -104,92 +104,92 @@ install_extra() { } filter_packages() { - DIALOG " $_PkgList " --infobox "\n$_PlsWaitBody\n " 0 0 - # Parse package list based on user input and remove parts that don't belong to pacman - # If desktop is selected, add those packages to packages to be installed. - if [[ -e /mnt/.desktop ]]; then - cat "$pkgs_src" /mnt/.desktop >> $pkgs_target 2>$ERR - check_for_error "$FUNCNAME" $? - else - cat "$pkgs_src" >> $pkgs_target 2>$ERR - check_for_error "$FUNCNAME" $? - fi - - # Remove any packages tagged with >openrc and remove >systemd tags - sed -i '/>openrc/d' $pkgs_target - sed -i 's/>systemd //g' $pkgs_target - - if [[ "$(uname -m)" == "x86_64" ]]; then - # Remove any packages tagged with >i686 and remove >x86_64 tags - sed -i '/>i686/d' $pkgs_target - sed -i '/>nonfree_i686/d' $pkgs_target - sed -i 's/>x86_64 //g' $pkgs_target - else - # Remove any packages tagged with >x86_64 and remove >i686 tags - sed -i '/>x86_64/d' $pkgs_target - sed -i '/>nonfree_x86_64/d' $pkgs_target - sed -i 's/>i686 //g' $pkgs_target - fi - - # If multilib repo is enabled, install multilib packages - if grep -q "^[multilib]" /etc/pacman.conf; then - # Remove >multilib tags - sed -i 's/>multilib //g' $pkgs_target - sed -i 's/>nonfree_multilib //g' $pkgs_target - else - # Remove lines with >multilib tag - sed -i '/>multilib/d' $pkgs_target - sed -i '/>nonfree_multilib/d' $pkgs_target - fi + DIALOG " $_PkgList " --infobox "\n$_PlsWaitBody\n " 0 0 + # Parse package list based on user input and remove parts that don't belong to pacman + # If desktop is selected, add those packages to packages to be installed. + if [[ -e /mnt/.desktop ]]; then + cat "$pkgs_src" /mnt/.desktop >> $pkgs_target 2>$ERR + check_for_error "$FUNCNAME" $? + else + cat "$pkgs_src" >> $pkgs_target 2>$ERR + check_for_error "$FUNCNAME" $? + fi + + # Remove any packages tagged with >openrc and remove >systemd tags + sed -i '/>openrc/d' $pkgs_target + sed -i 's/>systemd //g' $pkgs_target + + if [[ "$(uname -m)" == "x86_64" ]]; then + # Remove any packages tagged with >i686 and remove >x86_64 tags + sed -i '/>i686/d' $pkgs_target + sed -i '/>nonfree_i686/d' $pkgs_target + sed -i 's/>x86_64 //g' $pkgs_target + else + # Remove any packages tagged with >x86_64 and remove >i686 tags + sed -i '/>x86_64/d' $pkgs_target + sed -i '/>nonfree_x86_64/d' $pkgs_target + sed -i 's/>i686 //g' $pkgs_target + fi - if grep -q ">extra" $pkgs_target; then - # User to select base|extra profile - DIALOG " $_ExtraTitle " --no-cancel --menu "\n$_ExtraBody\n " 0 0 2 \ - "1" "full" \ - "2" "minimal" 2>/tmp/.version + # If multilib repo is enabled, install multilib packages + if grep -q "^[multilib]" /etc/pacman.conf; then + # Remove >multilib tags + sed -i 's/>multilib //g' $pkgs_target + sed -i 's/>nonfree_multilib //g' $pkgs_target + else + # Remove lines with >multilib tag + sed -i '/>multilib/d' $pkgs_target + sed -i '/>nonfree_multilib/d' $pkgs_target + fi - if [[ $(cat /tmp/.version) -eq 2 ]]; then - check_for_error "selected 'minimal' profile" - touch /tmp/.minimal - else - check_for_error "selected 'full' profile" - [[ -e /tmp/.minimal ]] && rm /tmp/.minimal - fi - fi + if grep -q ">extra" $pkgs_target; then + # User to select base|extra profile + DIALOG " $_ExtraTitle " --no-cancel --menu "\n$_ExtraBody\n " 0 0 2 \ + "1" "full" \ + "2" "minimal" 2>/tmp/.version - if [[ -e /tmp/.minimal ]]; then - # Remove >extra tags - sed -i 's/>basic //g' $pkgs_target - sed -i '/>extra/d' $pkgs_target + if [[ $(cat /tmp/.version) -eq 2 ]]; then + check_for_error "selected 'minimal' profile" + touch /tmp/.minimal else - # Remove >basic tags - sed -i 's/>extra //g' $pkgs_target - sed -i '/>basic/d' $pkgs_target + check_for_error "selected 'full' profile" + [[ -e /tmp/.minimal ]] && rm /tmp/.minimal fi - # remove >manjaro flags and >sonar flags+pkgs until we support it properly - sed -i '/>sonar/d' $pkgs_target - sed -i 's/>manjaro //g' $pkgs_target - - # Does the system have a battery? - if [[ -z "$(echo /sys/class/power_supply/BAT*)" ]]; then - # No battery was detected. Remove TLP - sed -i '/tlp/d' $pkgs_target - fi - # Remove commented lines - # remove everything except the first word of every lines - sed -i 's/\s.*$//' $pkgs_target - # Remove lines with # - sed -i '/#/d' $pkgs_target - # remove KERNEL variable - sed -i '/KERNEL/d' $pkgs_target - # Remove empty lines - sed -i '/^\s*$/d' $pkgs_target - - # Remove packages that have been dropped from repos - pacman -Ssq > /tmp/.available_packages - pacman -Sgq >> /tmp/.available_packages - grep -f /tmp/.available_packages $pkgs_target > /tmp/.tmp - mv /tmp/.tmp $pkgs_target + fi + + if [[ -e /tmp/.minimal ]]; then + # Remove >extra tags + sed -i 's/>basic //g' $pkgs_target + sed -i '/>extra/d' $pkgs_target + else + # Remove >basic tags + sed -i 's/>extra //g' $pkgs_target + sed -i '/>basic/d' $pkgs_target + fi + # remove >manjaro flags and >sonar flags+pkgs until we support it properly + sed -i '/>sonar/d' $pkgs_target + sed -i 's/>manjaro //g' $pkgs_target + + # Does the system have a battery? + if [[ -z "$(echo /sys/class/power_supply/BAT*)" ]]; then + # No battery was detected. Remove TLP + sed -i '/tlp/d' $pkgs_target + fi + # Remove commented lines + # remove everything except the first word of every lines + sed -i 's/\s.*$//' $pkgs_target + # Remove lines with # + sed -i '/#/d' $pkgs_target + # remove KERNEL variable + sed -i '/KERNEL/d' $pkgs_target + # Remove empty lines + sed -i '/^\s*$/d' $pkgs_target + + # Remove packages that have been dropped from repos + pacman -Ssq > /tmp/.available_packages + pacman -Sgq >> /tmp/.available_packages + grep -f /tmp/.available_packages $pkgs_target > /tmp/.tmp + mv /tmp/.tmp $pkgs_target } install_base() { @@ -567,8 +567,7 @@ pacman -S --noconfirm grub-theme-manjaro" > ${MOUNTPOINT}/usr/bin/grub_installer } -install_refind() -{ +install_refind() { DIALOG " $_InstUefiBtTitle " --yesno "\n$_InstRefindBody\n " 0 0 || return 0 clear inst_needed refind-efi @@ -647,8 +646,7 @@ install_refind() #Initramfs is on the root partition sed -i "s|\"$| initrd=/boot/${UCODE}.img initrd=/boot/initramfs-%v.img\"|g" /mnt/boot/refind_linux.conf fi - fi - + fi basestrap ${MOUNTPOINT} refind-theme-maia DIALOG " $_InstUefiBtTitle " --infobox "\n$_RefindReady\n " 0 0 @@ -953,7 +951,6 @@ set_locale() { check_for_error "$FUNCNAME" "$?" ini linux.locale "$LOCALE" - } # Set Zone and Sub-Zone