All pastes #1072882 Raw Edit

MacPorts recursive dependency re

public shellscript v1 · immutable
#1072882 ·published 2008-07-15 23:47 UTC
rendered paste body
#!/bin/bash## Outputs dependencies for MacPorts recursivly, each port and its dependencies# in a separate line.## Usage: ./deepdeps.sh <portname>## (c) Thomas Keller <me@thomaskeller.biz>## Licensed under GPLv3#if [ -z "$1" ]; then   echo "No argument given"   exit 1fideclare -a processed_depsfunction getDeps {	processed_deps[${#processed_deps[*]}]=$i	deps=`port deps $1 | egrep -v "^$1" | cut -f 2 | sort | uniq`	if [[ -z "$deps" ]]; then		echo "$(tput setaf 1)$1:$(tput setaf 9) none"		return	fi	echo "$(tput setaf 1)$1:$(tput setaf 9) ${deps/// }"	for i in $deps	do		j=0		while [ "$j" -lt "${#processed_deps[*]}" ]		do			if [ "$i" = "${processed_deps[$j]}" ]; then				return			fi			let "j = $j + 1"		done		getDeps $i;	done}getDeps $1