#!/bin/bash # # IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html # # Author: Isaac Freeman # # Make some wild guesses about what debian perl modules a package requires. # Seems to work so far for xCAT. # # Scans the current directory. # found="" # Warning: voodoo ahead find . -name .svn -prune -o -type f \ | xargs grep -l '^#!.*perl' \ | xargs grep -hE '^\s*(use|require) ' \ | while read mod; do pkg=$( awk '{ sub(";", "", $2); gsub("::", "-", $2); print $2 }' <<<"$mod" \ | tr '[:upper:]' '[:lower:]' ) pkgname="lib${pkg}-perl" if apt-cache show $pkgname >/dev/null 2>&1; then case "$found" in *$pkgname*) continue ;; *) [ -n "$found" ] && echo -n ", " echo -n "$pkgname" found="$found $pkgname" ;; esac elif perl <<<"$mod" >/dev/null 2>&1; then # Blindly assume that if perl doesn't complain about this, that its # built-in to or ships with perl. continue elif [ "$1" == "-w" ]; then echo echo "warning: $pkg not found and perl doesn't like \"$mod\"" >&2 fi done echo # vim: set sts=2 sw=2 et: