diff options
| author | emmett1 <emmett1.2miligrams@protonmail.com> | 2024-07-13 10:31:03 +0800 |
|---|---|---|
| committer | emmett1 <emmett1.2miligrams@protonmail.com> | 2024-07-13 10:31:03 +0800 |
| commit | 61a182784b5378c98589a6450b86fa1a5e4416de (patch) | |
| tree | 221ac6406489deec3bb22e314ce9c0ee9ded33dc | |
| parent | 73e405670670b4ff676d0fd26c4b9f9fdf63644c (diff) | |
| download | autils-61a182784b5378c98589a6450b86fa1a5e4416de.tar.gz autils-61a182784b5378c98589a6450b86fa1a5e4416de.zip | |
updated
| -rwxr-xr-x | apkg | 7 | ||||
| -rwxr-xr-x | apkg-redundantdeps | 44 |
2 files changed, 49 insertions, 2 deletions
@@ -832,8 +832,11 @@ main() { elif [ "$upgrade" ]; then SPM_ROOT=${APKG_ROOT%/} spm -u "$packagefile" || exit $? fi - # run postinstall script after installed/upgraded - runscript post + + if [ "$install" ] || [ "$upgrade" ]; then + # run postinstall script after installed/upgraded + runscript post + fi pkg_trigger $name } diff --git a/apkg-redundantdeps b/apkg-redundantdeps new file mode 100755 index 0000000..1afdce9 --- /dev/null +++ b/apkg-redundantdeps @@ -0,0 +1,44 @@ +#!/bin/sh +# +# find redundant dependencies + +print_help() { + cat <<EOF +usage: + $0 [-f] <pkgs> + +options: + -f fix (remove) redundant pkg from depends + +EOF +exit 0 +} + +if [ "$1" ]; then + while [ "$1" ]; do + case $1 in + -f) fix=1;; + -h) print_help;; + *) pkg="$pkg $1";; + esac + shift + done +fi + +[ "$pkg" ] || pkg=$(apkg -s) + +for i in $pkg; do + [ "$(apkg -d $i )" ] || continue + for d in $(apkg -d $i); do + for dd in $(apkg -d $i); do + [ "$dd" = "$d" ] && continue + [ "$(apkg -D $d | grep -x $dd)" ] && { + echo "[$i] $dd (already pulled from $d)" + if [ "$fix" ]; then + sed -i "/^$dd$/d" $(apkg -p $i)/depends + echo " $dd is removed from $i depends" + fi + } + done + done +done |