[oe] [RFC, PATCH] Make packaged-staging use more correct PSTAGE_PKGARCH

Khem Raj raj.khem at gmail.com
Tue Jun 22 14:47:59 UTC 2010


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

> 
> Signed-off-by: Tom Rini <tom_rini at mentor.com>
> 
> diff --git a/classes/packaged-staging.bbclass
> b/classes/packaged-staging.bbclass
> index 8a98940..d6ac67b 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_SYS}"
>  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('_', '-')}"
>  -148,15 +148,15 @@ 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
>  	fi
> +	if [ -f $conffile -a `grep -q $arch $conffile;echo $?` -ne 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/
>  	fi
> 
> -- 
> Tom Rini
> Mentor Graphics Corporation
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel




More information about the Openembedded-devel mailing list