| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #!/usr/bin/env bash
- # NAME: Install paru AUR helper
- set -euo pipefail
- # Source common functions
- source "$(dirname "$0")/../common.sh" || {
- echo "[ERROR] Could not source common.sh" >&2
- exit 1
- }
- check_requirements() {
- local required_commands=(git makepkg)
- for cmd in "${required_commands[@]}"; do
- if ! command_exists "$cmd"; then
- log_error "Required command not found: $cmd"
- exit 1
- fi
- done
- }
- install_paru() {
- if command_exists paru; then
- log_info "paru is already installed"
- return 0
- fi
- log_info "Installing build dependencies"
- sudo pacman -S --needed --noconfirm base-devel git
- local tmpdir
- tmpdir=$(mktemp -d)
- log_info "Using temporary directory: $tmpdir"
- cd "$tmpdir"
- log_info "Cloning paru repository"
- git clone https://aur.archlinux.org/paru.git
- cd paru
- log_info "Building and installing paru"
- makepkg -si --noconfirm
- log_info "Cleaning up temporary files"
- cd /
- rm -rf "$tmpdir"
- }
- main() {
- init_script
- check_requirements
- install_paru
- finish_script 0
- }
- main "$@"
|