aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremmett1 <emmett1.2miligrams@protonmail.com>2025-02-02 15:06:46 +0800
committeremmett1 <emmett1.2miligrams@protonmail.com>2025-02-02 15:06:46 +0800
commit3c0a85b5e45410836441d6957c68d1784f15a1f0 (patch)
treed9f16a0aea1f7e5e33bcc0dbb1d761e095606b82
parent983028a94de29839e1015bd43200079a37e5717e (diff)
downloadautils-3c0a85b5e45410836441d6957c68d1784f15a1f0.tar.gz
autils-3c0a85b5e45410836441d6957c68d1784f15a1f0.zip
added (-v) verbose option
-rwxr-xr-xapkg46
1 files changed, 40 insertions, 6 deletions
diff --git a/apkg b/apkg
index e888483..ea92e55 100755
--- a/apkg
+++ b/apkg
@@ -514,8 +514,19 @@ pkg_search() {
msg "No repo configured."
exit 1
fi
- [ "$1" ] && grep=grep || grep=cat
- find $APKG_REPO -type f -name abuild 2>/dev/null | sed 's|/abuild||' | rev | awk -F / '{print $1}' | rev | $grep $1
+ if [ "$pkg" ]; then
+ for p in $pkg; do
+ grep="$grep -e $p"
+ done
+ grep="grep $grep"
+ else
+ grep=cat
+ fi
+ [ "$verbose" ] && {
+ find $APKG_REPO -type f -name abuild 2>/dev/null | sed 's|/abuild||' | rev | awk -F / '{print $1}' | rev | $grep | while read line; do printf "$line "; awk -F'=' '/^version/ {print $2}' $($APKG -p $line)/abuild ; done
+ } || {
+ find $APKG_REPO -type f -name abuild 2>/dev/null | sed 's|/abuild||' | rev | awk -F / '{print $1}' | rev | $grep
+ }
}
pkg_depinstalll() {
@@ -661,8 +672,19 @@ pkg_trigger() {
}
pkg_allinstalled() {
- [ "$1" ] && grep="grep $1" || grep=cat
- ls -1 $SPM_PKGDB | $grep
+ if [ "$pkg" ]; then
+ for p in $pkg; do
+ grep="$grep -e $p"
+ done
+ grep="grep $grep"
+ else
+ grep=cat
+ fi
+ [ "$verbose" ] && {
+ ls -1 $SPM_PKGDB | $grep | while read line; do printf "$line "; head -n1 $SPM_PKGDB/$line ; done
+ } || {
+ ls -1 $SPM_PKGDB | $grep
+ }
}
checksum_src() {
@@ -791,10 +813,10 @@ parseopts() {
-t) pkg_trigger "$(parsesubopt "$@")"; exit 0;;
-U) pkg_sysup; exit 0;;
-d) pkg_depends "$2"; exit 0;;
- -s) pkg_search "$2"; exit 0;;
+ -s) search=1;;
-S) pkg_fsearch "$2"; exit 0;;
-j) pkg_dependents "$2"; exit 0;;
- -a) pkg_allinstalled "$2"; exit 0;;
+ -a) allinstalled=1;;
-h) apkg_help; exit 0;;
-l) pkg_outdate; exit 0;;
-g) updatecsum=1;;
@@ -803,6 +825,7 @@ parseopts() {
-i) install=1;;
-u) upgrade=1;;
-o) downloadonly=1;;
+ -v) verbose=1;;
-*) msg "invalid option '$1'"; exit 1;;
*) pkg="$pkg $1";;
esac
@@ -831,6 +854,7 @@ options:
-k <pkg> update package files
-s <pattern> search packages
-S <pattern> search files
+ -v be verbose
-h print this help message
environment variables:
@@ -847,6 +871,16 @@ main() {
parseopts "$@"
set -- $(updateopts "$@")
+ if [ "$search" ]; then
+ pkg_search $@
+ exit 0
+ fi
+
+ if [ "$allinstalled" ]; then
+ pkg_allinstalled $@
+ exit 0
+ fi
+
for d in $APKG_PACKAGE_DIR $APKG_SOURCE_DIR $APKG_WORK_DIR $APKG_LOG_DIR; do
[ -d "$d" ] || { msg "Directory '$d' not exist"; exit 1; }
[ -w "$d" ] || { msg "Directory '$d' dont have write access"; exit 1; }