Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: Saul Wold <sgw@linux.intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 21/22] pseudo: Rework target, native and nativesdk pseudo intergration
Date: Thu, 6 Dec 2012 11:03:33 -0600	[thread overview]
Message-ID: <50C0CFE5.7000707@windriver.com> (raw)
In-Reply-To: <50C027BE.2020501@linux.intel.com>

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

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

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.

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

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.

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




  reply	other threads:[~2012-12-06 17:17 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-04 17:14 [PATCH 00/22] Misc fixes Mark Hatle
2012-12-04 17:14 ` [PATCH 01/22] cpio: Split RMT from cpio Mark Hatle
2012-12-04 17:14 ` [PATCH 02/22] tar: Split RMT from tar Mark Hatle
2012-12-04 17:14 ` [PATCH 03/22] update-alternatives.bbclass: Add missing runtime dependency Mark Hatle
2012-12-04 17:04   ` Martin Jansa
2012-12-04 17:34     ` Mark Hatle
2012-12-04 20:46       ` Richard Purdie
2012-12-05  1:47         ` Mark Hatle
2012-12-05  9:17           ` Richard Purdie
2012-12-04 17:14 ` [PATCH 04/22] package_rpm.bbclass: Add the runtime dependencies to the pre/post scriptlets Mark Hatle
2012-12-04 17:14 ` [PATCH 05/22] rpm: enable _openall_before_chroot by default Mark Hatle
2012-12-04 17:14 ` [PATCH 06/22] rpm: Move rpmdb_loadcvt from base to dev package Mark Hatle
2012-12-04 17:14 ` [PATCH 07/22] rpm: Fix rpm relocation macro usage Mark Hatle
2012-12-04 17:14 ` [PATCH 08/22] rpm: Fixup platform matching code Mark Hatle
2012-12-04 17:14 ` [PATCH 09/22] rpm: Fix Upstream-Status fields Mark Hatle
2012-12-04 17:14 ` [PATCH 10/22] createrepo: implement support for recommends Mark Hatle
2012-12-04 17:14 ` [PATCH 11/22] python-smartpm: add " Mark Hatle
2012-12-04 17:14 ` [PATCH 12/22] python-smartpm: style fixes Mark Hatle
2012-12-04 17:14 ` [PATCH 13/22] python-smartpm: fix package metadata not being read from rpm-md feeds Mark Hatle
2012-12-04 17:14 ` [PATCH 14/22] python-smartpm: don't create /var/tmp on every rpm database open Mark Hatle
2012-12-04 17:14 ` [PATCH 15/22] python-smartpm: support nolinktos and noparentdirs rpm options Mark Hatle
2012-12-04 17:14 ` [PATCH 16/22] python-smartpm: allow setting arbitrary macros in smart config Mark Hatle
2012-12-04 17:14 ` [PATCH 17/22] python-smartpm: Fix incorrect comparison arguments Mark Hatle
2012-12-04 17:14 ` [PATCH 18/22] shadow: add runtime dependency on base-passwd Mark Hatle
2012-12-04 17:14 ` [PATCH 19/22] package_deb: Dependencies with a ( or ) in them are invalid in debs Mark Hatle
2012-12-04 17:14 ` [PATCH 20/22] pkgconfig: Add a manual dependency of pkgconfig(pkg-config) Mark Hatle
2012-12-06 13:16   ` Paul Eggleton
2012-12-06 17:13     ` Mark Hatle
2012-12-06 13:30   ` Otavio Salvador
2012-12-06 17:12     ` Mark Hatle
2012-12-04 17:14 ` [PATCH 21/22] pseudo: Rework target, native and nativesdk pseudo intergration Mark Hatle
2012-12-06  5:06   ` Saul Wold
2012-12-06 17:03     ` Mark Hatle [this message]
2012-12-06 17:21       ` Saul Wold
2012-12-06 17:28         ` Mark Hatle
2012-12-06 17:39           ` Saul Wold
2012-12-04 17:14 ` [PATCH 22/22] license.bbclass: Avoid grep error message Mark Hatle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50C0CFE5.7000707@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=sgw@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox