Subject: cdbs: Python cross building not supported Package: cdbs Version: 0.4.83ubuntu2 Severity: wishlist
When python is called to build C/C++ extensions whilst cross building a package, it needs to be set up to use the cross toolchain, rather than the default build host toolchain. The patch below indicates how this might be done by adding an environment variable to be set in the Makefile. --- --- /usr/share/cdbs/1/class/python-sugar.mk 2010-09-03 09:39:47.000000000 +0100 +++ 1/class/python-sugar.mk 2010-11-24 09:01:08.000000000 +0000 @@ -67,11 +67,16 @@ pre-build clean:: pre-build:: mkdir -p debian/stamps-configure +# LINARO_PYTHON_SET_ENV, defined in /usr/share/cdbs/1/class/python- distutils.mk, +# allows e.g. cross tools to be set for use during setup.py $(patsubst %,build/%,$(DEB_PYTHON_SUGAR_PACKAGES)) :: build/%: [ ! -e $(cdbs_cursrcdir)/MANIFEST ] || [ -e $(cdbs_cursrcdir)/MANIFEST.upstream ] || mv $(cdbs_cursrcdir)/MANIFEST $(cdbs_cursrcdir)/MANIFEST.upstream [ ! -e $(cdbs_cursrcdir)/MANIFEST.upstream ] || egrep -v '^locale/.*/(.*\.mo|activity\.linfo)$$' $(cdbs_cursrcdir)/MANIFEST.upstream > $(cdbs_cursrcdir)/MANIFEST + @echo "$@ in modified /usr/share/cdbs/1/class/python-sugar.mk" set -e; for buildver in $(cdbs_python_build_versions); do \ + $(LINARO_PYTHON_SET_ENV);\ $(call cdbs_python_binary,python$$buildver) $(cdbs_cursrcdir)/setup.py build; \ + touch /home/chroot-user/python_run ;\ done [ ! -e $(cdbs_cursrcdir)/MANIFEST.upstream ] || IFS="`printf '\n'`" find "$(cdbs_cursrcdir)/locale" -type f \( -name '*.mo' -or -name 'activity.linfo' \) | while read path; do \ echo "$$path" | sed 's!^$(cdbs_cursrcdir)/!!' >> $(cdbs_cursrcdir)/MANIFEST; \ --- /usr/share/cdbs/1/class/python-distutils.mk 2010-09-03 09:39:47.000000000 +0100 +++ 1/class/python-distutils.mk 2010-11-24 09:11:51.000000000 +0000 @@ -61,13 +61,30 @@ common-build-arch common-build-indep:: $ $(patsubst %,build/%,$(cdbs_python_indep_packages) $(cdbs_python_arch_packages)) :: build/% : debian/python-module-stampdir/% +# These are the tool defaults used during setup.py +LINARO_PYTHON_SET_ENV = \ + export CC=gcc ;\ + export CXX=g++ ;\ + export LDSHARED='gcc -shared' ;\ + export CPP=cpp ;\ + export LDFLAGS='-L /usr/lib -L /lib' ;\ + export BASECFLAGS=-DBASECFLAGS ;\ + export OPT=-DOPT ;\ + export CFLAGS='-I/usr/include -I/include';\ + export CPPFLAGS=-DCPPFLAGS + $(patsubst %,debian/python-module-stampdir/%,$(cdbs_python_indep_packages)) :: debian/python-module-stampdir/%: - cd $(DEB_SRCDIR) && python$(cdbs_python_nondefault_version) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS) + @echo "$@ in modified /usr/share/cdbs/1/class/python-distutils.mk" + $(LINARO_PYTHON_SET_ENV) && \ + cd $(DEB_SRCDIR) && python$(cdbs_python_nondefault_version) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS) touch $@ $(patsubst %,debian/python-module-stampdir/%,$(cdbs_python_arch_packages)) :: debian/python-module-stampdir/%: + @echo "$@ in modified /usr/share/cdbs/1/class/python-distutils.mk" set -e; for buildver in $(cdbs_python_build_versions); do \ - cd $(CURDIR) && cd $(DEB_SRCDIR) && $(call cdbs_python_binary,python$$buildver) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS); \ + $(LINARO_PYTHON_SET_ENV) && \ + cd $(CURDIR) && cd $(DEB_SRCDIR) && $(call cdbs_python_binary,python$$buildver) $(DEB_PYTHON_SETUP_CMD) \ + build $(DEB_PYTHON_BUILD_ARGS); \ done touch $@ ------- -- System Information: Debian Release: squeeze/sid APT prefers maverick-updates APT policy: (500, 'maverick-updates'), (500, 'maverick-security'), (500, 'maverick-proposed'), (500, 'maverick-backports'), (500, 'maverick') Architecture: i386 (i686) Kernel: Linux 2.6.35-22-generic-pae (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages cdbs depends on: ii debhelper 8.0.0ubuntu1 helper programs for debian/rules ii fdupes 1.50-PR2-3 identifies duplicate files within ii intltool 0.41.1-1 Utility scripts for internationali Versions of packages cdbs recommends: ii autotools-dev 20100122.1 Update infrastructure for config.{ Versions of packages cdbs suggests: ii devscripts 2.10.67ubuntu1 scripts to make the life of a Debi ii doc-base 0.9.5 utilities to manage online documen -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org