Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Tom Rini <tom_rini@mentor.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [RFC, PATCH] Make packaged-staging use more correct PSTAGE_PKGARCH
Date: Tue, 22 Jun 2010 11:55:49 -0700	[thread overview]
Message-ID: <4C210735.5090202@mentor.com> (raw)
In-Reply-To: <20100622144759.GB32544@gmail.com>

Khem Raj wrote:
> On (21/06/10 14:54), Tom Rini wrote:
>> packaged-staging.bbclass: Change PSTAGE_PKGARCH to something dynamic
>>
>> Currently, we make all pstage packages be locked to BUILD_SYS which
>> causes annoying warnings in some cases and doesn't allow for sharing
>> between say 32 and 64bit (which is valid for target bits).
>>
>> This changes to ${PACKAGE_ARCH}-${HOST_SYS} for everything and
>> reworks the opkg.conf we generate to add entries as needed.
>>
>> There is an alternative, suggested by Chris Larson, that we modify
>> PSTAGE_PKGARCH in an anon python function so that we can avoid
>> things like 'x86_64-x86_64-linux' in native packages and similar
>> duplication in sdk packages, or otherwise be more dynamic (use
>> HOST_OS instead of SYS and then catch the cross case, etc).
> 
> I think this approach sounds better having same arch repeated twice
> would be confusing

Here we go.  This also reworks generating opkg.conf a little bit (it had 
multiple entries before due to a lazy grep).

Signed-off-by: Tom Rini <tom_rini@mentor.com>

diff --git a/classes/packaged-staging.bbclass 
b/classes/packaged-staging.bbclass
index 8a98940..19a6a6d 100644
--- a/classes/packaged-staging.bbclass
+++ b/classes/packaged-staging.bbclass
@@ -12,7 +12,7 @@
  # bitbake.conf set PSTAGING_ACTIVE = "0", this class sets to "1" if 
we're active
  #
  PSTAGE_PKGVERSION = "${PV}-${PR}"
-PSTAGE_PKGARCH    = "${BUILD_SYS}"
+PSTAGE_PKGARCH    = "${PACKAGE_ARCH}-${HOST_OS}"
  PSTAGE_EXTRAPATH  ?= "/${OELAYOUT_ABI}/${DISTRO_PR}/"
  PSTAGE_PKGPATH    = "${DISTRO}${PSTAGE_EXTRAPATH}"
  PSTAGE_PKGPN      = 
"${@bb.data.expand('staging-${PN}-${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}', 
d).replace('_', '-')}"
@@ -28,6 +28,12 @@ PSTAGE_NATIVEDEPENDS = "\

  BB_STAMP_WHITELIST = "${PSTAGE_NATIVEDEPENDS}"

+python __anonymous() {
+    # We need PSTAGE_PKGARCH to contain information about the target.
+    if bb.data.inherits_class('cross', d):
+        bb.data.setVar('PSTAGE_PKGARCH', 
"${HOST_SYS}-${PACKAGE_ARCH}-${TARGET_OS}", d)
+}
+
  python () {
      pstage_allowed = True

@@ -148,14 +154,13 @@ staging_helper () {
  	# Assemble appropriate opkg.conf
  	conffile=${PSTAGE_MACHCONFIG}
  	mkdir -p ${PSTAGE_WORKDIR}/pstaging_lists
+	arch="${PSTAGE_PKGARCH}"
  	if [ ! -e $conffile ]; then
-		ipkgarchs="${BUILD_SYS}"
-		priority=1
-		for arch in $ipkgarchs; do
-			echo "arch $arch $priority" >> $conffile
-			priority=$(expr $priority + 5)
-		done
+		echo "arch $arch 1" > $conffile
  		echo "dest root /" >> $conffile
+	elif [ `grep -c " $arch " $conffile` -eq 0 ]; then
+		priority=$(expr `grep -cE "^arch" $conffile` + 1)
+		sed -i -e "/dest/iarch $arch $priority" $conffile
  	fi
  	if [ ! -e ${TMPDIR}${libdir_native}/opkg/info/ ]; then
  		mkdir -p ${TMPDIR}${libdir_native}/opkg/info/

-- 
Tom Rini
Mentor Graphics Corporation



  reply	other threads:[~2010-06-22 19:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-21 21:54 [RFC, PATCH] Make packaged-staging use more correct PSTAGE_PKGARCH Tom Rini
2010-06-22 14:47 ` Khem Raj
2010-06-22 18:55   ` Tom Rini [this message]
2010-06-23 17:24     ` Khem Raj
2010-06-23 18:59       ` Chris Larson

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=4C210735.5090202@mentor.com \
    --to=tom_rini@mentor.com \
    --cc=openembedded-devel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox