Uso pochi pacchetti aur nel mio sistema (ricordate che i file aur son fatti dagli utenti, non verificati, potrebbero far casini) e cosi ho pensato di fare a meno dei classici aur helper (stavo usando yay fino a poco fa) e di lavorare manualmente.
Per manualmente si intende:
git clone https://***.git
cd directory_name
makepkg -si
Niente di eccezionale, ovviamente, ma per comodità ho pensato di velocizzare il tutto con questo codice che ho inserito nel mio .bashrc
Ed ecco cosa ho creato
# Lista i file AUR
aurlist() { (echo -e "~\nQuesti i pacchetti aur Installati:\n~"; pacman -Qm; echo "~") }
# Installa pacchetto AUR
aurinstall() {
cd "$HOME" && mkdir -p "$HOME/AurBuild/"
(
cd "$HOME/AurBuild/"
# Controlla se l'utente ha passato un argomento
if [ $# -eq 0 ]; then
echo -e "~\nErrore: specificare l'URL del pacchetto AUR da installare.\n~"
else
# Verifica se la directory di destinazione esiste già
package_dir="$(basename "$1" .git)"
if [ -d "$package_dir" ]; then
echo -e "~\nErrore: La directory '$package_dir' esiste già e non è vuota.\n~\nUsare 'aurupdate $package_dir'\n~"
else
# Clona il repository AUR e installa il pacchetto
git clone "$1" && cd "$package_dir"
if [[ -f PKGBUILD ]]; then
(echo -e "~\nLeggi il PKGBUILD prima di continuare!!!\n~"; cat PKGBUILD; echo -e "~\nSe hai letto il PKGBUILD e vuoi procedere, premi 'q'\n~") | less
makepkg -si
else
echo -e "~\nErrore: Il repository AUR clonato non contiene un file PKGBUILD.\n~"
fi
fi
fi
)
}
# Aggiornare gli AUR
aurupdate() {
cd "$HOME" && mkdir -p "$HOME/AurBuild/"
(
cd "$HOME/AurBuild/"
# Se non ci sono argomenti, aggiorna tutti i pacchetti
if [ $# -eq 0 ]; then
echo "Aggiorno tutti i pacchetti AUR presenti!"
for package_dir in */; do
echo "Aggiornamento del pacchetto: $package_dir"
cd "$package_dir" || continue
git pull
(echo -e "~\nLeggi il PKGBUILD prima di continuare!!!\n~"; cat PKGBUILD; echo -e "~\nSe hai letto il PKGBUILD e vuoi procedere, premi 'q'\n~") | less
makepkg -si
cd ..
done
else
# Altrimenti, aggiorna solo i pacchetti specificati
for package_name in "$@"; do
if [ -d "$package_name" ]; then
echo "Aggiornamento del pacchetto: $package_name"
cd "$package_name" || continue
git pull
(echo -e "~\nLeggiaur_dir il PKGBUILD prima di continuare!!!\n~"; cat PKGBUILD; echo -e "~\nSe hai letto il PKGBUILD e vuoi procedere, premi 'q'\n~") | less
makepkg -si
cd ..
else
echo -e "~\nIl pacchetto $package_name non esiste in '$HOME/AurBuild/'\n~"
fi
done
fi
)
}
Dopo averlo aggiunto al mio .bashrc, per visualizzare i pacchetti AUR presenti mi basterà:
aurlist
Per installare un pacchetto aur, invece:
aurinstall https://***.git
E per aggiornarli tutti un semplicissimo:
aurupdate
Oppure:
aurupdate nomepacchetto
Direi che più facile di così è difficile ma… A differenza di yay, paru e company, qui eventuali dipendenze dovranno essere gestite manualmente (così impariamo finalmente a guardare dentro il file PKGBUILD e capire cosa fa il pacchetto che stiamo installando)! 😁

Il codice intero l’ho aggiornato nel gist pubblicato qui: Arch Linux: .bashrc
Iscriviti ai Feed dei commenti









Aggiungi un commento 💬