mirror of
https://github.com/alvinlollo/Single-install-script.git
synced 2026-06-15 03:04:26 +10:00
Improve installation logic for pacman and yay
Refactor pacman and yay installation checks and commands.
This commit is contained in:
+53
-51
@@ -138,70 +138,72 @@ for selection in $CHOICE; do
|
|||||||
"4")
|
"4")
|
||||||
echo "Installing Pacman Packages..."
|
echo "Installing Pacman Packages..."
|
||||||
# Check if pacman binary is installed
|
# Check if pacman binary is installed
|
||||||
if command -v pacman >/dev/null; then
|
if ! command -v pacman >/dev/null; then
|
||||||
echo "Cannot proceed: pacman binary not found"
|
echo "Cannot proceed: pacman binary not found"
|
||||||
exit 1 # exit with an error
|
exit 1 # exit with an error
|
||||||
fi
|
else
|
||||||
# Install pacman packages
|
# Install pacman packages
|
||||||
# Runs local script unless it does not exit or fails
|
# Runs local script unless it does not exit or fails
|
||||||
if [[ -f "./configs/PackagesPacman.txt" ]]; then
|
if [[ -f "./configs/PackagesPacman.txt" ]]; then
|
||||||
echo "Found local config"
|
echo "Found local config"
|
||||||
cat ./configs/PackagesPacman.txt | sudo pacman -S - --needed --noconfirm
|
cat ./configs/PackagesPacman.txt | sudo pacman -S - --needed --noconfirm
|
||||||
elif ! curl -fsSL https://raw.githubusercontent.com/alvinlollo/Single-install-script/refs/heads/main/configs/PackagesPacman.txt | sudo pacman -S - --needed --noconfirm; then
|
elif ! curl -fsSL https://raw.githubusercontent.com/alvinlollo/Single-install-script/refs/heads/main/configs/PackagesPacman.txt | sudo pacman -S - --needed --noconfirm; then
|
||||||
echo "--------------------------------------------------------------------"
|
echo "--------------------------------------------------------------------"
|
||||||
echo "Failed to install Pacman packages. You can try running it manually:"
|
echo "Failed to install Pacman packages. You can try running it manually:"
|
||||||
echo "curl -fsSL https://raw.githubusercontent.com/alvinlollo/Single-install-script/refs/heads/main/configs/PackagesPacman.txt | sudo pacman -S - --needed --noconfirm"
|
echo "curl -fsSL https://raw.githubusercontent.com/alvinlollo/Single-install-script/refs/heads/main/configs/PackagesPacman.txt | sudo pacman -S - --needed --noconfirm"
|
||||||
echo "--------------------------------------------------------------------"
|
echo "--------------------------------------------------------------------"
|
||||||
echo "+ sleep 10" && sleep 10
|
echo "+ sleep 10" && sleep 10
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"5")
|
"5")
|
||||||
echo "Installing Yay and Yay Packages..."
|
echo "Installing Yay and Yay Packages..."
|
||||||
# Check for pacman before installing yay
|
# Check for pacman before installing yay
|
||||||
if command -v pacman >/dev/null; then
|
if ! command -v pacman >/dev/null; then
|
||||||
echo "Cannot proceed: Not a arch based system"
|
echo "Cannot proceed: Not a arch based system"
|
||||||
exit 1 # Exit with an error
|
exit 1 # Exit with an error
|
||||||
fi
|
else
|
||||||
# Install yay prerequisites
|
# Install yay prerequisites
|
||||||
if ! sudo pacman -S --needed --noconfirm efibootmgr sbsigntools mokutil sbctl golang fakeroot debugedit make gcc; then
|
if ! sudo pacman -S --needed --noconfirm efibootmgr sbsigntools mokutil sbctl golang fakeroot debugedit make gcc; then
|
||||||
echo "--------------------------------------------------------------------"
|
|
||||||
echo "Failed to install prerequisite packages for Yay. You can try running it manually:"
|
|
||||||
echo "sudo pacman -S --needed --noconfirm efibootmgr sbsigntools mokutil sbctl golang fakeroot debugedit make gcc"
|
|
||||||
echo "--------------------------------------------------------------------"
|
|
||||||
exit 1 # exit with an error
|
|
||||||
fi
|
|
||||||
# Check if yay binary exists
|
|
||||||
if ! command -v yay >/dev/null; then
|
|
||||||
echo "yay is NOT installed. Running installation commands..."
|
|
||||||
if ! git clone https://aur.archlinux.org/yay.git /tmp/yay_install; then
|
|
||||||
echo "--------------------------------------------------------------------"
|
echo "--------------------------------------------------------------------"
|
||||||
echo "Failed to clone yay repository. You can try running it manually:"
|
echo "Failed to install prerequisite packages for Yay. You can try running it manually:"
|
||||||
echo "git clone https://aur.archlinux.org/yay.git /tmp/yay_install"
|
echo "sudo pacman -S --needed --noconfirm efibootmgr sbsigntools mokutil sbctl golang fakeroot debugedit make gcc"
|
||||||
echo "--------------------------------------------------------------------"
|
|
||||||
exit 1 # exit with an error
|
|
||||||
elif ! (cd /tmp/yay_install && makepkg -si --noconfirm); then
|
|
||||||
echo "--------------------------------------------------------------------"
|
|
||||||
echo "Failed to build and install yay. You can try running it manually:"
|
|
||||||
echo "cd /tmp/yay_install && makepkg -si --noconfirm"
|
|
||||||
echo "--------------------------------------------------------------------"
|
echo "--------------------------------------------------------------------"
|
||||||
exit 1 # exit with an error
|
exit 1 # exit with an error
|
||||||
fi
|
fi
|
||||||
cd $PreviousWD
|
# Check if yay binary exists
|
||||||
rm -rf /tmp/yay_install
|
if ! command -v yay >/dev/null; then
|
||||||
else
|
echo "yay is NOT installed. Running installation commands..."
|
||||||
echo "Yay is already installed."
|
if ! git clone https://aur.archlinux.org/yay.git /tmp/yay_install; then
|
||||||
fi
|
echo "--------------------------------------------------------------------"
|
||||||
# Install yay packages
|
echo "Failed to clone yay repository. You can try running it manually:"
|
||||||
# Runs local script unless it does no exist or fails
|
echo "git clone https://aur.archlinux.org/yay.git /tmp/yay_install"
|
||||||
if [[ -f "./config/PackagesYay.txt" ]]; then
|
echo "--------------------------------------------------------------------"
|
||||||
echo "Found local config"
|
exit 1 # exit with an error
|
||||||
cat ./config/PackagesYay.txt | yay -S --needed --save --answerclean None --answerdiff None - --noconfirm
|
elif ! (cd /tmp/yay_install && makepkg -si --noconfirm); then
|
||||||
elif ! curl -fsSL https://raw.githubusercontent.com/alvinlollo/Single-install-script/refs/heads/main/configs/PackagesYay.txt | yay -S --needed --save --answerclean None --answerdiff None - --noconfirm; then
|
echo "--------------------------------------------------------------------"
|
||||||
echo "--------------------------------------------------------------------"
|
echo "Failed to build and install yay. You can try running it manually:"
|
||||||
echo "Failed to install Yay packages. You can try running it manually:"
|
echo "cd /tmp/yay_install && makepkg -si --noconfirm"
|
||||||
echo "curl -fsSL https://raw.githubusercontent.com/alvinlollo/Single-install-script/refs/heads/main/configs/PackagesYay.txt | yay -S --needed --save --answerclean None --answerdiff None - --noconfirm"
|
echo "--------------------------------------------------------------------"
|
||||||
echo "--------------------------------------------------------------------"
|
exit 1 # exit with an error
|
||||||
echo "+ sleep 10" && sleep 10
|
fi
|
||||||
|
cd $PreviousWD
|
||||||
|
rm -rf /tmp/yay_install
|
||||||
|
else
|
||||||
|
echo "Yay is already installed."
|
||||||
|
fi
|
||||||
|
# Install yay packages
|
||||||
|
# Runs local script unless it does no exist or fails
|
||||||
|
if [[ -f "./config/PackagesYay.txt" ]]; then
|
||||||
|
echo "Found local config"
|
||||||
|
cat ./config/PackagesYay.txt | yay -S --needed --save --answerclean None --answerdiff None - --noconfirm
|
||||||
|
elif ! curl -fsSL https://raw.githubusercontent.com/alvinlollo/Single-install-script/refs/heads/main/configs/PackagesYay.txt | yay -S --needed --save --answerclean None --answerdiff None - --noconfirm; then
|
||||||
|
echo "--------------------------------------------------------------------"
|
||||||
|
echo "Failed to install Yay packages. You can try running it manually:"
|
||||||
|
echo "curl -fsSL https://raw.githubusercontent.com/alvinlollo/Single-install-script/refs/heads/main/configs/PackagesYay.txt | yay -S --needed --save --answerclean None --answerdiff None - --noconfirm"
|
||||||
|
echo "--------------------------------------------------------------------"
|
||||||
|
echo "+ sleep 10" && sleep 10
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|||||||
Reference in New Issue
Block a user