From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 5/7] multilib: remove MULTILIB_PACKAGE_ARCHS variable
Date: Wed, 3 Aug 2011 10:32:26 -0500 [thread overview]
Message-ID: <4E396A0A.5010205@windriver.com> (raw)
In-Reply-To: <ba3e6c58f74119dcdf1c26cfa6f31ab1383004d1.1312384552.git.dongxiao.xu@intel.com>
On 8/3/11 10:19 AM, Dongxiao Xu wrote:
> multilib package and normal package shares the same architecture deploy
> folder, thus we do not need the ${MULTILIB_PACKAGE_ARCHS}.
This is incorrect behavior, at least for RPM. The folder should have the
pkgarch specific to the tuning used to generate the multilib. (Behavior may be
correct for deb/ipk.)
(If RPM sees two packages with the same .arch, it assumes that it's an upgrade
operation. If the .arch is different then it goes into the multilib mode and
will be able to install both packages together, assuming the conflict resolution
results in a working -- non-conflicting -- install solution.)
--Mark
> CC: Mark Hatle <mark.hatle@windriver.com>
> Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
> ---
> meta/classes/package_rpm.bbclass | 13 ++-----------
> meta/classes/populate_sdk_rpm.bbclass | 3 ---
> meta/classes/rootfs_rpm.bbclass | 3 ---
> 3 files changed, 2 insertions(+), 17 deletions(-)
>
> diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
> index abedc68..9d0eeba 100644
> --- a/meta/classes/package_rpm.bbclass
> +++ b/meta/classes/package_rpm.bbclass
> @@ -27,8 +27,7 @@ package_update_index_rpm () {
>
> # Update target packages
> base_archs="${PACKAGE_ARCHS}"
> - ml_archs="${MULTILIB_PACKAGE_ARCHS}"
> - package_update_index_rpm_common "${RPMCONF_TARGET_BASE}" base_archs ml_archs
> + package_update_index_rpm_common "${RPMCONF_TARGET_BASE}" base_archs
>
> # Update SDK packages
> base_archs="${SDK_PACKAGE_ARCHS}"
> @@ -76,7 +75,7 @@ package_update_index_rpm_common () {
> #
> package_generate_rpm_conf () {
> # Update target packages
> - package_generate_rpm_conf_common "${RPMCONF_TARGET_BASE}" base_archs ml_archs
> + package_generate_rpm_conf_common "${RPMCONF_TARGET_BASE}" base_archs
>
> # Update SDK packages
> package_generate_rpm_conf_common "${RPMCONF_HOST_BASE}" base_archs
> @@ -203,10 +202,6 @@ package_install_internal_rpm () {
>
> archvar=base_archs
> ml_pkg=$(echo ${pkg} | sed "s,^${MLPREFIX}\(.*\),\1,")
> - if [ "${ml_pkg}" != "${pkg}" ]; then
> - archvar=ml_archs
> - fi
> -
> pkg_name=$(resolve_package_rpm ${confbase}-${archvar}.conf ${ml_pkg})
> if [ -z "$pkg_name" ]; then
> echo "Unable to find package $pkg ($ml_pkg)!"
> @@ -223,10 +218,6 @@ package_install_internal_rpm () {
>
> archvar=base_archs
> ml_pkg=$(echo ${pkg} | sed "s,^${MLPREFIX}\(.*\),\1,")
> - if [ "${ml_pkg}" != "${pkg}" ]; then
> - archvar=ml_archs
> - fi
> -
> pkg_name=$(resolve_package_rpm ${confbase}-${archvar}.conf ${ml_pkg})
> if [ -z "$pkg_name" ]; then
> echo "Unable to find package $pkg ($ml_pkg)!"
> diff --git a/meta/classes/populate_sdk_rpm.bbclass b/meta/classes/populate_sdk_rpm.bbclass
> index 5fb0234..f33e4a9 100644
> --- a/meta/classes/populate_sdk_rpm.bbclass
> +++ b/meta/classes/populate_sdk_rpm.bbclass
> @@ -115,7 +115,6 @@ EOF
> }
>
> python () {
> - ml_package_archs = ""
> multilibs = d.getVar('MULTILIBS', True) or ""
> for ext in multilibs.split():
> eext = ext.split(':')
> @@ -125,8 +124,6 @@ python () {
> localdata.setVar("OVERRIDES", overrides)
> # TEMP: OVERRIDES isn't working right
> localdata.setVar("DEFAULTTUNE", localdata.getVar("DEFAULTTUNE_virtclass-multilib-" + eext[1], False) or "")
> - ml_package_archs += localdata.getVar("PACKAGE_ARCHS", True) or ""
> #bb.note("ML_PACKAGE_ARCHS %s %s %s" % (eext[1], localdata.getVar("PACKAGE_ARCHS", True) or "(none)", overrides))
> - bb.data.setVar('MULTILIB_PACKAGE_ARCHS', ml_package_archs, d)
> }
>
> diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
> index 7c06064..c188d27 100644
> --- a/meta/classes/rootfs_rpm.bbclass
> +++ b/meta/classes/rootfs_rpm.bbclass
> @@ -209,7 +209,6 @@ python () {
> bb.data.setVar('RPM_PREPROCESS_COMMANDS', '', d)
> bb.data.setVar('RPM_POSTPROCESS_COMMANDS', '', d)
>
> - ml_package_archs = ""
> multilibs = d.getVar('MULTILIBS', True) or ""
> for ext in multilibs.split():
> eext = ext.split(':')
> @@ -219,7 +218,5 @@ python () {
> localdata.setVar("OVERRIDES", overrides)
> # TEMP: OVERRIDES isn't working right
> localdata.setVar("DEFAULTTUNE", localdata.getVar("DEFAULTTUNE_virtclass-multilib-" + eext[1], False) or "")
> - ml_package_archs += localdata.getVar("PACKAGE_ARCHS", True) or ""
> #bb.note("ML_PACKAGE_ARCHS %s %s %s" % (eext[1], localdata.getVar("PACKAGE_ARCHS", True) or "(none)", overrides))
> - bb.data.setVar('MULTILIB_PACKAGE_ARCHS', ml_package_archs, d)
> }
next prev parent reply other threads:[~2011-08-03 15:36 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-03 15:19 [PATCH 0/7][PULL] Multilib: various fixes Dongxiao Xu
2011-08-03 15:19 ` [PATCH 1/7] eglibc-locale: Specially handle FILES_eglibc-gconv for multilib Dongxiao Xu
2011-08-03 15:19 ` [PATCH 2/7] libxml-simple-perl: Use BBCLASSEXTEND insteand of *-native recipe Dongxiao Xu
2011-08-03 15:19 ` [PATCH 3/7] openjade-native: Change RDEPENDS of sgml-common-native Dongxiao Xu
2011-08-03 15:19 ` [PATCH 4/7] multilib: Use BPN instead of PN for style like lib${PN} Dongxiao Xu
2011-08-03 15:19 ` [PATCH 5/7] multilib: remove MULTILIB_PACKAGE_ARCHS variable Dongxiao Xu
2011-08-03 15:32 ` Mark Hatle [this message]
2011-08-04 0:59 ` Xu, Dongxiao
2011-08-11 0:44 ` Xu, Dongxiao
2011-08-11 15:47 ` Mark Hatle
2011-08-03 15:19 ` [PATCH 6/7] package_rpm: fix strip_multilib function Dongxiao Xu
2011-08-03 15:38 ` Mark Hatle
2011-08-04 1:44 ` Xu, Dongxiao
2011-08-03 15:19 ` [PATCH 7/7] package_rpm: Fix package rename issue in multilib case Dongxiao Xu
2011-08-03 15:29 ` [PATCH 0/7][PULL] Multilib: various fixes Mark Hatle
2011-08-03 17:07 ` 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=4E396A0A.5010205@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