mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-25 08:25:29 +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:
 |