All of lore.kernel.org
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [RFC, PATCH] Make packaged-staging use more correct PSTAGE_PKGARCH
Date: Wed, 23 Jun 2010 10:24:53 -0700	[thread overview]
Message-ID: <20100623172453.GD5535@gmail.com> (raw)
In-Reply-To: <4C210735.5090202@mentor.com>

On (22/06/10 11:55), Tom Rini wrote:
> 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>

very nice

Acked-by: Khem Raj <raj.khem@gmail.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
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel



  reply	other threads:[~2010-06-23 17:28 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
2010-06-23 17:24     ` Khem Raj [this message]
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=20100623172453.GD5535@gmail.com \
    --to=raj.khem@gmail.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 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.