From 0903a70952a9c865bb6cad7cdf2da9862daf50a9 Mon Sep 17 00:00:00 2001 From: d3v1l0n Date: Tue, 24 Dec 2024 03:21:59 +0530 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20perf:=20psot=20upgrade=20m?= =?UTF-8?q?ade=20better?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../snigdhaos-system-config.install | 228 ++++++++---------- 1 file changed, 99 insertions(+), 129 deletions(-) diff --git a/snigdhaos-system-config/snigdhaos-system-config.install b/snigdhaos-system-config/snigdhaos-system-config.install index 72e2d33f..2182e8f6 100644 --- a/snigdhaos-system-config/snigdhaos-system-config.install +++ b/snigdhaos-system-config/snigdhaos-system-config.install @@ -1,160 +1,130 @@ -post_install(){ - tput setaf 3; - echo - echo "[WARNING] WARNING!" - echo - echo "If you are on Grub, please install the following package..." - echo "sudo pacman -S snigdhaos-bootloader-grub" - echo - echo "If you are using systemd-boot then isntall the following package..." - echo "sudo pacman -S snigdhaos-bootloader-systemd" - echo - echo "[WARNING] WARNING!" - echo - tput setaf 2; +#!/bin/bash + +# Function to display a warning message +warn() { + tput setaf 3 + echo "[WARNING] $1" + tput sgr0 +} + +# Function to display an informational message +info() { + tput setaf 2 + echo "$1" + tput sgr0 +} + +# Function to display a success message +success() { + tput setaf 6 + echo "$1" + tput sgr0 +} + +# Function to display an error message +error() { + tput setaf 1 + echo "[ERROR] $1" + tput sgr0 +} + +# Function to check if a package is installed +package_installed() { + if pacman -Qi "$1" &> /dev/null; then + return 0 + else + return 1 + fi +} + +# Function to handle package installation confirmation +confirm_package_installed() { + local package=$1 + if package_installed "$package"; then + success "$package found!" + info "Bootloader is safe!" + else + error "$package not found!" + warn "Install the package for your safety!" + fi +} + +# Function to handle post-install tasks +post_install() { + warn "If you are on Grub, please install the following package..." + info "sudo pacman -S snigdhaos-bootloader-grub" + warn "If you are using systemd-boot then install the following package..." + info "sudo pacman -S snigdhaos-bootloader-systemd" + bootloader=$(bootctl status | grep "Product" | awk '{print $2}') + if [ "$bootloader" = "systemd-boot" ]; then - echo - echo "systemd-bootloader found!" - echo "Install the following package for your safety!" - echo - echo "sudo pacman -S snigdhaos-bootloader-systemd" - echo "It has all the pacman-hooks which are essentials." - echo - elif [ $bootloader = "GRUB" ]; then - echo - echo "GRUB bootloader found!" - echo "Install the following package for your safety!" - echo - echo "sudo pacman -S snigdhaos-bootloader-grub" - echo "It has all the pacman-hooks which are essentials." - echo + info "systemd-bootloader found!" + info "Install the following package for your safety!" + info "sudo pacman -S snigdhaos-bootloader-systemd" + info "It has all the pacman-hooks which are essentials." + elif [ "$bootloader" = "GRUB" ]; then + info "GRUB bootloader found!" + info "Install the following package for your safety!" + info "sudo pacman -S snigdhaos-bootloader-grub" + info "It has all the pacman-hooks which are essentials." fi - tput sgr0 - # Confirmation for package installation - package_installed(){ - if pacman -Qi "$1" &> /dev/null; then - return 0 - else - return 1 - fi - } + confirm_package_installed "snigdhaos-bootloader-grub" + confirm_package_installed "snigdhaos-bootloader-systemd" - tput setaf 6; - if package_installed snigdhaos-bootloader-grub; then - echo - echo "snigdhaos-bootloader-grub found!" - echo "Bootloader is safe!" - echo + if ! package_installed "snigdhaos-bootloader-systemd" && ! package_installed "snigdhaos-bootloader-grub"; then + error "snigdhaos-bootloader-systemd or snigdhaos-bootloader-grub not found!" + warn "Install the package for systemd or grub!" fi - tput sgr0 - - tput setaf 6; - if package_installed snigdhaos-bootloader-systemd; then - echo - echo "snigdhaos-bootloader-systemd found!" - echo "Bootloader is safe!" - echo - fi - tput sgr0 - - tput setaf 1; - if ! package_installed snigdhaos-bootloader-systemd && ! package_installed snigdhaos-bootloader-grub; then - echo - echo "snigdhaos-bootloader-systemd or snigdhaos-bootloader-grub not found!" - echo "[WARNING] WARNING!" - echo "Install the package for systemd or grub!" - echo - fi - tput sgr0 if systemctl --all --type service | grep -q "virtual-machine-check"; then systemctl disable virtual-machine-check.service fi + sh /usr/local/bin/snigdhaos-lsb-release sh /usr/local/bin/snigdhaos-os-release } -post_upgrade(){ - tput setaf 3; - echo - echo "[WARNING] WARNING!" - echo - echo "If you are on Grub, please install the following package..." - echo "sudo pacman -S snigdhaos-bootloader-grub" - echo - echo "If you are using systemd-boot then isntall the following package..." - echo "sudo pacman -S snigdhaos-bootloader-systemd" - echo - echo "[WARNING] WARNING!" - echo - tput setaf 2; +# Function to handle post-upgrade tasks +post_upgrade() { + warn "If you are on Grub, please install the following package..." + info "sudo pacman -S snigdhaos-bootloader-grub" + warn "If you are using systemd-boot then install the following package..." + info "sudo pacman -S snigdhaos-bootloader-systemd" + bootloader=$(bootctl status | grep "Product" | awk '{print $2}') + if [ "$bootloader" = "systemd-boot" ]; then - echo - echo "systemd-bootloader found!" - echo "Install the following package for your safety!" - echo - echo "sudo pacman -S snigdhaos-bootloader-systemd" - echo "It has all the pacman-hooks which are essentials." - echo - elif [ $bootloader = "GRUB" ]; then - echo - echo "GRUB bootloader found!" - echo "Install the following package for your safety!" - echo - echo "sudo pacman -S snigdhaos-bootloader-grub" - echo "It has all the pacman-hooks which are essentials." - echo + info "systemd-bootloader found!" + info "Install the following package for your safety!" + info "sudo pacman -S snigdhaos-bootloader-systemd" + info "It has all the pacman-hooks which are essentials." + elif [ "$bootloader" = "GRUB" ]; then + info "GRUB bootloader found!" + info "Install the following package for your safety!" + info "sudo pacman -S snigdhaos-bootloader-grub" + info "It has all the pacman-hooks which are essentials." fi - tput sgr0 - # Confirmation for package installation - package_installed(){ - if pacman -Qi "$1" &> /dev/null; then - return 0 - else - return 1 - fi - } + confirm_package_installed "snigdhaos-bootloader-grub" + confirm_package_installed "snigdhaos-bootloader-systemd" - tput setaf 6; - if package_installed snigdhaos-bootloader-grub; then - echo - echo "snigdhaos-bootloader-grub found!" - echo "Bootloader is safe!" - echo + if ! package_installed "snigdhaos-bootloader-systemd" && ! package_installed "snigdhaos-bootloader-grub"; then + error "snigdhaos-bootloader-systemd or snigdhaos-bootloader-grub not found!" + warn "Install the package for systemd or grub!" fi - tput sgr0 - - tput setaf 6; - if package_installed snigdhaos-bootloader-systemd; then - echo - echo "snigdhaos-bootloader-systemd found!" - echo "Bootloader is safe!" - echo - fi - tput sgr0 - - tput setaf 1; - if ! package_installed snigdhaos-bootloader-systemd && ! package_installed snigdhaos-bootloader-grub; then - echo - echo "snigdhaos-bootloader-systemd or snigdhaos-bootloader-grub not found!" - echo "[WARNING] WARNING!" - echo "Install the package for systemd or grub!" - echo - fi - tput sgr0 if systemctl --all --type service | grep -q "virtual-machine-check"; then systemctl disable virtual-machine-check.service fi + sh /usr/local/bin/snigdhaos-lsb-release sh /usr/local/bin/snigdhaos-os-release } -pre_remove(){ +# Function to handle pre-remove tasks +pre_remove() { if systemctl --all --type service | grep -q "virtual-machine-check"; then systemctl disable virtual-machine-check.service fi