[util-base.sh] code formatting

merge-requests/260/head
Bernhard Landauer 4 years ago
parent 39b7b93fc8
commit 8efaed6353

@ -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

Loading…
Cancel
Save