From 61a182784b5378c98589a6450b86fa1a5e4416de Mon Sep 17 00:00:00 2001 From: emmett1 Date: Sat, 13 Jul 2024 10:31:03 +0800 Subject: updated --- apkg | 7 +++++-- apkg-redundantdeps | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 2 deletions(-) create mode 100755 apkg-redundantdeps diff --git a/apkg b/apkg index ef59b03..5508409 100755 --- a/apkg +++ b/apkg @@ -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 < + +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 -- cgit v1.2.3