From 49820f875ea0cbeb93dc46cc0f6e75039d6954fb Mon Sep 17 00:00:00 2001 From: d3v1l0n Date: Tue, 24 Dec 2024 04:11:02 +0530 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20perf:=20more=20improvement?= =?UTF-8?q?s=20can=20be=20done?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- usr/lib/snigdhaos-blackbox/apply.sh | 56 +++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 11 deletions(-) diff --git a/usr/lib/snigdhaos-blackbox/apply.sh b/usr/lib/snigdhaos-blackbox/apply.sh index bee9aea..f80cb08 100755 --- a/usr/lib/snigdhaos-blackbox/apply.sh +++ b/usr/lib/snigdhaos-blackbox/apply.sh @@ -12,6 +12,32 @@ usage() { exit 1 } +# Function to print in green (success) +success() { + echo -e "\033[32m$1\033[0m" +} + +# Function to print in red (error) +error() { + echo -e "\033[31m$1\033[0m" +} + +# Function to print in yellow (warning) +warning() { + echo -e "\033[33m$1\033[0m" +} + +# Function to log output to a log file +log() { + echo "$(date) - $1" >> "$LOGFILE" +} + +# Log file location +LOGFILE="/tmp/setup_script.log" + +# Clear the previous log +> "$LOGFILE" + # Display help if the user asks for it if [ "$1" == "--help" ]; then usage @@ -19,62 +45,70 @@ fi # Check if package list file is provided and valid if [ -z "$2" ] || [ ! -f "$2" ]; then - echo "Error: Package list file is missing or invalid." + error "Package list file is missing or invalid." usage fi # Check if service script file is provided and valid if [ -n "$3" ] && [ ! -f "$3" ]; then - echo "Warning: Service script file ($3) not found. Skipping service enabling." + warning "Service script file ($3) not found. Skipping service enabling." fi # Step 1: Optional Setup Preparation if [ -n "$1" ] && [ -e "$1" ]; then echo "" echo "Preparing Setup..." + log "Preparing Setup..." echo "" fi # Step 2: Installing Packages echo "" echo "Installing Packages! Please Wait..." -echo "" +log "Starting package installation..." # Generate the list of installable packages installable_packages=$(comm -12 <(pacman -Slq | sort) <(sed 's/\s/\n/g' - <"$2" | sort)) # Check if any valid packages are available if [ -z "$installable_packages" ]; then - echo "No packages found to install from the provided list." + error "No packages found to install from the provided list." + log "No valid packages found." exit 1 fi # Attempt to install the packages echo "Installing the following packages: $installable_packages" +log "Installing packages: $installable_packages" + if ! sudo pacman -S --needed $installable_packages; then - echo "Error: Package installation failed. Please check the package list and try again." + error "Package installation failed. Please check the package list and try again." + log "Package installation failed." exit 1 else # Remove the package list file after successful installation rm "$2" - echo "Packages installed successfully." + success "Packages installed successfully." + log "Packages installed successfully." fi # Step 3: Enabling Services (if any) if [ -n "$3" ] && [ -f "$3" ]; then echo "" echo "Enabling Services (If Any)..." - echo "" - + log "Enabling services..." + # Execute the service script with sudo if ! sudo bash - <"$3"; then - echo "Error: Failed to enable services from the script. Please check the script." + error "Failed to enable services from the script. Please check the script." + log "Service enabling failed." exit 1 else - echo "Services enabled successfully." + success "Services enabled successfully." + log "Services enabled successfully." fi fi # Final prompt echo "" -read -p "Press Enter To Return to Snigdha OS Blackbox." +read -p "Press Enter to return to Snigdha OS Blackbox."