Pomoć pri instalaciji AUR paketa
Postano: 29 ruj 2020, 22:05
U zadnje vrijeme se bavim učenjem BASH skriptiranja, ali moj najveći problem su ideje što napraviti. Zato sam odlučio napraviti skriptu za pomoć pri instalaciji AUR (iako ne znam tko bi se okoristio time s obzirom da postoje paketi koji puno bolje pomažu u instalaciji AUR paketa ). Ulavnom, evo skripte pa ako nekome to nešto znači...
Slobodno komentirajte ideje za poboljšanje fonkcionalnosti ili samog koda i slobodno komentirajte moje propuste ili greške u izradi skripte.
P.S. (dodatak nekoliko sati nakon postanja) Zaboravio sam napisati da skriptu, ako se koriste fukcije nadogradnje paketa ili instalacije prethodno preuzetih paketa, skriptu treba postaviti u mapu gdje se nalazi mapa paketa koji se želi instalirati ili nadograditi.
- Kod: Označi sve
#!/bin/bash
echo "##################"
echo "## AUR HELPER ##"
echo "##################"
echo " "
function main {
echo "Choose:
1. Install AUR packages
2. Upgrade AUR packages
3. Just download AUR package
4. Install previously donwloaded package
5. Delete donwloaded packages
6. Install packages nececary for using AUR
7. Exit"
while true; do
read SELECT
case "$SELECT" in
1) SELECT=aur_main;;
2) SELECT=aur_upd;;
3) SELECT=aur_down;;
4) SELECT=aur_down_inst;;
5) SELECT=aur_del_pck;;
6) SELECT=aur_inst;;
7) SELECT=exit;;
*) echo Invalid selection.; continue
esac
break
done
}
function aur_main {
echo "Remove build-time dependencies and clean temporary build files after the build :
1. Yes
2. No
3. Go back"
while true; do
read SELECT
case "$SELECT" in
1) SELECT=yes;;
2) SELECT=no;;
3) SELECT=main;;
*) echo Invalid selection.; continue
esac
break
done
}
function yes {
echo "Package name: "
read package
git clone https://aur.archlinux.org/$package.git
cd $package
makepkg -sirc
echo "************************"
echo "** Package installed. **"
echo "************************"
main
}
function no {
echo "Package name: "
read package
git clone https://aur.archlinux.org/$package.git
cd $package
makepkg -si
echo "************************"
echo "** Package installed. **"
echo "************************"
main
}
function aur_down_inst {
echo "Remove build-time dependencies and clean temporary build files after the build :
1. Yes
2. No
3. Go back"
while true; do
read SELECT
case "$SELECT" in
1) SELECT=down_inst_yes;;
2) SELECT=down_inst_no;;
3) SELECT=main;;
*) echo Invalid selection.; continue
esac
break
done
}
function down_inst_yes {
echo "Package name: "
read package
cd $package
makepkg -sirc
echo "************************"
echo "** Package installed. **"
echo "************************"
main
}
function down_inst_no {
echo "Package name: "
read package
cd $package
makepkg -si
echo "************************"
echo "** Package installed. **"
echo "************************"
main
}
function aur_upd {
echo "Remove build-time dependencies and clean temporary build files after the build :
1. Yes
2. No
3. Go back"
while true; do
read SELECT
case "$SELECT" in
1) SELECT=aur_upd_yes;;
2) SELECT=aur_upd_no;;
3) SELECT=main;;
*) echo Invalid selection.; continue
esac
break
done
}
function aur_upd_yes {
echo "Package name: "
read package
cd $package
git config pull.rebase false
git pull
makepkg -sirc
echo "**********************"
echo "** Package updated. **"
echo "**********************"
main
}
function aur_upd_no {
echo "Package name: "
read package
cd $package
git config pull.rebase false
git pull
makepkg -si
echo "**********************"
echo "** Package updated. **"
echo "**********************"
main
}
function aur_down {
echo "Package name: "
read package
git clone https://aur.archlinux.org/$package.git
echo "*************************"
echo "** Package downloaded. **"
echo "*************************"
main
}
function aur_del_pck {
echo "Package for deletion: "
read package
rm -rf $package
echo "*********************"
echo "** Package deleted **"
echo "*********************"
main
}
function aur_inst {
sudo pacman -S base-devel --needed
echo "***********"
echo "** Done **"
echo "***********"
main
}
main
while test $? -eq 0; do
$SELECT
done
Slobodno komentirajte ideje za poboljšanje fonkcionalnosti ili samog koda i slobodno komentirajte moje propuste ili greške u izradi skripte.
P.S. (dodatak nekoliko sati nakon postanja) Zaboravio sam napisati da skriptu, ako se koriste fukcije nadogradnje paketa ili instalacije prethodno preuzetih paketa, skriptu treba postaviti u mapu gdje se nalazi mapa paketa koji se želi instalirati ili nadograditi.