diff options
| author | emmett1 <emmett1.2miligrams@protonmail.com> | 2025-02-02 15:06:46 +0800 |
|---|---|---|
| committer | emmett1 <emmett1.2miligrams@protonmail.com> | 2025-02-02 15:06:46 +0800 |
| commit | 3c0a85b5e45410836441d6957c68d1784f15a1f0 (patch) | |
| tree | d9f16a0aea1f7e5e33bcc0dbb1d761e095606b82 /apkg | |
| parent | 983028a94de29839e1015bd43200079a37e5717e (diff) | |
| download | autils-3c0a85b5e45410836441d6957c68d1784f15a1f0.tar.gz autils-3c0a85b5e45410836441d6957c68d1784f15a1f0.zip | |
added (-v) verbose option
Diffstat (limited to 'apkg')
| -rwxr-xr-x | apkg | 46 |
1 files changed, 40 insertions, 6 deletions
@@ -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; } |