On 12/06/2012 09:28 AM, Mark Hatle wrote:
On 12/6/12 11:21 AM, Saul Wold wrote:
On 12/06/2012 09:03 AM, Mark Hatle wrote:
On 12/5/12 11:06 PM, Saul Wold wrote:
On 12/04/2012 09:14 AM, Mark Hatle wrote:
Pseudo was not building and installing properly for systems where
baselib
was not 'lib'.  This change reworks the three scenerios to work
properly.

Signed-off-by: Mark Hatle <[email protected]>
---
    meta/recipes-devtools/pseudo/pseudo.inc      |   58
++++++++++++-------------
    meta/recipes-devtools/pseudo/pseudo_1.4.1.bb |    2 +-
    meta/recipes-devtools/pseudo/pseudo_git.bb   |    2 +-
    3 files changed, 30 insertions(+), 32 deletions(-)

diff --git a/meta/recipes-devtools/pseudo/pseudo.inc
b/meta/recipes-devtools/pseudo/pseudo.inc
index 98f706c..8dc7d72 100644
--- a/meta/recipes-devtools/pseudo/pseudo.inc
+++ b/meta/recipes-devtools/pseudo/pseudo.inc
@@ -13,34 +13,28 @@ SRC_URI_append_class-nativesdk = "
file://symver.patch"

    SRC_URI_append_class-native = " file://symver.patch"

-FILES_${PN} = "${libdir}/pseudo/lib*/libpseudo.so ${bindir}/*
${localstatedir}/pseudo ${prefix}/var/pseudo"
-FILES_${PN}-dbg += "${libdir}/pseudo/lib*/.debug"
+FILES_${PN} = "${prefix}/lib/pseudo/lib*/libpseudo.so ${bindir}/*
${localstatedir}/pseudo ${prefix}/var/pseudo"
+FILES_${PN}-dbg += "${prefix}/lib/pseudo/lib*/.debug"
    PROVIDES += "virtual/fakeroot"

    MAKEOPTS = ""

    inherit siteinfo

-do_configure () {
-    :
-}
-
-NO32LIBS ??= "1"
-
-# Compile for the local machine arch...
-do_compile () {
+do_configure_class-target () {
        if [ "${SITEINFO_BITS}" = "64" ]; then
-      ${S}/configure --prefix=${prefix}
--libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS}
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix}
--cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite
--without-rpath
+        mylibdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS}
        else
-      ${S}/configure --prefix=${prefix}
--libdir=${prefix}/lib/pseudo/lib
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix}
--cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite
--without-rpath
+        mylibdir=${prefix}/lib/pseudo/lib
        fi
-    oe_runmake ${MAKEOPTS}
+    ${S}/configure --prefix=${prefix} --libdir=$mylibdir
--cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --without-rpath

You seem to have dropped the --with-sqlite and now it does not find
sqlite3.h for the target build as can be seen in the build appliance
failure.

It should be sourcing it from the compiler with a #include.  It was
working on all of my test builds.

Not that I am aware of, the configure script defaults to /usr, is it
possible you have a host contamination issue with sqlite3 installed on
your machine?

But either way, there are two bugs here.. the first is pseudo isn't
building for the target -- it wasn't before either.

It has been building on the target in the past since we need it for the
Build Appliance and it builds in world.

Enable multilibs, pseudo (target) will no longer build.  The integration
is hard coded currently to be looking for things in the 'lib' directory,
which may not exist.  In otherwords, it is broken -- and the autobuilds
are missing any build-time tests for multilibs at this point.

But the real issue is -why on earth- are we building pseudo at all for
the target.  It serves no purpose that I am aware of.

Build Appliance needs it.

People keep telling me this, but honestly I can't figure out why it's
needed. What actually uses pseudo in the build appliance?

The build appliance uses it to save time at start of HOB, since pseudo is needed to run hob first. If we needed to build it first that can cause issues. We have the sources available in the appliance, but it still does some network start up.

We want the hob to come up quickly, not have to wait for pseudo to be build.

I can easily build a system today, boot it, download OE-Core/Bitbake (or
Poky) and build it on that system.  It's that the purpose of the build
appliance?  Why is it needed?

Yes, it builds pseudo first as normal you have a network in place

I'd prefer if the fix was simply to disable pseudo for target-class
builds, and only build it for -native and -nativesdk cases.

Not really an option

Just drop this patch for now -- we can focus on fixing it a different
way if target builds of pseudo are needed for some reason.

consider it dropped.

Sau!

--Mark

http://autobuilder.yoctoproject.org:8010/builders/build-appliance/builds/154/steps/shell_46/logs/stdio



Sau!

    }

-# Two below are the same
+NO32LIBS ??= "1"
+
    # If necessary compile for the alternative machine arch.  This is
only
    # necessary in a native build.
-do_compile_prepend_class-native () {
+do_compile_native() {
        if [ "${SITEINFO_BITS}" = "64" -a -e
"/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a
"${NO32LIBS}" != "1" ]; then
            # We need the 32-bit libpseudo on a 64-bit machine...
                    # ... and we really, really, hope that the native
host is
@@ -56,18 +50,20 @@ do_compile_prepend_class-native () {
            # prevent it from removing the lib, but remove everything
else
            make 'LIB=foo' ${MAKEOPTS} distclean
        fi
+    if [ "${SITEINFO_BITS}" = "64" ]; then
+      ${S}/configure --prefix=${prefix}
--libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS}
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix}
--cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite
--without-rpath
+    else
+      ${S}/configure --prefix=${prefix}
--libdir=${prefix}/lib/pseudo/lib
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix}
--cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite
--without-rpath
+    fi
+    oe_runmake ${MAKEOPTS}
    }

-do_compile_prepend_class-nativesdk () {
-    if [ "${SITEINFO_BITS}" = "64" -a -e
"/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a
"${NO32LIBS}" != "1" ]; then
-        # We need the 32-bit libpseudo on a 64-bit machine...
-                # ... and we really, really, hope that the native
host is
-                # x86, or else --bits may not work.
-        ./configure --prefix=${prefix}
--libdir=${prefix}/lib/pseudo/lib
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32
--without-rpath
-        oe_runmake ${MAKEOPTS} libpseudo
-        # prevent it from removing the lib, but remove everything
else
-        make 'LIB=foo' ${MAKEOPTS} distclean
-    fi
+do_compile_class-native () {
+    do_compile_native
+}
+
+do_compile_class-nativesdk () {
+    do_compile_native
    }

    do_install () {
@@ -77,18 +73,20 @@ do_install () {
    # Two below are the same
    # If necessary install for the alternative machine arch.  This is
only
    # necessary in a native build.
-do_install_append_class-native () {
+do_install_native () {
        if [ "${SITEINFO_BITS}" = "64" -a -e
"/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a
"${NO32LIBS}" != "1" ]; then
            mkdir -p ${D}${prefix}/lib/pseudo/lib
            cp lib/pseudo/lib/libpseudo.so
${D}${prefix}/lib/pseudo/lib/.
        fi
+    oe_runmake 'DESTDIR=${D}' ${MAKEOPTS}
'LIB=lib/pseudo/lib$(MARK64)' install
+}
+
+do_install_class-native () {
+    do_install_native
    }

    do_install_append_class-nativesdk () {
-    if [ "${SITEINFO_BITS}" = "64" -a -e
"/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a
"${NO32LIBS}" != "1" ]; then
-        mkdir -p ${D}${prefix}/lib/pseudo/lib
-        cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/.
-    fi
+    do_install_native
    }

    BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/pseudo/pseudo_1.4.1.bb
b/meta/recipes-devtools/pseudo/pseudo_1.4.1.bb
index 70fe9c0..8367a34 100644
--- a/meta/recipes-devtools/pseudo/pseudo_1.4.1.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_1.4.1.bb
@@ -1,6 +1,6 @@
    require pseudo.inc

-PR = "r13"
+PR = "r14"

    SRC_URI =
"http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2";

diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb
b/meta/recipes-devtools/pseudo/pseudo_git.bb
index e394ffb..c8ec5ad 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -2,7 +2,7 @@ require pseudo.inc

    SRCREV = "398a264490713c912b4ce465251a8a82a7905f45"
    PV = "1.4.1+git${SRCPV}"
-PR = "r28"
+PR = "r29"

    DEFAULT_PREFERENCE = "-1"









_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to