nicpkg/nicpkg
2024-11-30 21:53:22 +01:00

51 lines
1.2 KiB
Bash
Executable file

#!/bin/sh
. /etc/nicpkg/config
Install() {
pkgAvail=()
for repo in "${repos[@]}"; do
y=$(curl -o /dev/null -s -w "%{http_code}\n" $repo/$1/$1.sh)
[[ $y = 200 ]] && pkgAvail+=($repo)
if [ ${repos[-1]} = $repo ] && [ ${#pkgAvail[@]} = 0 ]; then
echo "package not found"
return 0
fi
done
sex() {
cd /etc/nicpkg/pkgs; $root $downloader $1/$2/$2.sh; . /etc/nicpkg/pkgs/$2.sh; install
}
sexo() {
echo "package is available in:"
echo "==========================="
z=0
for x in ${pkgAvail[@]}; do
z=$(($z+1))
echo "$z - $x"
done
echo "==========================="
echo "from which repository do you want to install this package?"
read -p ": " choose
sex ${pkgAvail[(($choose-1))]} $e
}
[[ ${#pkgAvail[@]} = 1 ]] && sex ${pkgAvail[0]} $1
[[ ${#pkgAvail[@]} != 1 ]] && sexo
}
Uninstall() {
if [ ! -f /etc/nicpkg/pkgs/$1.sh ]; then
echo "package isn't installed"
return
fi
. /etc/nicpkg/pkgs/$1.sh; uninstall; sudo rm /etc/nicpkg/pkgs/$1.sh
echo "package removed"
}
case $1 in
"install" | "i") Install $2 ;;
"uninstall" | "u" | "r") Uninstall $2 ;;
*) printf "nicpkg is simple package manager wrote in sh\nthat's all what i had to say";;
esac