more python enhancements
PATCH 1/1 more python enhancements
Here's another improvement to the Python package.
1. Don't install the development headers, tools and static library into the target system unless new configuration item is enabled.
2. Always install the development headers etc into the staging_dir, so they can be used to build extension modules.
Hamish
Signature · 8 lines
Hamish Moffatt VK3SB <[email protected]> <[email protected]> -------------- next part -------------- A non-text attachment was scrubbed... Name: br-python2.patch Type: text/x-diff Size: 2725 bytes Desc: not available Url : http://busybox.net/lists/buildroot/attachments/20080118/e3319227/attachment.bin
PATCH 1/1 more python enhancements
Quoted 26 lines · Hamish Moffatt
Here's another improvement to the Python package.
1. Don't install the development headers, tools and static library into the target system unless new configuration item is enabled.
2. Always install the development headers etc into the
staging_dir, so they can be used to build extension modules.Hamish
Signature · 4 lines
Hamish Moffatt VK3SB <[email protected]> <[email protected]> Index: python.mk ===================================================================python.mk +0
-0@@ -4,6 +4,7 @@ # #############################################################PYTHON_VERSION=2.4.2
+PYTHON_VERSION_SHORT=2.4 PYTHON_SOURCE:=Python-$(PYTHON_VERSION).tar.bz2 PYTHON_SITE:=http://python.org/ftp/python/$(PYTHON_VERSION) PYTHON_DIR:=$(BUILD_DIR)/Python-$(PYTHON_VERSION)
python.mk line 141
Quoted 6 lines
python.mk +2
-1@@ -136,16 +137,36 @@ find $(TARGET_DIR)/usr/lib/ -name '*.pyo' -exec rm {} \; && \ rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc \ - $(TARGET_DIR)/usr/lib/python*/test + $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/test + cp -a $(TARGET_DIR)/usr/include/python$(PYTHON_VERSION_SHORT) $(STAGING_DIR)/usr/include/
NO.
There is no portable "cp -a", either use $(INSTALL) which would be preferred or if nothing else helps cp -dpf
python.mk line 143
Quoted 2 lines
python.mk +2
-0+ mkdir -p $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT) + cp -a $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/config $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/
$(INSTALL) -D
Quoted 24 lines
python.mk +1
-0+ ifeq ($(BR2_PACKAGE_PYTHON_PY_ONLY),y) find $(TARGET_DIR)/usr/lib/ -name '*.pyc' -exec rm {} \;endif
ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y)find $(TARGET_DIR)/usr/lib/ -name '*.py' -exec rm {} \;endif
python.mk +14
-0+ifneq ($(BR2_PACKAGE_PYTHON_DEV),y) + rm -rf $(TARGET_DIR)/usr/include/python$(PYTHON_VERSION_SHORT) + rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/config + find $(TARGET_DIR)/usr/lib/ -name '*.py' -exec rm {} \; +endif +ifneq ($(BR2_PACKAGE_PYTHON_BSDDB),y) + rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/bsddb +endif +ifneq ($(BR2_PACKAGE_PYTHON_CURSES),y) + rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/curses +endif +ifneq ($(BR2_PACKAGE_PYTHON_TKINTER),y) + rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/lib-tk +endifpython: uclibc $(PYTHON_DEPS) $(TARGET_DIR)/$(PYTHON_TARGET_BINARY)
python.mk
Quoted 2 lines
python.mk +2
-0+python-test: + @echo Version = $(PYTHON_VERSION)
What's that supposed to do? remove this, please.
Quoted 8 lines
python-clean:
-$(MAKE) -C $(PYTHON_DIR) distclean rm $(PYTHON_DIR)/.configured $(TARGET_DIR)/$(PYTHON_TARGET_BINARY)Index: Config.in
===================================================================
Config.in line 15
Quoted 10 lines
Config.in +7
-0@@ -6,6 +6,14 @@ http://www.python.org/ +config BR2_PACKAGE_PYTHON_DEV + depends on BR2_PACKAGE_PYTHON + bool "development files on target" + default n + help + If enabled, development files (headers and static libpython) will be + installed on the target.
It would be saner to have this as one central know like i did for HAVE_{MAN,INFO}PAGES, fwiw (at least that's what i have in my tree).
regards,
PATCH 1/1 more python enhancements
Quoted 6 lines · Bernhard Fischer
Review
Quoted 1 line · Hamish Moffatt
(quoted diff) +1
-0+ cp -a $(TARGET_DIR)/usr/include/python$(PYTHON_VERSION_SHORT) $(STAGING_DIR)/usr/include/NO.
There is no portable "cp -a", either use $(INSTALL) which would be preferred or if nothing else helps cp -dpf
Portability is a nice goal but I think the horse has already bolted. There's a ton of packages using "cp -a" already. Do you think there is much chance of building on a non-GNU system?
"cp -dpf" doesn't do directories. Need -dpr.
Quoted 4 lines
Review
Quoted 2 lines
(quoted diff) +2
-0+ mkdir -p $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT) + cp -a $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/config $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/$(INSTALL) -D
install doesn't seem to copy whole directories in any circumstance, which config is (hence the cp -a).
[10:56AM] hamish at bach:~/tmp $ mkdir testdir [10:56AM] hamish at bach:~/tmp $ install -D testdir installtest
install: omitting directory `testdir'
Quoted 4 lines
Review
Quoted 2 lines
(quoted diff) +2
-0+python-test: + @echo Version = $(PYTHON_VERSION)What's that supposed to do? remove this, please.
Will do, thanks.
Quoted 1 line
Quoted 1 line
+config
BR2_PACKAGE_PYTHON_DEV
[..]
Quoted 2 lines
It would be saner to have this as one central know like i did for HAVE_{MAN,INFO}PAGES, fwiw (at least that's what i have in my tree).
True. Do you want to create an item in the top-level Config.in? I will happily amend the python package to use it.
New patch attached.
cheers,
Hamish
$ grep "cp -a" */*.mk acpid/acpid.mk: cp -a $(ACPID_DIR)/acpid $(TARGET_DIR)/usr/sbin/acpid atk/atk.mk: cp -a $(STAGING_DIR)/lib/libatk-1.0.so $(TARGET_DIR)/lib/ atk/atk.mk: cp -a $(STAGING_DIR)/lib/libatk-1.0.so.0* $(TARGET_DIR)/lib/ avahi/avahi.mk: cp -af $(STAGING_DIR)/etc/avahi/avahi-autoipd.action $(TARGET_DIR)/etc/avahi/ avahi/avahi.mk: cp -af $(BASE_DIR)/package/avahi/busybox-udhcpc-default.script $(TARGET_DIR)/usr/share/udhcpc/default.script avahi/avahi.mk: cp -af $(BASE_DIR)/package/avahi/S05avahi-setup.sh $(TARGET_DIR)/etc/init.d/ avahi/avahi.mk: cp -af $(STAGING_DIR)/etc/avahi/avahi-daemon.conf $(TARGET_DIR)/etc/avahi/ avahi/avahi.mk: cp -af $(BASE_DIR)/package/avahi/S50avahi-daemon $(TARGET_DIR)/etc/init.d/ berkeleydb/berkeleydb.mk: cp -a $(STAGING_DIR)/lib/libdb*so* $(TARGET_DIR)/lib/ bind/bind.mk: cp -a libdns*so* libisc*so* libbind9*so* \ bison/bison.mk: cp -a package/bison/yacc $(TARGET_DIR)/usr/bin/yacc bridge/bridge.mk: cp -af $(BRIDGE_BUILD_DIR)/brctl/brctl $(TARGET_DIR)/$(BRIDGE_TARGET_BINARY) bridge/bridge.mk: #cp -af $(BRIDGE_BUILD_DIR)/brctl/brctld $(TARGET_DIR)/usr/sbin/ cairo/cairo.mk: cp -a $(STAGING_DIR)/lib/libcairo.so $(TARGET_DIR)/lib/ cairo/cairo.mk: cp -a $(STAGING_DIR)/lib/libcairo.so.2* $(TARGET_DIR)/lib/ curl/curl.mk: cp -a $(CURL_DESTDIR)/lib/libcurl.so* $(TARGET_DIR)/usr/lib curl/curl.mk: cp -a $(CURL_DESTDIR)/bin/$(CURL_BINARY) $(TARGET_DIR)/usr/bin customize/customize.mk: cp -af $(CUST_DIR)/$$f $(TARGET_DIR)/$$f; \ dash/dash.mk: cp -a $(DASH_DIR)/$(DASH_BINARY) $(TARGET_DIR)/$(DASH_TARGET_BINARY) dbus-glib/dbus-glib.mk: cp -a $(DBUS_GLIB_DIR)/dbus/.libs/libdbus-glib-1.so* $(STAGING_DIR)/usr/lib dbus-glib/dbus-glib.mk: cp -a $(DBUS_GLIB_DIR)/dbus/.libs/libdbus-glib-1.so.2* $(TARGET_DIR)/usr/lib dbus-glib/dbus-glib.mk: cp -a $(DBUS_GLIB_DIR)/dbus/.libs/dbus-binding-tool $(TARGET_DIR)/usr/bin fontconfig/fontconfig.mk: cp -a $(STAGING_DIR)/usr/bin/fc-cache $(TARGET_DIR)/usr/bin/ fontconfig/fontconfig.mk: cp -a $(STAGING_DIR)/usr/bin/fc-list $(TARGET_DIR)/usr/bin/ grep/grep.mk: cp -a $(GNUGREP_DIR)/src/grep $(GNUGREP_DIR)/src/egrep \ gtk2-engines/gtk2-engines.mk: cp -a $(STAGING_DIR)/lib/gtk-2.0/2.10.0/engines/*.so \ gtk2-engines/gtk2-engines.mk: cp -a $(STAGING_DIR)/usr/share/themes/Clearlooks \ hostapd/hostapd.mk: cp -af $(BASE_DIR)/package/hostapd/defconfig $(HOSTAPD_DIR)/hostapd/.config hostapd/hostapd.mk: cp -af $(HOSTAPD_DIR)/hostapd/hostapd $(TARGET_DIR)/usr/sbin/ hostapd/hostapd.mk: cp -af $(HOSTAPD_DIR)/hostapd/hostapd_cli $(TARGET_DIR)/usr/sbin/ hostap/hostap.mk: cp -af $(HOSTAP_DIR)/driver/etc/hostap_cs.conf $(TARGET_DIR)/etc/pcmcia/ hostap/hostap.mk: cp -af $(HOSTAP_DIR)/utils/hostap_crypt_conf $(TARGET_DIR)/usr/bin/ hostap/hostap.mk: cp -af $(HOSTAP_DIR)/utils/hostap_diag $(TARGET_DIR)/usr/bin/ hostap/hostap.mk: cp -af $(HOSTAP_DIR)/utils/prism2_param $(TARGET_DIR)/usr/bin/ hostap/hostap.mk: cp -af $(HOSTAP_DIR)/utils/prism2_srec $(TARGET_DIR)/usr/bin/ hostap/hostap.mk: cp -af $(HOSTAP_DIR)/hostapd/hostapd $(TARGET_DIR)/usr/sbin/ hwdata/hwdata.mk: cp -a $(HWDATA_DIR)/pci.ids $(TARGET_DIR)/usr/share/hwdata hwdata/hwdata.mk: cp -a $(HWDATA_DIR)/usb.ids $(TARGET_DIR)/usr/share/hwdata libdaemon/libdaemon.mk: cp -af $(LIBDAEMON_DIR) $(LIBDAEMON_DIR)-0rig libglib2/libglib2.mk: cp -a $(STAGING_DIR)/lib/libglib-2.0.so $(TARGET_DIR)/lib/ libglib2/libglib2.mk: cp -a $(STAGING_DIR)/lib/libglib-2.0.so.0* $(TARGET_DIR)/lib/ libglib2/libglib2.mk: cp -a $(STAGING_DIR)/lib/libgmodule-2.0.so $(TARGET_DIR)/lib/ libglib2/libglib2.mk: cp -a $(STAGING_DIR)/lib/libgmodule-2.0.so.0* $(TARGET_DIR)/lib/ libglib2/libglib2.mk: cp -a $(STAGING_DIR)/lib/libgobject-2.0.so $(TARGET_DIR)/lib/ libglib2/libglib2.mk: cp -a $(STAGING_DIR)/lib/libgobject-2.0.so.0* $(TARGET_DIR)/lib/ libglib2/libglib2.mk: cp -a $(STAGING_DIR)/lib/libgthread-2.0.so $(TARGET_DIR)/lib/ libglib2/libglib2.mk: cp -a $(STAGING_DIR)/lib/libgthread-2.0.so.0* $(TARGET_DIR)/lib/ libgtk12/libgtk12.mk: cp -a $(STAGING_DIR)/lib/libgtk.so $(TARGET_DIR)/lib/ libgtk12/libgtk12.mk: cp -a $(STAGING_DIR)/lib/libgtk-1.2.so.0 $(TARGET_DIR)/lib/ libgtk12/libgtk12.mk: cp -a $(STAGING_DIR)/lib/libgtk-1.2.so.0.9.1 $(TARGET_DIR)/lib/ libgtk12/libgtk12.mk: cp -a $(STAGING_DIR)/lib/libgdk.so $(TARGET_DIR)/lib/ libgtk12/libgtk12.mk: cp -a $(STAGING_DIR)/lib/libgdk-1.2.so.0 $(TARGET_DIR)/lib/ libgtk12/libgtk12.mk: cp -a $(STAGING_DIR)/lib/libgdk-1.2.so.0.9.1 $(TARGET_DIR)/lib/ libgtk2/libgtk2.mk: cp -a $(STAGING_DIR)/lib/libgtk-x11-2.0.so $(TARGET_DIR)/lib/ libgtk2/libgtk2.mk: cp -a $(STAGING_DIR)/lib/libgtk-x11-2.0.so.0* $(TARGET_DIR)/lib/ libgtk2/libgtk2.mk: cp -a $(STAGING_DIR)/lib/libgdk*-2.0.so $(TARGET_DIR)/lib/ libgtk2/libgtk2.mk: cp -a $(STAGING_DIR)/lib/libgdk*-2.0.so.0* $(TARGET_DIR)/lib/ libgtk2/libgtk2.mk: cp -a $(STAGING_DIR)/lib/gtk-2.0/2.10.0/engines/*.so \ libgtk2/libgtk2.mk: cp -a $(STAGING_DIR)/lib/gtk-2.0/2.10.0/printbackends/*.so \ libgtk2/libgtk2.mk: cp -a $(STAGING_DIR)/lib/gtk-2.0/2.10.0/immodules/*.so \ libgtk2/libgtk2.mk: cp -a $(STAGING_DIR)/lib/gtk-2.0/2.10.0/loaders/*.so \ liblockfile/liblockfile.mk: cp -a $(STAGING_DIR)/usr/lib/liblockfile.so* $(TARGET_DIR)/usr/lib libxml2/libxml2.mk: cp -af $(LIBXML2_DIR)/include/libxml $(STAGING_DIR)/usr/include/libxml2 libxml2/libxml2.mk: cp -af $(LIBXML2_DIR)/usr/include/libxml2 $(TARGET_DIR)/usr/include/libxml2 lockfile-progs/lockfile-progs.mk: cp -a $(LOCKFILE_PROGS_DIR)/bin/lockfile* $(TARGET_DIR)/usr/bin lvm2/lvm2.mk: for binary in $(LVM2_SBIN); do echo $$binary; cp -a $(STAGING_DIR)/sbin/$$binary $(TARGET_DIR)/sbin; done madwifi/madwifi.mk:# cp -af defnoconfig $(HOSTAPD_DIR)/hostapd/.config madwifi/madwifi.mk: cp -af $(MADWIFI_DIR)/tools/athstats $(TARGET_DIR)/usr/sbin/ madwifi/madwifi.mk: cp -af $(MADWIFI_DIR)/tools/80211stats $(TARGET_DIR)/usr/sbin/ madwifi/madwifi.mk: cp -af $(MADWIFI_DIR)/tools/athkey $(TARGET_DIR)/usr/sbin/ madwifi/madwifi.mk: cp -af $(MADWIFI_DIR)/tools/athchans $(TARGET_DIR)/usr/sbin/ madwifi/madwifi.mk: cp -af $(MADWIFI_DIR)/tools/athctrl $(TARGET_DIR)/usr/sbin/ madwifi/madwifi.mk: cp -af $(MADWIFI_DIR)/tools/athdebug $(TARGET_DIR)/usr/sbin/ madwifi/madwifi.mk: cp -af $(MADWIFI_DIR)/tools/80211debug $(TARGET_DIR)/usr/sbin/ madwifi/madwifi.mk: cp -af $(MADWIFI_DIR)/tools/wlanconfig $(TARGET_DIR)/usr/sbin/ matchbox/matchbox.mk: cp -af $(STAGING_DIR)/etc/matchbox/ $(TARGET_DIR)/etc/ matchbox/matchbox.mk: cp -af $(STAGING_DIR)/usr/share/matchbox $(TARGET_DIR)/usr/share/ matchbox/matchbox.mk: cp -af $(STAGING_DIR)/usr/share/matchbox/pixmaps/hourglass-*.png $(TARGET_DIR)/usr/share/matchbox/pixmaps/ matchbox/matchbox.mk: cp -af $(STAGING_DIR)/etc/matchbox/ $(TARGET_DIR)/etc/ matchbox/matchbox.mk: cp -af $(STAGING_DIR)/usr/share/matchbox $(TARGET_DIR)/usr/share/ matchbox/matchbox.mk: cp -af $(STAGING_DIR)/usr/share/matchbox/* $(TARGET_DIR)/usr/share/matchbox/ matchbox/matchbox.mk: cp -af $(STAGING_DIR)/usr/share/matchbox/* $(TARGET_DIR)/usr/share/matchbox/ matchbox/matchbox.mk: cp -af $(STAGING_DIR)/usr/share/matchbox/matchbox-keyboard $(TARGET_DIR)/usr/share/matchbox/ metacity/metacity.mk: cp -a $(STAGING_DIR)/usr/share/themes/Clearlooks \ metacity/metacity.mk: cp -a package/metacity/Xsession $(TARGET_DIR)/etc/X11/ mkdosfs/mkdosfs.mk: cp -a $(MKDOSFS_DIR)/$(MKDOSFS_BINARY) $(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY) mrouted/mrouted.mk: cp -a $(MROUTED_DIR)/$(MROUTED_BINARY) $(TARGET_DIR)/$(MROUTED_TARGET_BINARY) netsnmp/netsnmp.mk: cp -a $(STAGING_DIR)/usr/include/net-snmp $(TARGET_DIR)/usr/include/net-snmp netsnmp/netsnmp.mk: cp -a $(STAGING_DIR)/usr/include/ucd-snmp $(TARGET_DIR)/usr/include/net-snmp newt/newt.mk: cp -a $(NEWT_DIR)/libnewt.a $(STAGING_DIR)/usr/lib/ newt/newt.mk: cp -a $(NEWT_DIR)/newt.h $(STAGING_DIR)/usr/include/ newt/newt.mk: cp -a $(NEWT_DIR)/libnewt.so* $(STAGING_DIR)/usr/lib/ newt/newt.mk: cp -a $(STAGING_DIR)/usr/lib/libnewt.so* $(TARGET_DIR)/usr/lib/ openntpd/openntpd.mk: cp -af $(OPENNTPD_DIR)/ntpd.conf $(TARGET_DIR)/etc/ntpd.conf openssl/openssl.mk: cp -a $(STAGING_DIR)/usr/include/openssl $(TARGET_DIR)/usr/include/ pango/pango.mk: cp -a $(STAGING_DIR)/lib/libpango-1.0.so $(TARGET_DIR)/lib/ pango/pango.mk: cp -a $(STAGING_DIR)/lib/libpango-1.0.so.0* $(TARGET_DIR)/lib/ pango/pango.mk: cp -a $(STAGING_DIR)/lib/libpangox-1.0.so $(TARGET_DIR)/lib/ pango/pango.mk: cp -a $(STAGING_DIR)/lib/libpangox-1.0.so.0* $(TARGET_DIR)/lib/ pango/pango.mk: cp -a $(STAGING_DIR)/lib/libpangoft2-1.0.so $(TARGET_DIR)/lib/ pango/pango.mk: cp -a $(STAGING_DIR)/lib/libpangoft2-1.0.so.0* $(TARGET_DIR)/lib/ pango/pango.mk: cp -a $(STAGING_DIR)/lib/libpangoxft-1.0.so $(TARGET_DIR)/lib/ pango/pango.mk: cp -a $(STAGING_DIR)/lib/libpangoxft-1.0.so.0* $(TARGET_DIR)/lib/ pango/pango.mk: cp -a $(STAGING_DIR)/lib/libpangocairo-1.0.so $(TARGET_DIR)/lib/ pango/pango.mk: cp -a $(STAGING_DIR)/lib/libpangocairo-1.0.so.0* $(TARGET_DIR)/lib/ pango/pango.mk: cp -a $(STAGING_DIR)/lib/pango/1.5.0/modules/*.so $(TARGET_DIR)/lib/pango/1.5.0/modules/ patch/patch.mk: cp -a $(GNUPATCH_DIR)/$(GNUPATCH_BINARY) $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY) python/python.mk: cp -a $(TARGET_DIR)/usr/include/python$(PYTHON_VERSION_SHORT) $(STAGING_DIR)/usr/include/ python/python.mk: cp -a $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/config $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/ sqlite/sqlite.mk: cp -a $(STAGING_DIR)/usr/bin/sqlite3 $(TARGET_DIR)/usr/bin sqlite/sqlite.mk: cp -a $(STAGING_DIR)/lib/libsqlite3*.so* $(TARGET_DIR)/lib/ tar/tar.mk: cp -a $(GNUTAR_DIR)/$(GNUTAR_BINARY) \ tcpdump/dhcpdump.mk: cp -af $< $@ tftpd/tftpd.mk: cp -a $(TFTP_HPA_DIR)/$(TFTP_HPA_BINARY) $(TARGET_DIR)/$(TFTP_HPA_TARGET_BINARY); fi ttcp/ttcp.mk: cp -af $(DL_DIR)/$(TTCP_SOURCE) $(TTCP_BUILD_DIR) ttcp/ttcp.mk: cp -af $(TTCP_BUILD_DIR)/ttcp $(TARGET_DIR)/usr/bin/ wipe/wipe.mk: cp -a $(WIPE_DIR)/$(WIPE_BINARY) $(TARGET_DIR)/$(WIPE_TARGET_BINARY) xerces/xerces.mk: cp -a $(STAGING_DIR)/lib/libxerces-c.so* $(TARGET_DIR)/usr/lib xerces/xerces.mk: cp -a $(STAGING_DIR)/lib/libxerces-depdom.so* $(TARGET_DIR)/usr/lib
Signature · 9 lines
Hamish Moffatt VK3SB <[email protected]> <[email protected]> -------------- next part -------------- A non-text attachment was scrubbed... Name: br-python3.patch Type: text/x-diff Size: 2389 bytes Desc: not available Url : http://busybox.net/lists/buildroot/attachments/20080121/37bd0e80/attachment.bin
PATCH 1/1 more python enhancements
Quoted 1 line · Hamish Moffatt
New patch attached.
Could somebody apply this please? Bernard?
thanks,
Hamish
Quoted 64 lines
Index: python.mk
===================================================================package/python/python.mk renamed from package/python/python.mk.orig +20
-1@@ -4,6 +4,7 @@ # ############################################################# PYTHON_VERSION=2.4.2 +PYTHON_VERSION_SHORT=2.4 PYTHON_SOURCE:=Python-$(PYTHON_VERSION).tar.bz2 PYTHON_SITE:=http://python.org/ftp/python/$(PYTHON_VERSION) PYTHON_DIR:=$(BUILD_DIR)/Python-$(PYTHON_VERSION)@@ -136,13 +137,31 @@ find $(TARGET_DIR)/usr/lib/ -name '*.pyo' -exec rm {} \; && \ rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc \ - $(TARGET_DIR)/usr/lib/python*/test + $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/test + cp -dpr $(TARGET_DIR)/usr/include/python$(PYTHON_VERSION_SHORT) $(STAGING_DIR)/usr/include/ + mkdir -p $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT) + cp -dpr $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/config $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/ + ifeq ($(BR2_PACKAGE_PYTHON_PY_ONLY),y) find $(TARGET_DIR)/usr/lib/ -name '*.pyc' -exec rm {} \; endif ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y) find $(TARGET_DIR)/usr/lib/ -name '*.py' -exec rm {} \; endif +ifneq ($(BR2_PACKAGE_PYTHON_DEV),y) + rm -rf $(TARGET_DIR)/usr/include/python$(PYTHON_VERSION_SHORT) + rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/config + find $(TARGET_DIR)/usr/lib/ -name '*.py' -exec rm {} \; +endif +ifneq ($(BR2_PACKAGE_PYTHON_BSDDB),y) + rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/bsddb +endif +ifneq ($(BR2_PACKAGE_PYTHON_CURSES),y) + rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/curses +endif +ifneq ($(BR2_PACKAGE_PYTHON_TKINTER),y) + rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/lib-tk +endif python: uclibc $(PYTHON_DEPS) $(TARGET_DIR)/$(PYTHON_TARGET_BINARY)Index: Config.in
===================================================================package/python/Config.in renamed from package/python/Config.in.orig +8
-0@@ -6,6 +6,14 @@ http://www.python.org/ +config BR2_PACKAGE_PYTHON_DEV + depends on BR2_PACKAGE_PYTHON + bool "development files on target" + default n + help + If enabled, development files (headers and static libpython) will be + installed on the target. + choice prompt "Module format to install" depends on BR2_PACKAGE_PYTHON
Signature · 8 lines
Hamish Moffatt VK3SB <[email protected]> <[email protected]> -------------- next part -------------- A non-text attachment was scrubbed... Name: br-python3.patch Type: text/x-diff Size: 2389 bytes Desc: not available Url : http://busybox.net/lists/buildroot/attachments/20080124/b53fca3b/attachment.bin
PATCH 1/1 more python enhancements
In reply to Hamish MoffattQuoted 12 lines · Hamish Moffatt
Here's another improvement to the Python package.
1. Don't install the development headers, tools and static library into the target system unless new configuration item is enabled.
2. Always install the development headers etc into the
staging_dir, so they can be used to build extension modules.Hamish
Quoted 6 lines
------------------------------------------------------------------------
_______________________________________________
buildroot mailing list
buildroot at uclibc.org
http://busybox.net/mailman/listinfo/buildroot
Hi,
please supply correct patch (svn diff or diff -urN)
--- python.mk (.../mirror/buildroot/package/python) (revision 3461)
+++ python.mk (.../beethoven/elara/trunk/buildroot/package/python) (revision 3461)
I do not know how to apply it.
Regards,
Ivan
--------------------------------
Embedded Linux engineer,
Promwad Company: http://www.promwad.com/
Homepage : http://www.ivankuten.com/
--------------------------------
PATCH 1/1 more python enhancements
Quoted 14 lines · Ivan Kuten
Quoted 7 lines · Hamish Moffatt
Here's another improvement to the Python package.
1. Don't install the development headers, tools and static library into the target system unless new configuration item is enabled.
2. Always install the development headers etc into the
staging_dir, so they can be used to build extension modules.please supply correct patch (svn diff or diff -urN)
beethoven/elara/trunk/buildroot/package/python) (revision 3461) renamed from mirror/buildroot/package/python) (revision 3461) +0
-0
Quoted 1 line
I do not know how to apply it.
Oh sorry. The attached should do; I edited it by hand to add full paths.
Alternative you could apply it within the package/python directory using "patch -p0 < br-python2.patch".
Hamish
Signature · 8 lines
Hamish Moffatt VK3SB <[email protected]> <[email protected]> -------------- next part -------------- A non-text attachment was scrubbed... Name: br-python2.patch Type: text/x-diff Size: 2793 bytes Desc: not available Url : http://busybox.net/lists/buildroot/attachments/20080119/0cde40c3/attachment.bin