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