All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/3] python-dir bbclass: import from OE
@ 2011-01-18 11:11 Koen Kooi
  2011-01-18 11:11 ` [PATCH v2 2/3] distutils(-common-base) bbclass: sync with OE Koen Kooi
  0 siblings, 1 reply; 3+ messages in thread
From: Koen Kooi @ 2011-01-18 11:11 UTC (permalink / raw)
  To: poky

This will be used later on when updating the distutils classes

A small deviation from OE is the use of PYTHON_BASEVERSION instead of non-deterministic python code. See https://lists.yoctoproject.org/pipermail/poky/2011-January/002320.html for some background info

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta/classes/python-dir.bbclass |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
 create mode 100644 meta/classes/python-dir.bbclass

diff --git a/meta/classes/python-dir.bbclass b/meta/classes/python-dir.bbclass
new file mode 100644
index 0000000..a072a93
--- /dev/null
+++ b/meta/classes/python-dir.bbclass
@@ -0,0 +1,2 @@
+PYTHON_DIR = "python${PYTHON_BASEVERSION}"
+PYTHON_SITEPACKAGES_DIR = "${libdir}/${PYTHON_DIR}/site-packages"
-- 
1.6.6.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v2 2/3] distutils(-common-base) bbclass: sync with OE
  2011-01-18 11:11 [PATCH v2 1/3] python-dir bbclass: import from OE Koen Kooi
@ 2011-01-18 11:11 ` Koen Kooi
  2011-01-18 11:11   ` [PATCH v2 3/3] setuptools bbclass: import from OE Koen Kooi
  0 siblings, 1 reply; 3+ messages in thread
From: Koen Kooi @ 2011-01-18 11:11 UTC (permalink / raw)
  To: poky

When using python recipes imported from OE (e.g. python-cheetah) parsing only succeeds when python has already been built due to the PYTHON_DIR references.

This commit syncs the classes with OE to make it work, but keeps the *.pyo removal from yocto.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta/classes/distutils-common-base.bbclass |   23 +++++++----------------
 meta/classes/distutils.bbclass             |   20 ++++++++++----------
 2 files changed, 17 insertions(+), 26 deletions(-)

diff --git a/meta/classes/distutils-common-base.bbclass b/meta/classes/distutils-common-base.bbclass
index 01bf9ea..f66a5cd 100644
--- a/meta/classes/distutils-common-base.bbclass
+++ b/meta/classes/distutils-common-base.bbclass
@@ -1,19 +1,10 @@
+inherit python-dir
+
 EXTRA_OEMAKE = ""
 
 export STAGING_INCDIR
 export STAGING_LIBDIR
 
-def python_dir(d):
-	import os, bb
-	staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 )
-	for majmin in "2.6 2.5 2.4 2.3".split():
-		if os.path.exists( "%s/python%s" % ( staging_incdir, majmin ) ): return "python%s" % majmin
-	if not "python-native" in bb.data.getVar( "DEPENDS", d, 1 ).split():
-		raise "No Python in STAGING_INCDIR. Forgot to build python-native ?"
-	return "INVALID"
-
-PYTHON_DIR = "${@python_dir(d)}"
-
 PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc ${PN}"
 
 FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*"
@@ -21,10 +12,10 @@ FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*"
 FILES_${PN}-dev += "\
   ${datadir}/pkgconfig \
   ${libdir}/pkgconfig \
-  ${libdir}/${PYTHON_DIR}/site-packages/*.la \
+  ${PYTHON_SITEPACKAGES_DIR}/*.la \
 "
-FILES_${PN}-dbg = "\
-  ${libdir}/${PYTHON_DIR}/site-packages/.debug \
-  ${libdir}/${PYTHON_DIR}/site-packages/*/.debug \
-  ${libdir}/${PYTHON_DIR}/site-packages/*/*/.debug \
+FILES_${PN}-dbg += "\
+  ${PYTHON_SITEPACKAGES_DIR}/.debug \
+  ${PYTHON_SITEPACKAGES_DIR}/*/.debug \
+  ${PYTHON_SITEPACKAGES_DIR}/*/*/.debug \
 "
diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass
index 245ef7d..7e6fbc0 100644
--- a/meta/classes/distutils.bbclass
+++ b/meta/classes/distutils.bbclass
@@ -16,9 +16,7 @@ distutils_do_compile() {
 }
 
 distutils_stage_headers() {
-        install -d ${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages
-        STAGING_INCDIR=${STAGING_INCDIR} \
-        STAGING_LIBDIR=${STAGING_LIBDIR} \
+        install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
         BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
         ${STAGING_BINDIR_NATIVE}/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \
         oefatal "python setup.py install_headers execution failed."
@@ -27,18 +25,18 @@ distutils_stage_headers() {
 distutils_stage_all() {
         STAGING_INCDIR=${STAGING_INCDIR} \
         STAGING_LIBDIR=${STAGING_LIBDIR} \
-        install -d ${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages
-        PYTHONPATH=${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages \
+        install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
+        PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} \
         BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
         ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \
         oefatal "python setup.py install (stage) execution failed."
 }
 
 distutils_do_install() {
-        install -d ${D}${libdir}/${PYTHON_DIR}/site-packages
+        install -d ${D}${PYTHON_SITEPACKAGES_DIR}
         STAGING_INCDIR=${STAGING_INCDIR} \
         STAGING_LIBDIR=${STAGING_LIBDIR} \
-        PYTHONPATH=${D}/${libdir}/${PYTHON_DIR}/site-packages \
+        PYTHONPATH=${D}/${PYTHON_SITEPACKAGES_DIR} \
         BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
         ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_INSTALL_ARGS} || \
         oefatal "python setup.py install execution failed."
@@ -59,15 +57,17 @@ distutils_do_install() {
             done
         fi
 
-        rm -f ${D}${libdir}/${PYTHON_DIR}/site-packages/easy-install.pth
-
+        rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth
+        
         #
         # FIXME: Bandaid against wrong datadir computation
         #
         if test -e ${D}${datadir}/share; then
             mv -f ${D}${datadir}/share/* ${D}${datadir}/
         fi
-      
+
+        # These are generated files, on really slow systems the storage/speed trade off
+        # might be worth it, but in general it isn't 
         find ${D}${libdir}/${PYTHON_DIR}/site-packages -iname '*.pyo' -exec rm {} \;
 }
 
-- 
1.6.6.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v2 3/3] setuptools bbclass: import from OE
  2011-01-18 11:11 ` [PATCH v2 2/3] distutils(-common-base) bbclass: sync with OE Koen Kooi
@ 2011-01-18 11:11   ` Koen Kooi
  0 siblings, 0 replies; 3+ messages in thread
From: Koen Kooi @ 2011-01-18 11:11 UTC (permalink / raw)
  To: poky

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta/classes/setuptools.bbclass |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
 create mode 100644 meta/classes/setuptools.bbclass

diff --git a/meta/classes/setuptools.bbclass b/meta/classes/setuptools.bbclass
new file mode 100644
index 0000000..ced9509
--- /dev/null
+++ b/meta/classes/setuptools.bbclass
@@ -0,0 +1,8 @@
+inherit distutils
+
+DEPENDS += "python-setuptools-native"
+
+DISTUTILS_INSTALL_ARGS = "--root=${D} \
+    --single-version-externally-managed \
+    --prefix=${prefix} \
+    --install-data=${datadir}"
-- 
1.6.6.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-01-18 11:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-18 11:11 [PATCH v2 1/3] python-dir bbclass: import from OE Koen Kooi
2011-01-18 11:11 ` [PATCH v2 2/3] distutils(-common-base) bbclass: sync with OE Koen Kooi
2011-01-18 11:11   ` [PATCH v2 3/3] setuptools bbclass: import from OE Koen Kooi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.