tdeptree returns single dependencies to packages (on archlinux) - scripts - various script and utils
(HTM) git clone git://z3bra.org/scripts
(DIR) Log
(DIR) Files
(DIR) Refs
---
(DIR) commit 9b07274c556094ebc9a312d915a23585c3867ec1
(DIR) parent dfc09a32b2fbf50723256aa947c1f9c9fad3629c
(HTM) Author: z3bra <willy@mailoo.org>
Date: Tue, 25 Mar 2014 08:23:26 +0100
deptree returns single dependencies to packages (on archlinux)
Diffstat:
A deptree.sh | 47 +++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/deptree.sh b/deptree.sh
t@@ -0,0 +1,47 @@
+#!/bin/bash
+#
+# (c) wtfpl by z3bra
+# deptree; List dependencies that are installed ONLY for <packages>
+
+
+test $# -ne 1 && echo "`basename $0 <package>`" && exit 1
+
+deplist=''
+level=0
+
+# needless to bother with any f**king locale here
+export LC_ALL=en_US
+
+indent() {
+ for i in `seq 0 $1`; do
+ echo -n ' '
+ done
+}
+
+dependent() {
+ IFS=' ><=' read pkg version<<< "$1"
+
+ exec 2>/dev/null
+ dep=`pacman -Qi $pkg | grep 'Required By' | sed 's/^.*: //'`
+ opt=`pacman -Qi $pkg | grep 'Optional Deps' | sed 's/^.*: //'`
+
+ test "$dep" = "None" && echo $opt || echo $dep
+}
+
+deplist() {
+ IFS=' ><=' read pkg version<<< "$1"
+
+ exec 2>/dev/null
+ pacman -Qi $pkg | grep 'Depends On' | sed 's/^.*: //' | grep -Ev 'None|--'
+}
+
+listdep() {
+ list=`deplist $1 | sed 's/[<>=]*[.0-9]*//g'`
+
+ for pkg in $list; do
+ isdep=`dependent $pkg`
+ test "$1" = "$isdep" && echo $pkg
+ done
+}
+
+listdep $1