From 6e8bdba73fbe79141f8cf9e6168bf9490205b984 Mon Sep 17 00:00:00 2001 From: TolaMironcenko Date: Tue, 14 Jan 2025 23:33:13 +0700 Subject: [PATCH] updated and hot fixes --- src/pm | 70 ++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 48 insertions(+), 22 deletions(-) diff --git a/src/pm b/src/pm index 68c7533..c8afe34 100755 --- a/src/pm +++ b/src/pm @@ -55,31 +55,41 @@ checkroot #----------------- add(install) package function ------------------------ add() { + shift 1 if [[ "$1" == "" ]]; then help exit 0 fi - for i in $*; do - if [[ "$i" == "add" ]]; then - continue - fi - + for i in $@; do + case $i in + add|a) + continue + ;; + esac done - for i in $*; do - if [[ "$i" == "add" ]]; then - continue - fi - down $i + for i in $@; do + case $i in + add|a) + continue + ;; + *) + down $i + ;; + esac done - for i in $*; do - if [[ "$i" == "add" ]]; then - continue - fi - unpack $cachedpkgdir/$i.pkg.gz + for i in $@; do + case $i in + add|a) + continue + ;; + *) + unpack $cachedpkgdir/$i.pkg.gz + ;; + esac done } a() { - add $* + add $@ } #------------------------------------------------------------------------ @@ -93,7 +103,7 @@ down() { check $? "Read repositories" for i in $servers; do serverdir=$(echo $i | sed -e "/http:\/\//s///") - serverdir=$(echo $i | sed -e "/ftp:\/\//s///") + serverdir=$(echo $serverdir | sed -e "/ftp:\/\//s///") repoquery=$(/usr/bin/cat $reposquerydir/$serverdir/query | sed -e '/.pkg.gz/s///') for j in $repoquery; do if [[ $j == $1 ]]; then @@ -112,7 +122,7 @@ down() { printf "$YELLOW**$GREEN successful downloaded $1\n$RESET" return fi - # exit 0 + return fi done done @@ -186,7 +196,12 @@ d() { #------------------- list files in package function --------------------- list() { if [[ "$1" == "" ]]; then - help + for i in $(/usr/bin/cat $packagesqueryfile); do + filelist=$(/usr/bin/cat $installedpackagesdir/$i.pkg/list) + for j in $filelist; do + printf "$YELLOW$i: $BWHITE$j$RESET\n" + done + done exit 0 fi if [[ "$(/usr/bin/cat $packagesqueryfile | grep $1)" == "" ]]; then @@ -251,12 +266,18 @@ help() { sync() { servers=$(/usr/bin/cat $repofile) for i in $servers; do + printf "$YELLOW**$GREEN Sync $BWHITE$i\n$RESET" + # echo "$i" serverdir=$(echo $i | sed -e "/http:\//s///") - serverdir=$(echo $i | sed -e "/ftp:\//s///") + serverdir=$(echo $serverdir | sed -e "/ftp:\//s///") mkdir -p $reposquerydir/$serverdir &> /dev/null wget $i/query -O $reposquerydir/$serverdir/query &> /dev/null + check $? "Sync $i" done } +s() { + sync +} #------------------------------------------------------------------------ #----------------- search package in repo function ---------------------- @@ -265,6 +286,7 @@ search() { if [[ ! $1 ]]; then for i in $servers; do serverdir=$(echo $i | sed -e "/http:\/\//s///") + serverdir=$(echo $serverdir | sed -e "/ftp:\/\//s///") repoquery=$(/usr/bin/cat $reposquerydir/$serverdir/query | sed -e '/.pkg.gz/s///') for j in $repoquery; do printf "$YELLOW$serverdir: $BWHITE$j\n$RESET" @@ -275,6 +297,7 @@ search() { for i in $servers; do serverdir=$(echo $i | sed -e "/http:\/\//s///") + serverdir=$(echo $serverdir | sed -e "/ftp:\/\//s///") repoquery=$(/usr/bin/cat $reposquerydir/$serverdir/query | sed -e '/.pkg.gz/s///') for j in $repoquery; do if [[ $j == $1 ]]; then @@ -285,6 +308,9 @@ search() { done printf "$YELLOW**$RED error:$RESET can't find package ($1)\n" } +ss() { + search +} #------------------------------------------------------------------------ #------------------- clear cached packages directory -------------------- @@ -295,9 +321,9 @@ clear() { case "$1" in add|a|del|d) - "$1" $* + "$1" $@ ;; - query|q|help|sync|clear|search|list|l|unpack|u|down|download) + query|q|help|s|sync|clear|ss|search|list|l|unpack|u|down|download) "$1" $2 ;; *)