home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / rescue / usr / lib / rpm / brp-python-bytecompile < prev    next >
Text File  |  2006-11-29  |  949b  |  27 lines

  1. #!/bin/sh
  2.  
  3. # If using normal root, avoid changing anything.
  4. if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
  5.     exit 0
  6. fi
  7.  
  8. # If we don't have a python interpreter, avoid changing anything.
  9. python=${1:-/usr/bin/python}
  10. if [ ! -x "$python" ]; then
  11.     exit 0
  12. fi
  13.  
  14. # Figure out how deep we need to descend.  We could pick an insanely high
  15. # number and hope it's enough, but somewhere, somebody's sure to run into it.
  16. depth=`(find $RPM_BUILD_ROOT -type f -name "*.py" -print0 ; echo /) | \
  17.        xargs -0 -n 1 dirname | sed 's,[^/],,g' | sort -u | tail -n 1 | wc -c`
  18. if [ -z "$depth" -o "$depth" -le "1" ]; then
  19.     exit 0
  20. fi
  21.  
  22. # Generate normal (.pyc) byte-compiled files.
  23. $python    -c 'import compileall; compileall.compile_dir("'"$RPM_BUILD_ROOT"'", '"$depth"', "/", 1)' > /dev/null
  24.  
  25. # Generate optimized (.pyo) byte-compiled files.
  26. $python -O -c 'import compileall; compileall.compile_dir("'"$RPM_BUILD_ROOT"'", '"$depth"', "/", 1)' > /dev/null
  27.