[OE-core] [PATCH 21/22] pseudo: Rework target, native and nativesdk pseudo intergration

Saul Wold sgw at linux.intel.com
Thu Dec 6 17:21:35 UTC 2012


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 <mark.hatle at windriver.com>
>>> ---
>>>    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.

> 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.

> 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"
>>>
>>>
>
>
>




More information about the Openembedded-core mailing list