Skip to contentSkip to conversation

small fixes again

PATCH New Martin Jansa 1 participant 5 messages Oct 5, 2012

lore
Share & tools
lore
#0 lore raw

cover small fixes again

The following changes since commit 68f05443333afa527e3b24e4caae6115dfb6b6b6:

opencv: bump PR due libav update (2012-10-05 11:27:25 +0200)

are available in the git repository at:

git://git.openembedded.org/meta-openembedded-contrib jansa/pull
http://cgit.openembedded.org/cgit.cgi/meta-openembedded-contrib/log/?h=jansa/pull

Martin Jansa (4):
srctree: remove this bbclass
python-pyqt: don't fail when do_configure is executed twice in the
same WORKDIR
gpsd: use chrpath-replacement-native now
imagemagick: add fftw to DEPENDS

 meta-oe/classes/srctree.bbclass                    | 123 ---------------------
 .../recipes-devtools/python/python-pyqt_4.9.5.bb   |   2 +-
 meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb        |   6 +-
 .../imagemagick/imagemagick_6.7.5.bb               |   4 +-
 4 files changed, 7 insertions(+), 128 deletions(-)
 delete mode 100644 meta-oe/classes/srctree.bbclass
Signature · 1 line
1.7.12
#1 lore raw

PATCH 1/4 srctree: remove this bbclass

* it's depending on clean.bbclass which isn't in meta-oe and oe-core now has externalsrc.bbclass

---
 meta-oe/classes/srctree.bbclass | 123 ----------------------------------------
 1 file changed, 123 deletions(-)
 delete mode 100644 meta-oe/classes/srctree.bbclass
meta-oe/classes/srctree.bbclass deleted +0 -123
deleted file mode 100644
index 1457e56..0000000
@@ -1,123 +0,0 @@
-# Copyright (C) 2009 Chris Larson <[email protected]>
-# Released under the MIT license (see COPYING.MIT for the terms)
-#
-# srctree.bbclass enables operation inside of an existing source tree for a
-# project, rather than using the fetch/unpack/patch idiom.
-#
-# By default, it expects that you're keeping the recipe(s) inside the
-# aforementioned source tree, but you could override S to point at an external
-# directory and place the recipes in a normal collection/overlay, if you so
-# chose.
-#
-# It also provides some convenience python functions for assembling your
-# do_clean, if you want to leverage things like 'git clean' to simplify the
-# operation.
-
-
-# Grab convenience methods & sane default for do_clean
-inherit clean
-
-# Build here
-S = "${FILE_DIRNAME}"
-SRC_URI = ""
-
-def remove_tasks(deltasks, d):
-    for task in filter(lambda k: d.getVarFlag(k, "task"), d.keys()):
-        deps = d.getVarFlag(task, "deps")
-        for preptask in deltasks:
-            if preptask in deps:
-                deps.remove(preptask)
-        d.setVarFlag(task, "deps", deps)
-
-addtask configure after do_setscene
-
-def merge_tasks(d):
-    """
-    Merges all of the operations that occur prior to do_populate_sysroot
-    into do_populate_sysroot.
-
-    This is necessary because of recipe variants (normal, native, cross,
-    sdk).  If a bitbake run happens to want to build more than one of
-    these variants in a single run, it's possible for them to step on one
-    another's toes, due to the shared ${S}.  Interleaved
-    configure/compile/install amongst variants will break things badly.
-    """
-    from itertools import chain
-    from bb import note
-
-    def __gather_taskdeps(task, seen):
-        for dep in d.getVarFlag(task, "deps"):
-            if not dep in seen:
-                __gather_taskdeps(dep, seen)
-        if not task in seen:
-            seen.append(task)
-
-    def gather_taskdeps(task):
-        items = []
-        __gather_taskdeps(task, items)
-        return items
-
-    newtask = "do_populate_sysroot_post"
-    mergedtasks = gather_taskdeps(newtask)
-    mergedtasks.pop()
-
-    for task in (key for key in d.keys()
-                 if d.getVarFlag(key, "task") and
-                 not key in mergedtasks):
-        deps = d.getVarFlag(task, "deps")
-        for mergetask in mergedtasks:
-            if mergetask in (d.getVarFlag(task, "recrdeptask"),
-                             d.getVarFlag(task, "recdeptask"),
-                             d.getVarFlag(task, "deptask")):
-                continue
-
-            if mergetask in deps:
-                deps.remove(mergetask)
-                #note("removing dep on %s from %s" % (mergetask, task))
-
-                if not newtask in deps:
-                    #note("adding dep on %s to %s" % (newtask, task))
-                    deps.append(newtask)
-        d.setVarFlag(task, "deps", deps)
-
-    # Pull cross recipe task deps over
-    depends = []
-    deptask = []
-    for task in mergedtasks[:-1]:
-        depends.append(d.getVarFlag(task, "depends") or "")
-        deptask.append(d.getVarFlag(task, "deptask") or "")
-
-    d.setVarFlag("do_populate_sysroot_post", "depends", " ".join(depends))
-    d.setVarFlag("do_populate_sysroot_post", "deptask", " ".join(deptask))
-
-python () {
-    remove_tasks(["do_patch", "do_unpack", "do_fetch"], d)
-    b = d.getVar("B", True)
-    if not b or b == d.getVar("S", True):
-        merge_tasks(d)
-}
-
-# Manually run do_install & all of its deps
-python do_populate_sysroot_post () {
-    from os.path import exists
-    from bb.build import exec_func, make_stamp
-    from bb import note
-
-    stamp = d.getVar("STAMP", True)
-
-    def rec_exec_task(task, seen):
-        for dep in d.getVarFlag(task, "deps"):
-            if not dep in seen:
-                rec_exec_task(dep, seen)
-        seen.add(task)
-        if not exists("%s.%s" % (stamp, task)):
-            note("%s: executing task %s" % (d.getVar("PF", True), task))
-            exec_func(task, d)
-            flags = d.getVarFlags(task)
-            if not flags.get('nostamp') and not flags.get('selfstamp'):
-                make_stamp(task, d)
-
-    rec_exec_task("do_populate_sysroot", set())
-}
-addtask populate_sysroot_post after do_populate_sysroot
-do_populate_sysroot_post[lockfiles] += "${S}/.lock"
Signature · 1 line
1.7.12
#2 lore raw

PATCH 2/4 python-pyqt: don't fail when do_configure is executed twice in the same WORKDIR

In reply to Martin Jansa
---
 meta-oe/recipes-devtools/python/python-pyqt_4.9.5.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta-oe/recipes-devtools/python/python-pyqt_4.9.5.bb +1 -1
index 9feab4d..5eef4c9 100644
@@ -83,7 +83,7 @@ do_configure_prepend() {
     echo "LIBS+=-L../qpy/QtCore/ -lqpycore" >>QtCore/QtCore.pro
     echo "LIBS+=-L../qpy/QtDeclarative/ -lqpydeclarative" >>QtDeclarative/QtDeclarative.pro
     # hack for broken generated code (duplicated sipCpp declaration).
-    patch -p1 < ${WORKDIR}/pyqt-generated.patch
+    patch -p1 < ${WORKDIR}/pyqt-generated.patch || echo "pyqt-generated.patch failed to apply, probably reexecuting do_configure, ignoring that"
 }
 
 do_install() {
Signature · 1 line
1.7.12
#3 lore raw

PATCH 3/4 gpsd: use chrpath-replacement-native now

In reply to Martin Jansa

* chrpath-native was added to ASSUME_PROVIDED
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-October/030744.html
* it would be better to not use chrpath at all, but build.txt says:
If you do not have chrpath available, GPSD binaries will be built statically.
...
When you are cross-compiling, you'll need chrpath at version 0.14 or later for cross-architecture support. If it's not yet packaged for your environment, see http://alioth.debian.org/projects/chrpath/
and I prefer to stick to upstream

---
 meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb +4 -2
index eff0dcb..105dbf6 100644
@@ -2,10 +2,12 @@ DESCRIPTION = "A TCP/IP Daemon simplifying the communication with GPS devices"
 SECTION = "console/network"
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
-DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-native"
+DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native"
 PROVIDES = "virtual/gpsd"
 
-PR = "r1"
+EXTRANATIVEPATH += "chrpath-native"
+
+PR = "r2"
 
 SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${P}.tar.gz \
   file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \
Signature · 1 line
1.7.12
#4 lore raw

PATCH 4/4 imagemagick: add fftw to DEPENDS

In reply to Martin Jansa

* it's autodetected and then later when it's not in sysroot it fails:

| /bin/grep: /OE/shr-core/tmp-eglibc/sysroots/tuna/usr/lib/libfftw3.la: No such file or directory
| /bin/sed: can't read /OE/shr-core/tmp-eglibc/sysroots/tuna/usr/lib/libfftw3.la: No such file or directory
| arm-oe-linux-gnueabi-libtool: link: `/OE/shr-core/tmp-eglibc/sysroots/tuna/usr/lib/libfftw3.la' is not a valid libtool archive
| make[1]: *** [wand/libMagickWand.la] Error 1
| make[1]: Leaving directory `/OE/shr-core/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/imagemagick-6.7.5-r3/ImageMagick-6.7.5-6'
---
 meta-oe/recipes-support/imagemagick/imagemagick_6.7.5.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
meta-oe/recipes-support/imagemagick/imagemagick_6.7.5.bb +2 -2
index 625a57e..5e8bc85 100644
@@ -3,9 +3,9 @@ SECTION = "console/utils"
 LICENSE = "ImageMagick"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=944f66dcedc98d5a4e5d964bd3b32e7b"
 # FIXME: There is much more checked libraries. All should be added or explicitly disabled to get consistent results.
-DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib"
+DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib fftw"
 
-PR = "r3"
+PR = "r4"
 
 PATCHSET = "6"
 SRC_URI = "ftp://ftp.nluug.nl/pub/ImageMagick/ImageMagick-${PV}-${PATCHSET}.tar.bz2 \
Signature · 1 line
1.7.12