All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 16/22] populate_sdk: Fix the introduction of sdknative packages
Date: Mon, 1 Aug 2011 09:47:20 -0500	[thread overview]
Message-ID: <4E36BC78.9060007@windriver.com> (raw)
In-Reply-To: <1312204015.2344.434.camel@rex>

On 8/1/11 8:06 AM, Richard Purdie wrote:
> On Mon, 2011-08-01 at 00:36 -0700, Saul Wold wrote:
>> From: Mark Hatle <mark.hatle@windriver.com>
>>
>> The sdknative packages were not being introduced into the list of available
>> packages properly.  Fix this by always introducing it and avoiding a sed of
>> one type to another.
>>
>> Also fix a number of minor issues with the RPM behavior when building sdk
>> images.
> 
> I'm afraid this change looks wrong to me. Firstly, all arch packages are
> "all", not "all-nativesdk". You're also cutting down the arch list to a
> single sdk entry rather than the intended package_archs list.
> 
> "all" == "all-nativesdk" as things stand might be wrong for various
> other reasons I can think of but it is what would currently be
> generated.

No, that's not what is happening at all.  The original sed was completely broken
and wouldn't always work.

The arch list being processed is the target arch list.. typically it's something
like:

all any noarch powerpc ppc603e qemuppc

Before the system was trying to do a search/replace on "HOST_ARCH" and replace
it with SDK_ARCH..  this is kind of insane.. because there is no guaranty that
HOST_ARCH will even be in the arch list.  So instead the patch simply adds
SDK_ARCH-nativesdk, and then processes the list as normal.. the result is:

x86_64-nativesdk all any noarch powerpc ppc603e qemuppc

before it would have been (assuming the sed even worked)

all any noarch x86_64-nativesdk ppc603e qemuppc

so any packages with arch of "powerpc" would have been missed and the install
failed..  (or if powerpc didn't exist, it would end up without x86_64-nativesdk
even in the list.. which is how I found the problem.)

> All things considered, this issue needs more work.
> 
> Cheers,
> 
> Richard
> 
> 
> 
>> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
>> ---
>>  meta/classes/package_rpm.bbclass      |   19 +++++++++----------
>>  meta/classes/populate_sdk_deb.bbclass |   11 ++---------
>>  meta/classes/populate_sdk_rpm.bbclass |   11 ++---------
>>  3 files changed, 13 insertions(+), 28 deletions(-)
>>
>> diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
>> index 0377100..856dfb0 100644
>> --- a/meta/classes/package_rpm.bbclass
>> +++ b/meta/classes/package_rpm.bbclass
>> @@ -32,14 +32,12 @@ package_update_index_rpm () {
>>  		eval archs=\${${archvar}}
>>  		packagedirs=""
>>  		packagedirs_sdk=""
>> -		for arch in $archs; do
>> -			sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
>> -			extension="-nativesdk"
>> -			if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
>> -			    extension=""
>> -			fi
>> +		if [ "${SDK_ARCH}-nativesdk" != "-nativesdk" ]; then
>> +			packagedirs_sdk="${DEPLOY_DIR_RPM}/${SDK_ARCH}-nativesdk"
>> +		fi
>> +		for arch in $archs ; do
>>  			packagedirs="${DEPLOY_DIR_RPM}/$arch $packagedirs"
>> -			packagedirs_sdk="${DEPLOY_DIR_RPM}/$sdkarch$extension $packagedirs_sdk"
>> +			packagedirs_sdk="${DEPLOY_DIR_RPM}/$arch $packagedirs_sdk"
>>  
>>  			rm -rf ${DEPLOY_DIR_RPM}/$arch/solvedb
>>  			rm -rf ${DEPLOY_DIR_RPM}/$sdkarch$extension/solvedb
>> @@ -95,6 +93,7 @@ package_update_index_rpm () {
>>  #
>>  package_generate_rpm_conf () {
>>  	printf "_solve_dbpath " > ${RPMCONF_TARGET_BASE}.macro
>> +	printf "_solve_dbpath " > ${RPMCONF_HOST_BASE}.macro
>>  	o_colon_t=false
>>  	o_colon_h=false
>>  
>> @@ -238,7 +237,7 @@ package_install_internal_rpm () {
>>  					echo "Unable to find package $pkg ($ml_pkg)!"
>>  					exit 1
>>  				fi
>> -				echo $pkg_name >> ${IMAGE_ROOTFS}/install/install.manifest
>> +				echo $pkg_name >> ${target_rootfs}/install/install.manifest
>>  			done
>>  		fi
>>  	fi
>> @@ -258,7 +257,7 @@ package_install_internal_rpm () {
>>  				echo "Unable to find package $pkg ($ml_pkg)!"
>>  				exit 1
>>  			fi
>> -			echo $pkg_name >> ${IMAGE_ROOTFS}/install/install.manifest
>> +			echo $pkg_name >> ${target_rootfs}/install/install.manifest
>>  		done
>>  	fi
>>  
>> @@ -303,7 +302,7 @@ package_install_internal_rpm () {
>>  		# Dump the full set of recommends...
>>  		${RPM} --predefine "_rpmds_sysinfo_path ${target_rootfs}/etc/rpm/sysinfo" \
>>  			--predefine "_rpmrc_platform_path ${target_rootfs}/etc/rpm/platform" \
>> -			-D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${confbase}.macro`" \
>> +			-D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}.macro`" \
>>  			-D "__dbi_txn create nofsync private" \
>>  			-qa --qf "[%{RECOMMENDS}\n]" | sort -u > ${target_rootfs}/install/recommend
>>  		# Did we add more to the list?
>> diff --git a/meta/classes/populate_sdk_deb.bbclass b/meta/classes/populate_sdk_deb.bbclass
>> index a5b6384..9acc52d 100644
>> --- a/meta/classes/populate_sdk_deb.bbclass
>> +++ b/meta/classes/populate_sdk_deb.bbclass
>> @@ -34,16 +34,9 @@ fakeroot populate_sdk_deb () {
>>  	export INSTALL_ROOTFS_DEB="${SDK_OUTPUT}"
>>  	export INSTALL_BASEARCH_DEB="${SDK_ARCH}"
>>  	export INSTALL_PACKAGES_NORMAL_DEB="${TOOLCHAIN_HOST_TASK}"
>> -	INSTALL_ARCHS_DEB=""
>> +	INSTALL_ARCHS_DEB="${SDK_ARCH}-nativesdk"
>>  	for arch in ${PACKAGE_ARCHS}; do
>> -		sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
>> -		extension="-nativesdk"
>> -		if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
>> -		    extension=""
>> -		fi
>> -		if [ -e ${DEPLOY_DIR_DEB}/$sdkarch$extension ]; then
>> -			INSTALL_ARCHS_DEB="$INSTALL_ARCHS_DEB $sdkarch$extension"
>> -		fi
>> +		INSTALL_ARCHS_DEB="$INSTALL_ARCHS_DEB $arch"
>>  	done
>>  	export INSTALL_ARCHS_DEB
>>  
>> diff --git a/meta/classes/populate_sdk_rpm.bbclass b/meta/classes/populate_sdk_rpm.bbclass
>> index da308c1..8196542 100644
>> --- a/meta/classes/populate_sdk_rpm.bbclass
>> +++ b/meta/classes/populate_sdk_rpm.bbclass
>> @@ -53,16 +53,9 @@ fakeroot populate_sdk_rpm () {
>>  	export INSTALL_PLATFORM_RPM="${SDK_ARCH}"
>>  	export INSTALL_CONFBASE_RPM="${RPMCONF_HOST_BASE}"
>>  	export INSTALL_PACKAGES_NORMAL_RPM="${TOOLCHAIN_HOST_TASK}"
>> -	export INSTALL_PLATFORM_EXTRA_RPM=""
>> +	export INSTALL_PLATFORM_EXTRA_RPM="${SDK_ARCH}-nativesdk"
>>  	for arch in ${PACKAGE_ARCHS}; do
>> -		sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
>> -		extension="-nativesdk"
>> -		if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
>> -		    extension=""
>> -		fi
>> -		if [ -e ${DEPLOY_DIR_RPM}/$sdkarch$extension ]; then
>> -			INSTALL_PLATFORM_EXTRA_RPM="$sdkarch $INSTALL_PLATFORM_EXTRA_RPM"
>> -		fi
>> +		INSTALL_PLATFORM_EXTRA_RPM="$arch $INSTALL_PLATFORM_EXTRA_RPM"
>>  	done
>>  	export INSTALL_PLATFORM_EXTRA_RPM
>>  
> 
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




  reply	other threads:[~2011-08-01 14:51 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-01  7:35 [CONSOLIDATED PATCH 00/22] Fixes Multi-Lib & M3 Saul Wold
2011-08-01  7:35 ` [PATCH 01/22] meta-environment: set correct *MULTIMACH_TARGET_SYS Saul Wold
2011-08-01  7:35 ` [PATCH 02/22] glibc: deleted Saul Wold
2011-08-01  7:35 ` [PATCH 03/22] libzypp: Fix variable substitution problem in do_archgen step Saul Wold
2011-08-01  7:35 ` [PATCH 04/22] docbook-sgml-dtd-native: Write a bak file for shared state Saul Wold
2011-08-01  7:35 ` [PATCH 05/22] docbook-dsssl-stylesheets-native: " Saul Wold
2011-08-01  7:35 ` [PATCH 06/22] openjade-native: " Saul Wold
2011-08-01  7:35 ` [PATCH 07/22] sgml-common-native: Read a catalog backup to repopulate sgml-docbook.cat Saul Wold
2011-08-01  7:36 ` [PATCH 08/22] tune/arch-powerpc64: Fix typo with 64-bit TUNE_CCARGS handling Saul Wold
2011-08-01  7:36 ` [PATCH 09/22] tune/arch-powerpc64: Remove support for soft-float from ppc64 Saul Wold
2011-08-01  7:36 ` [PATCH 10/22] tune/arch-powerpc: Use fpu-soft to set PPCPKGSFX_FPU Saul Wold
2011-08-01 13:03   ` Richard Purdie
2011-08-01 14:13     ` Kumar Gala
2011-08-01 14:50       ` Mark Hatle
2011-08-01 15:57         ` Kumar Gala
2011-08-02 18:31     ` Kumar Gala
2011-08-02 22:36       ` Richard Purdie
2011-08-01  7:36 ` [PATCH 11/22] tune-ppce500mc: Adjust PowerPC e500mc tune file to correctly set hard fpu Saul Wold
2011-08-01  7:36 ` [PATCH 12/22] sanity.bbclass: Add sanity check that TUNE_PKGARCH appears in PACKAGE_ARCHS Saul Wold
2011-08-01  7:36 ` [PATCH 13/22] sanity: Dont throw a warning if TUNE_PKGARCH is in PACKAGE_ARCHS twice Saul Wold
2011-08-01 13:03   ` Richard Purdie
2011-08-01 13:28     ` Koen Kooi
2011-08-01 14:11     ` Kumar Gala
2011-08-01 17:34       ` Khem Raj
2011-08-01 18:51         ` Kumar Gala
2011-08-01 18:59           ` Khem Raj
2011-08-02 13:39             ` Richard Purdie
2011-08-01  7:36 ` [PATCH 14/22] libzypp: Bump PR Saul Wold
2011-08-01  7:36 ` [PATCH 15/22] tune/powerpc: Cleanup setting of TUNE_PKGARCH Saul Wold
2011-08-01  9:06   ` Richard Purdie
2011-08-01  7:36 ` [PATCH 16/22] populate_sdk: Fix the introduction of sdknative packages Saul Wold
2011-08-01 13:06   ` Richard Purdie
2011-08-01 14:47     ` Mark Hatle [this message]
2011-08-01  7:36 ` [PATCH 17/22] bitbake.conf: Add default tune-${DEFAULTTUNE} override Saul Wold
2011-08-01  9:00   ` Richard Purdie
2011-08-01  9:09   ` Phil Blundell
2011-08-01 14:36     ` Mark Hatle
2011-08-01  7:36 ` [PATCH 18/22] rootfs_rpm.bbclass: Fix multilib configurations to use DEFAULTTUNE Saul Wold
2011-08-01  7:36 ` [PATCH 19/22] package_{deb, rpm, ipk}.bbclass: fix 'lingusa' typo Saul Wold
2011-08-01  7:36 ` [PATCH 20/22] arch-armv7a.inc: fix armv7a-vfp-neon -> armv7a compat case Saul Wold
2011-08-01 13:10   ` Richard Purdie
2011-08-01 13:35     ` Koen Kooi
2011-08-01  7:36 ` [PATCH 21/22] external-*toolchain: remove glibc-utils provide Saul Wold
2011-08-01 13:11   ` Richard Purdie
2011-08-01  7:36 ` [PATCH 22/22] feature-arm-thumb: Take ARM_INSTRUCTION_SET into account to decide thumb mode Saul Wold
2011-08-01 13:14   ` Richard Purdie
2011-08-01 17:46     ` Khem Raj
2011-08-05 10:59     ` Phil Blundell
2011-08-05 11:39       ` Richard Purdie
2011-08-05 14:34         ` Phil Blundell
2011-08-05 15:23           ` Khem Raj
2011-08-05 16:23             ` Richard Purdie
2011-08-01 13:20 ` [CONSOLIDATED PATCH 00/22] Fixes Multi-Lib & M3 Richard Purdie

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=4E36BC78.9060007@windriver.com \
    --to=mark.hatle@windriver.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.