Files
apk/dist/pacman.sh
anorien90 d5abf98166
All checks were successful
Test setup and build APKs archlinux / Build-APK-Arch-Linux (push) Successful in 4m41s
Test setup and build APKs / Build-and-Create-Development-Environment (push) Successful in 11s
fixed paru installation with user
2025-12-09 15:08:52 +01:00

71 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# Read the dist/packages.txt and install packages using pacman
PACKAGES_FILE="dist/packages.txt"
if [ ! -f "$PACKAGES_FILE" ]; then
echo "Packages file not found: $PACKAGES_FILE"
exit 1
else
mapfile -t packages < "$PACKAGES_FILE"
pacman -Syu --noconfirm "${packages[@]}"
fi
ARCH_PACKAGE_FILE="dist/arch/packages.txt"
if [ ! -f "$ARCH_PACKAGE_FILE" ]; then
echo "Arch-specific packages file not found: $ARCH_PACKAGE_FILE"
exit 1
else
mapfile -t arch_packages < "$ARCH_PACKAGE_FILE"
pacman -Syu --noconfirm "${arch_packages[@]}"
fi
if command -v paru &> /dev/null; then
echo "paru is already installed. Reinstalling..."
else
git clone https://aur.archlinux.org/paru.git
cd paru
# Check if $USER is root and if so add a temporary non-root user for building paru
if [ "$EUID" -eq 0 ]; then
echo "Building paru as root is not allowed. Creating a temporary user for building..."
TEMP_USER="builder"
useradd -m "$TEMP_USER"
echo "Adding temporary user pwd"
yes | passwd -d "$TEMP_USER"
chown -R "$TEMP_USER":"$TEMP_USER" .
echo "Building paru as user $TEMP_USER..."
yes | su - "$TEMP_USER" -c "cd $(pwd) && makepkg -si --noconfirm"
else
echo "Building paru as user $USER..."
makepkg -si --noconfirm
fi
cd ..
rm -rf paru
fi
PARU_PACKAGE_FILE="dist/arch/paru.txt"
# check if Root user or TEMP_USER exists
if [ "$EUID" -eq 0 ]; then
BUILD_USER="$TEMP_USER"
else
BUILD_USER="$USER"
fi
if [ ! -f "$PARU_PACKAGE_FILE" ]; then
echo "Paru-specific packages file not found: $PARU_PACKAGE_FILE"
exit 1
else
mapfile -t paru_packages < "$PARU_PACKAGE_FILE"
echo "Installing AUR packages using paru as user $BUILD_USER..."
yes | su - "$BUILD_USER" -c "paru -S --noconfirm ${paru_packages[*]}"
fi
echo "All packages installed successfully."