mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-04 05:12:30 +00:00 
			
		
		
		
	git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@1942 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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:
 |