All of lore.kernel.org
 help / color / mirror / Atom feed
From: Saul Wold <sgw@linux.intel.com>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 6/6] image.bbclass: Add support to build the SDK in parallel with the image
Date: Tue, 03 Jul 2012 16:47:51 -0700	[thread overview]
Message-ID: <4FF384A7.5020606@linux.intel.com> (raw)
In-Reply-To: <28adf5fdb58c3409ec2dcc1a8dfffaaf2a8eab2b.1341032578.git.mark.hatle@windriver.com>

On 06/29/2012 10:07 PM, Mark Hatle wrote:
> When building an image recipe, you can now build a companion SDK by
> calling the populate_sdk task:
>    bitbake -c populate_sdk core-image-minimal
>
> Note: there are still issues w/ the SDK not working completely with
> multilibs.

So this does break the default multi-lib build also, I thought it was a 
transient problem at first, but it's very reproducible.

Add these to your local.conf
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"

bitbake lib32-core-image-minimal

Then wait and:

> ERROR: Logfile of failure stored in: /srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-multilib/build/build/tmp/work/qemux86_64-poky-linux/lib32-core-image-minimal-1.0-r0/temp/log.do_rootfs.39788
> Log data follows:
> | DEBUG: Executing shell function do_rootfs
> | Generating solve db for /srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-multilib/build/build/tmp/deploy/rpm/qemux86_64...
> | Generating solve db for /srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-multilib/build/build/tmp/deploy/rpm/x86_64...
> | Generating solve db for /srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-multilib/build/build/tmp/deploy/rpm/all...
> | Generating solve db for /srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-multilib/build/build/tmp/deploy/rpm/qemux86_64...
> | Generating solve db for /srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-multilib/build/build/tmp/deploy/rpm/all...
> | Generating solve db for /srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-multilib/build/build/tmp/deploy/rpm/all...
> | Processing lib32-task-core-boot...
> | Unable to find package lib32-task-core-boot (task-core-boot)!
> | ERROR: Function failed: do_rootfs (see /srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-multilib/build/build/tmp/work/qemux86_64-poky-linux/lib32-core-image-minimal-1.0-r0/temp/log.do_rootfs.39788 for further information)
> NOTE: package lib32-core-image-minimal-1.0-r0: task do_rootfs: Failed

The rpm seem to exist, but not getting mapped properly??

ls tmp/deploy/rpm/*/*task-core*
tmp/deploy/rpm/lib32_qemux86_64/task-core-boot-1.0-r9.lib32_qemux86_64.rpm

> rpm -q -p tmp/deploy/rpm/lib32_qemux86_64/task-core-boot-1.0-r9.lib32_qemux86_64.rpm --info
> warning: tmp/deploy/rpm/lib32_qemux86_64/task-core-boot-1.0-r9.lib32_qemux86_64.rpm: Header V4 DSA/SHA1 Signature, key ID f72af359: NOKEY
> Name        : task-core-boot               Relocations: (not relocatable)
> Version     : 1.0                               Vendor: (none)
> Release     : r9                            Build Date: Tue 03 Jul 2012 04:03:16 PM PDT
> Install Date: (not installed)               Build Host: yocto-hm1.jf.intel.com
> Group       : base                          Source RPM: task-core-boot-1.0-r9.src.rpm
> Size        : 0                                License: MIT
> Signature   : DSA/SHA1, Tue 03 Jul 2012 04:03:16 PM PDT, Key ID 6a15ede1f72af359
> Packager    : Poky <poky@yoctoproject.org>
> URL         : unknown
> Summary     : lib32-task-core-boot version 1.0-r9
> Description :
> Task for OpenedHand Poky - minimal bootable image
> Distribution: (none)

Other RPM queries yielded nothing or (contains no files)
   -c, --dump, --list, --provides

I hope you are able to look into this a little deeper on Thursday

Thanks
	Sau!

>
> A lock is required between rootfs and populate_sdk activities to prevent
> configuration file clashes and similar package management problems in ipk
> and deb based systems.  (RPM already had a lock for a different reason.)
>
> Signed-off-by: Mark Hatle<mark.hatle@windriver.com>
> ---
>   meta/classes/image.bbclass             |    5 +++++
>   meta/classes/populate_sdk_base.bbclass |    1 +
>   meta/classes/populate_sdk_deb.bbclass  |    2 ++
>   meta/classes/populate_sdk_ipk.bbclass  |    2 ++
>   meta/classes/rootfs_deb.bbclass        |    2 ++
>   meta/classes/rootfs_ipk.bbclass        |    2 ++
>   6 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 4f50376..7e41982 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -3,6 +3,11 @@ inherit rootfs_${IMAGE_PKGTYPE}
>   IMAGETEST ?= "dummy"
>   inherit imagetest-${IMAGETEST}
>
> +inherit populate_sdk_base
> +
> +TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}"
> +TOOLCHAIN_TARGET_TASK_ATTEMPTONLY += "${PACKAGE_INSTALL_ATTEMPTONLY} ${PACKAGE_GROUP_dev-pkgs} ${PACKAGE_GROUP_dbg-pkgs}"
> +
>   inherit gzipnative
>
>   LICENSE = "MIT"
> diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
> index 6dc66fb..ed2dca0 100644
> --- a/meta/classes/populate_sdk_base.bbclass
> +++ b/meta/classes/populate_sdk_base.bbclass
> @@ -120,6 +120,7 @@ populate_sdk_log_check() {
>   	done
>   }
>
> +do_populate_sdk[dirs] = "${TOPDIR}"
>   do_populate_sdk[nostamp] = "1"
>   do_populate_sdk[depends] = "${@' '.join([x + ':do_populate_sysroot' for x in d.getVar('SDK_DEPENDS', True).split()])}"
>   do_populate_sdk[rdepends] = "${@' '.join([x + ':do_populate_sysroot' for x in d.getVar('SDK_RDEPENDS', True).split()])}"
> diff --git a/meta/classes/populate_sdk_deb.bbclass b/meta/classes/populate_sdk_deb.bbclass
> index c3b3e0c..9e9e1e1 100644
> --- a/meta/classes/populate_sdk_deb.bbclass
> +++ b/meta/classes/populate_sdk_deb.bbclass
> @@ -6,6 +6,8 @@ DEB_SDK_ARCH = "${@[d.getVar('SDK_ARCH', True), "i386"]\
>                   [d.getVar('SDK_ARCH', True) in \
>                   ["x86", "i486", "i586", "i686", "pentium"]]}"
>
> +do_populate_sdk[lockfiles] += "${WORKDIR}/deb.lock"
> +
>   populate_sdk_post_deb () {
>
>   	local target_rootfs=$1
> diff --git a/meta/classes/populate_sdk_ipk.bbclass b/meta/classes/populate_sdk_ipk.bbclass
> index aa3efde..4321afb 100644
> --- a/meta/classes/populate_sdk_ipk.bbclass
> +++ b/meta/classes/populate_sdk_ipk.bbclass
> @@ -1,6 +1,8 @@
>   do_populate_sdk[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot"
>   do_populate_sdk[recrdeptask] += "do_package_write_ipk"
>
> +do_populate_sdk[lockfiles] += "${WORKDIR}/ipk.lock"
> +
>   populate_sdk_ipk() {
>
>   	rm -f ${IPKGCONF_TARGET}
> diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass
> index 6c9767f..4ea71da 100644
> --- a/meta/classes/rootfs_deb.bbclass
> +++ b/meta/classes/rootfs_deb.bbclass
> @@ -8,6 +8,8 @@ ROOTFS_PKGMANAGE_BOOTSTRAP  = "run-postinsts"
>   do_rootfs[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot"
>   do_rootfs[recrdeptask] += "do_package_write_deb"
>
> +do_rootfs[lockfiles] += "${WORKDIR}/deb.lock"
> +
>   DEB_POSTPROCESS_COMMANDS = "rootfs_install_all_locales; "
>
>   opkglibdir = "${localstatedir}/lib/opkg"
> diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass
> index 1580086..9732385 100644
> --- a/meta/classes/rootfs_ipk.bbclass
> +++ b/meta/classes/rootfs_ipk.bbclass
> @@ -12,6 +12,8 @@ ROOTFS_PKGMANAGE_BOOTSTRAP  = "run-postinsts"
>   do_rootfs[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot"
>   do_rootfs[recrdeptask] += "do_package_write_ipk"
>
> +do_rootfs[lockfiles] += "${WORKDIR}/ipk.lock"
> +
>   IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} --force-overwrite"
>
>   OPKG_PREPROCESS_COMMANDS = "package_update_index_ipk; package_generate_ipkg_conf"



  parent reply	other threads:[~2012-07-03 23:58 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-30  5:07 [PATCH 0/6] Enable the ability to create an image matching SDK Mark Hatle
2012-06-30  5:07 ` [PATCH 1/6] Fix manual log file paths Mark Hatle
2012-06-30  5:07 ` [PATCH 2/6] populate_sdk.bbclass: Split into two parts Mark Hatle
2012-06-30  5:07 ` [PATCH 3/6] populate_sdk: Allow for attempt only packages in the SDK Mark Hatle
2012-06-30  5:07 ` [PATCH 4/6] populate_sdk_base.bbclass: Change to using task specific depends Mark Hatle
2012-06-30  5:07 ` [PATCH 5/6] populate_sdk: enable basic multilib support Mark Hatle
2012-06-30  5:07 ` [PATCH 6/6] image.bbclass: Add support to build the SDK in parallel with the image Mark Hatle
2012-07-02 19:44   ` Saul Wold
2012-07-02 19:49     ` Mark Hatle
2012-07-02 20:05       ` Saul Wold
2012-07-02 20:12   ` Phil Blundell
2012-07-02 20:32     ` Mark Hatle
2012-07-02 21:05       ` Phil Blundell
2012-07-02 21:37         ` Mark Hatle
2012-07-03 23:47   ` Saul Wold [this message]
2012-07-02 15:20 ` [PATCH 0/6 v2] Enable the ability to create an image matching SDK McClintock Matthew-B29882
2012-07-02 16:27   ` 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=4FF384A7.5020606@linux.intel.com \
    --to=sgw@linux.intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    /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 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.