aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremmett1 <emmett1.2miligrams@protonmail.com>2024-07-13 10:31:03 +0800
committeremmett1 <emmett1.2miligrams@protonmail.com>2024-07-13 10:31:03 +0800
commit61a182784b5378c98589a6450b86fa1a5e4416de (patch)
tree221ac6406489deec3bb22e314ce9c0ee9ded33dc
parent73e405670670b4ff676d0fd26c4b9f9fdf63644c (diff)
downloadautils-61a182784b5378c98589a6450b86fa1a5e4416de.tar.gz
autils-61a182784b5378c98589a6450b86fa1a5e4416de.zip
updated
-rwxr-xr-xapkg7
-rwxr-xr-xapkg-redundantdeps44
2 files changed, 49 insertions, 2 deletions
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 <<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