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
next prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox