diff options
Diffstat (limited to 'meta/recipes-devtools/rpm/rpm/perfile_rpmdeps.sh')
-rwxr-xr-x | meta/recipes-devtools/rpm/rpm/perfile_rpmdeps.sh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/meta/recipes-devtools/rpm/rpm/perfile_rpmdeps.sh b/meta/recipes-devtools/rpm/rpm/perfile_rpmdeps.sh new file mode 100755 index 0000000000..b72c9f0265 --- /dev/null +++ b/meta/recipes-devtools/rpm/rpm/perfile_rpmdeps.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +: ${RPMDEPS:=rpmdeps} + +process() { + while read file_name ; do + printf "%s\t" ${file_name} + if [ ! -d $file_name ]; then + printf "%s " $($RPMDEPS $1 $file_name | sed -e 's,rpmlib(.*,,' -e 's,\([<>\=]\+ \+[^ ]*\),(\1),g') + fi + printf "\n" + done +} + +usage() { + echo "$0 {-P|--provides} {-R|--requires} FILE ..." +} + +while [ $# -gt 0 ]; do + case "$1" in + --rpmdeps) + RPMDEPS=$2 + shift + shift + ;; + -R|--requires) + process_type=--requires + shift + ;; + -P|--provides) + process_type=--provides + shift + ;; + *) + break; + ;; + esac +done + +if [ -z "$process_type" ]; then + usage + exit 1 +fi + +if [ $# -gt 0 ]; then + find "$@" | process $process_type + exit $? +fi + +process $process_type |