diff options
-rw-r--r-- | meta/recipes-tbd/meta/external-python-tarball.bb | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/meta/recipes-tbd/meta/external-python-tarball.bb b/meta/recipes-tbd/meta/external-python-tarball.bb new file mode 100644 index 000000000..a27213dc6 --- /dev/null +++ b/meta/recipes-tbd/meta/external-python-tarball.bb @@ -0,0 +1,87 @@ +DESCRIPTION = "Meta package for building a standalone python tarball" +LICENSE = "MIT" +DEPENDS = "opkg-native opkg-utils-native virtual/fakeroot-native sed-native" + +inherit meta + +SDK_DIR = "${WORKDIR}/sdk" +SDK_OUTPUT = "${SDK_DIR}/image" +SDK_DEPLOY = "${TMPDIR}/deploy/sdk" + +IPKG_HOST = "opkg-cl -f ${IPKGCONF_SDK} -o ${SDK_OUTPUT}" + +TOOLCHAIN_HOST_TASK ?= "\ + python-nativesdk-core \ + python-nativesdk-textutils \ + python-nativesdk-sqlite3 \ + python-nativesdk-pickle \ + python-nativesdk-logging \ + python-nativesdk-elementtree \ + python-nativesdk-curses \ + python-nativesdk-compile \ + python-nativesdk-compiler \ + python-nativesdk-fcntl \ + python-nativesdk-shell \ + python-nativesdk-misc \ + python-nativesdk-subprocess \ + python-nativesdk-xmlrpc \ + python-nativesdk-netclient \ + python-nativesdk-netserver \ + python-nativesdk-distutils" + +TOOLCHAIN_OUTPUTNAME ?= "python-nativesdk-standalone" + +RDEPENDS = "${TOOLCHAIN_HOST_TASK}" + +EXCLUDE_FROM_WORLD = "1" + +do_populate_sdk() { + rm -rf ${SDK_OUTPUT} + mkdir -p ${SDK_OUTPUT} + mkdir -p ${SDK_OUTPUT}${localstatedir}/lib/opkg/ + + rm -f ${IPKGCONF_TARGET} + touch ${IPKGCONF_TARGET} + rm -f ${IPKGCONF_SDK} + touch ${IPKGCONF_SDK} + + package_update_index_ipk + package_generate_ipkg_conf + + for arch in ${PACKAGE_ARCHS}; do + revipkgarchs="$arch $revipkgarchs" + done + + ${IPKG_HOST} update + ${IPKG_HOST} install ${TOOLCHAIN_HOST_TASK} + + install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}${localstatedir_nativesdk}/lib/opkg + mv ${SDK_OUTPUT}/var/lib/opkg/* ${SDK_OUTPUT}/${SDKPATHNATIVE}${localstatedir_nativesdk}/lib/opkg/ + rm -Rf ${SDK_OUTPUT}/var + + install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}/${sysconfdir} + install -m 0644 ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKPATHNATIVE}/${sysconfdir}/ + + rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/*.la + + # Link the ld.so.cache file into the hosts filesystem + ln -s /etc/ld.so.cache ${SDK_OUTPUT}/${SDKPATHNATIVE}/etc/ld.so.cache + + # Add version information + versionfile=${SDK_OUTPUT}/${SDKPATH}/version-${MULTIMACH_TARGET_SYS} + touch $versionfile + echo 'Distro: ${DISTRO}' >> $versionfile + echo 'Distro Version: ${DISTRO_VERSION}' >> $versionfile + echo 'Metadata Revision: ${METADATA_REVISION}' >> $versionfile + echo 'Timestamp: ${DATETIME}' >> $versionfile + + # Package it up + mkdir -p ${SDK_DEPLOY} + cd ${SDK_OUTPUT} + ${FAKEROOT} tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 . +} + +do_populate_sdk[nostamp] = "1" +do_populate_sdk[recrdeptask] = "do_package_write" +addtask populate_sdk before do_build after do_install + |