]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blobdiff - pakfire/patches/0006-python-Byte-compile-all-files-in-sitelib.patch
pakfire: Update 0.9.24.
[people/ms/ipfire-3.x.git] / pakfire / patches / 0006-python-Byte-compile-all-files-in-sitelib.patch
diff --git a/pakfire/patches/0006-python-Byte-compile-all-files-in-sitelib.patch b/pakfire/patches/0006-python-Byte-compile-all-files-in-sitelib.patch
deleted file mode 100644 (file)
index 070aa47..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-From e9e430d4fd5b09327f57651726ffac1b7874ae01 Mon Sep 17 00:00:00 2001
-From: Michael Tremer <michael.tremer@ipfire.org>
-Date: Wed, 3 Oct 2012 00:45:11 +0200
-Subject: [PATCH 6/6] python: Byte-compile all files in sitelib.
-
-For files which are located elsewhere, it is required
-to call:
-  python_bytecompile <path1> <path2>... (Python 2)
-or
-  python3_bytecompile <path1> <path2>... (Python 3)
----
- macros/build.macro  | 12 ++++++-
- macros/python.macro |  3 ++
- tools/py-compile    | 90 +++++++++++++++++++++++++++++------------------------
- 3 files changed, 64 insertions(+), 41 deletions(-)
-
-diff --git a/macros/build.macro b/macros/build.macro
-index 6987068..4e4d830 100644
---- a/macros/build.macro
-+++ b/macros/build.macro
-@@ -46,7 +46,17 @@ def MACRO_INSTALL_LOGROTATE_FILES
- end
- def MACRO_PYTHON_COMPILE
--      # XXX TODO
-+      if [ -x "%{python3}" ]; then
-+              %{python3_bytecompile} \
-+                      %{BUILDROOT}%{python3_sitearch} \
-+                      %{BUILDROOT}%{python3_sitelib}
-+      fi
-+
-+      if [ -x "%{python}" ]; then
-+              %{python_bytecompile} \
-+                      %{BUILDROOT}%{python_sitearch} \
-+                      %{BUILDROOT}%{python_sitelib}
-+      fi
- end
- MACRO_PERL_CLEANUP
-diff --git a/macros/python.macro b/macros/python.macro
-index 1b417f2..15c1209 100644
---- a/macros/python.macro
-+++ b/macros/python.macro
-@@ -1,7 +1,9 @@
- # A bunch of predefined things for Python.
-+python_bytecompile_script = /usr/lib/pakfire/py-compile
- # Python 3 constants.
- python3 = /usr/bin/python3
-+python3_bytecompile = %{python_bytecompile_script} --python=%{python3}
- python3_sitearch = %(%{python3} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")
- python3_sitelib  = %(%{python3} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
-@@ -9,6 +11,7 @@ python3_version  = %(%{python3} -c "import sys; sys.stdout.write(sys.version[:3]
- # Python 2 constants.
- python = /usr/bin/python2
-+python_bytecompile = %{python_bytecompile_script} --python=%{python}
- python_sitearch = %(%{python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")
- python_sitelib  = %(%{python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
-diff --git a/tools/py-compile b/tools/py-compile
-index 66c33ed..5ccd8f9 100755
---- a/tools/py-compile
-+++ b/tools/py-compile
-@@ -1,48 +1,58 @@
- #!/bin/sh
--PYTHON=$(which python 2>/dev/null)
-+python_interpreter="python"
-+paths=""
-+
-+while [ $# -gt 0 ]; do
-+      case "${1}" in
-+              --python=*)
-+                      python_interpreter=${1#--python=}
-+                      ;;
-+              *)
-+                      paths="${paths} ${1}"
-+                      ;;
-+      esac
-+      shift
-+done
--if [ -z "${PYTHON}" ]; then
--      # Python is not present. Fail silently.
--      exit 0
-+if [ -z "${paths}" ]; then
-+      echo >&2 "No path specified!"
-+      exit 1
- fi
--files=""
--for i in $*; do
--      if [ -e ${i}c ] && [ -e ${i}o ]; then
--              continue # all files we want are already there
--      fi
--      files="$files $i"
--done
-+if [ "${python_interpreter:0:1}" != "/" ]; then
-+      python_interpreter=$(which ${python_interpreter} 2>/dev/null)
-+fi
--if [ -z "${files}" ]; then
--      # No files need to be proceeded.
--      exit 0
-+if [ ! -x "${python_interpreter}" ]; then
-+      echo >&2 "Python interpreter is not executable: ${python_interpreter}"
-+      exit 1
- fi
--$PYTHON -c "
--import sys, os, string, py_compile
--
--files = '''$files'''
--print 'Byte-compiling python modules...'
--for file in string.split(files):
--    if not os.path.exists(file) or not (len(file) >= 3 and file[-3:] == '.py'):
--        continue
--    print file,
--    sys.stdout.flush()
--    py_compile.compile(file)
--print" || exit $?
--
--# this will fail for python < 1.5, but that doesn't matter ...
--$PYTHON -O -c "
--import sys, os, string, py_compile
--
--files = '''$files'''
--print 'Byte-compiling python modules (optimised versions) ...'
--for file in string.split(files):
--    if not os.path.exists(file) or not (len(file) >= 3 and file[-3:] == '.py'):
--        continue
--    print file,
--    sys.stdout.flush()
--    py_compile.compile(file)
--print" 2>/dev/null || :
-+tempfile=$(mktemp)
-+trap "rm -f ${tempfile}" EXIT
-+
-+cat > ${tempfile} <<EOF
-+import py_compile
-+import sys
-+
-+for file in sys.argv[1:]:
-+      py_compile.compile(file, doraise=0)
-+EOF
-+
-+filelist=$(find ${paths} -type f -a -name "*.py")
-+
-+# Compile with optimization.
-+${python_interpreter} -O ${tempfile} ${filelist}
-+
-+# Compile without optimization.
-+${python_interpreter} ${tempfile} ${filelist}
-+
-+# Hardlink identical files.
-+for pyc in $(find ${paths} -type f -a -name "*.pyc"); do
-+      pyo="${pyc/.pyc/.pyo}"
-+
-+      if cmp -s "${pyc}" "${pyo}"; then
-+              ln -f "${pyc}" "${pyo}"
-+      fi
-+done
--- 
-1.7.11.4
-