python: do not install the IDLE editor
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 28 Jun 2014 21:52:22 +0000 (23:52 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 1 Jul 2014 12:57:34 +0000 (14:57 +0200)
IDLE is the Python IDE built with the tkinter GUI toolkit, for which
the main script has always been removed from the target (so it was
never usable in Buildroot). However, we were still installing about
800 to 900 KB of .pyc files used only by the idle editor. This commit
adds a Python patch that completely gets rid of the
compilation/installation of the idle editor. As a consequence, it is
no longer needed to manually remove the 'idle' program from the
target in python.mk.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/python/python-114-remove-idle-editor.patch [new file with mode: 0644]
package/python/python.mk

diff --git a/package/python/python-114-remove-idle-editor.patch b/package/python/python-114-remove-idle-editor.patch
new file mode 100644 (file)
index 0000000..0f73677
--- /dev/null
@@ -0,0 +1,43 @@
+Do not install the idle editor
+
+IDLE is the Python IDE built with the tkinter GUI toolkit. Since it's
+highly unlikely to ever be useful in an embedded Linux system
+generated by Buildroot, this patch simply disables the installation of
+idle and the related Python modules. It saves 800 KB-900 KB of
+installed .pyc files.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/Makefile.pre.in
+===================================================================
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -934,7 +934,6 @@
+               json \
+               logging csv importlib wsgiref \
+               ctypes ctypes/macholib \
+-              idlelib idlelib/Icons \
+               distutils distutils/command \
+               multiprocessing multiprocessing/dummy \
+               unittest \
+@@ -949,7 +948,6 @@
+       email/test email/test/data \
+       json/tests \
+       ctypes/test \
+-      idlelib/idle_test \
+       distutils/tests \
+       unittest/test
+Index: b/setup.py
+===================================================================
+--- a/setup.py
++++ b/setup.py
+@@ -2218,7 +2218,7 @@
+     import warnings
+     warnings.filterwarnings("ignore",category=DeprecationWarning)
+-    scripts = ['Tools/scripts/idle', 'Lib/smtpd.py']
++    scripts = ['Lib/smtpd.py']
+     if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"):
+         scripts += [ 'Tools/scripts/pydoc' ]
+     if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"):
index c00571248829446e1a8d538e0a58c828e608e0e9..532e120a4b5e8a893d29ed80ac68ba38a14e64cb 100644 (file)
@@ -153,7 +153,6 @@ PYTHON_POST_PATCH_HOOKS += PYTHON_TOUCH_GRAMMAR_FILES
 # idle & smtpd.py have bad shebangs and are mostly samples
 #
 define PYTHON_REMOVE_USELESS_FILES
-       rm -f $(TARGET_DIR)/usr/bin/idle
        rm -f $(TARGET_DIR)/usr/bin/python$(PYTHON_VERSION_MAJOR)-config
        rm -f $(TARGET_DIR)/usr/bin/python2-config
        rm -f $(TARGET_DIR)/usr/bin/python-config