Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/7][PULL] Multilib: various fixes
@ 2011-08-03 15:19 Dongxiao Xu
  2011-08-03 15:19 ` [PATCH 1/7] eglibc-locale: Specially handle FILES_eglibc-gconv for multilib Dongxiao Xu
                   ` (8 more replies)
  0 siblings, 9 replies; 16+ messages in thread
From: Dongxiao Xu @ 2011-08-03 15:19 UTC (permalink / raw)
  To: openembedded-core

Hi Richard,

This pull request contains several multilib fixes, especially for rpm side.
Please help to review and pull.

Current status for rpm sato is, most of the error dependency issues have been solved except one error while do_rootfs:

error: Failed dependencies:
        /bin/sh is needed by dbus-1.4.12-r0.x86_64
        /bin/sh is needed by psplash-0.0+svnr424-r6.x86_64
        /bin/sh is needed by portmap-6.0-r7.x86_64
        /bin/sh is needed by dropbear-0.52-r3.x86_64
        ...

I am looking into that currently. Any suggestion would be appreciated.

Thanks,
Dongxiao

The following changes since commit 07864a16baf18046b726ec72b688594a91c6e4b4:

  local.conf.sample: Fix TUNENAME reference (should be DEFAULTTUNE) (2011-08-02 14:40:54 +0100)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib dxu4/ml
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dxu4/ml

Dongxiao Xu (7):
  eglibc-locale: Specially handle FILES_eglibc-gconv for multilib
  libxml-simple-perl: Use BBCLASSEXTEND insteand of *-native recipe
  openjade-native: Change RDEPENDS of sgml-common-native
  multilib: Use BPN instead of PN for style like lib${PN}
  multilib: remove MULTILIB_PACKAGE_ARCHS variable
  package_rpm: fix strip_multilib function
  package_rpm: Fix package rename issue in multilib case

 meta/classes/libc-package.bbclass                  |    2 +-
 meta/classes/package_rpm.bbclass                   |   31 +++++++-------------
 meta/classes/populate_sdk_rpm.bbclass              |    3 --
 meta/classes/rootfs_rpm.bbclass                    |    3 --
 meta/recipes-core/eglibc/eglibc-locale.inc         |    5 ++-
 .../openjade/openjade-native_1.3.2.bb              |    2 +-
 .../perl/libxml-simple-perl-native_2.18.bb         |    7 ----
 .../perl/libxml-simple-perl_2.18.bb                |    2 +
 meta/recipes-devtools/python/python_2.6.6.bb       |    4 +-
 meta/recipes-extended/augeas/augeas.inc            |   12 ++++----
 meta/recipes-extended/gamin/gamin_0.1.10.bb        |    8 ++--
 meta/recipes-support/attr/ea-acl.inc               |    2 +-
 meta/recipes-support/sqlite/sqlite3.inc            |    6 ++--
 13 files changed, 35 insertions(+), 52 deletions(-)
 delete mode 100644 meta/recipes-devtools/perl/libxml-simple-perl-native_2.18.bb




^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/7] eglibc-locale: Specially handle FILES_eglibc-gconv for multilib
  2011-08-03 15:19 [PATCH 0/7][PULL] Multilib: various fixes Dongxiao Xu
@ 2011-08-03 15:19 ` Dongxiao Xu
  2011-08-03 15:19 ` [PATCH 2/7] libxml-simple-perl: Use BBCLASSEXTEND insteand of *-native recipe Dongxiao Xu
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Dongxiao Xu @ 2011-08-03 15:19 UTC (permalink / raw)
  To: openembedded-core

In multilib support, it iterate values in PACKAGES and then extend name
for variables like "FILES_xxx", "SUMMARY_xxx", etc.

However eglibc-gconv is dynamically put in PACKAGES by
package_do_split_gconv function. Therefore the name will not be
extended automatically.

Specially handle the FILES variable for eglibc-gconv to fix the issue
of missing "lib32-eglibc-gconv" issue in doing multilib do_rootfs.

Also when set PACKAGES, add the MLPREFIX.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 meta/classes/libc-package.bbclass          |    2 +-
 meta/recipes-core/eglibc/eglibc-locale.inc |    5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
index de57230..0d5ce20 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -191,7 +191,7 @@ python package_do_split_gconvs () {
 
 	do_split_packages(d, locales_dir, file_regex='(.*)', output_pattern=bpn+'-localedata-%s', \
 		description='locale definition for %s', hook=calc_locale_deps, extra_depends='')
-	bb.data.setVar('PACKAGES', bb.data.getVar('PACKAGES', d) + ' ' + bpn + '-gconv', d)
+	bb.data.setVar('PACKAGES', bb.data.getVar('PACKAGES', d) + ' ' + bb.data.getVar('MLPREFIX', d) + bpn + '-gconv', d)
 
 	use_bin = bb.data.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", d, 1)
 
diff --git a/meta/recipes-core/eglibc/eglibc-locale.inc b/meta/recipes-core/eglibc/eglibc-locale.inc
index b496ce6..ca3940d 100644
--- a/meta/recipes-core/eglibc/eglibc-locale.inc
+++ b/meta/recipes-core/eglibc/eglibc-locale.inc
@@ -41,7 +41,10 @@ PACKAGES_DYNAMIC = "locale-base-* \
 
 DESCRIPTION_localedef = "eglibc: compile locale definition files"
 
-FILES_eglibc-gconv = "${libdir}/gconv/*"
+# eglibc-gconv is dynamically added into PACKAGES, thus
+# FILES_eglibc-gconv will not be automatically extended in multilib.
+# Explicitly add ${MLPREFIX} for FILES_eglibc-gconv.
+FILES_${MLPREFIX}eglibc-gconv = "${libdir}/gconv/*"
 FILES_${PN}-dbg += "${libdir}/gconv/.debug/*"
 FILES_localedef${PKGSUFFIX} = "${bindir}/localedef"
 
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/7] libxml-simple-perl: Use BBCLASSEXTEND insteand of *-native recipe
  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 ` Dongxiao Xu
  2011-08-03 15:19 ` [PATCH 3/7] openjade-native: Change RDEPENDS of sgml-common-native Dongxiao Xu
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Dongxiao Xu @ 2011-08-03 15:19 UTC (permalink / raw)
  To: openembedded-core

It's not appropriate to require xxx.bb in xxx-native.bb, causing that
xxx-native depends on target recipe.

Use BBCLASSEXTEND to solve this issue.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 .../perl/libxml-simple-perl-native_2.18.bb         |    7 -------
 .../perl/libxml-simple-perl_2.18.bb                |    2 ++
 2 files changed, 2 insertions(+), 7 deletions(-)
 delete mode 100644 meta/recipes-devtools/perl/libxml-simple-perl-native_2.18.bb

diff --git a/meta/recipes-devtools/perl/libxml-simple-perl-native_2.18.bb b/meta/recipes-devtools/perl/libxml-simple-perl-native_2.18.bb
deleted file mode 100644
index 3877d0b..0000000
--- a/meta/recipes-devtools/perl/libxml-simple-perl-native_2.18.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-SECTION = "libs"
-
-inherit native
-
-require libxml-simple-perl_${PV}.bb
-
-DEPENDS += "libxml-parser-perl-native"
diff --git a/meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb b/meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb
index 3a50d7f..f2abf9d 100644
--- a/meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb
+++ b/meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb
@@ -14,3 +14,5 @@ S = "${WORKDIR}/XML-Simple-${PV}"
 EXTRA_PERLFLAGS = "-I ${STAGING_LIBDIR_NATIVE}/perl-native/perl/${@get_perl_version(d)}"
 
 inherit cpan
+
+BBCLASSEXTEND = "native"
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 3/7] openjade-native: Change RDEPENDS of sgml-common-native
  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 ` Dongxiao Xu
  2011-08-03 15:19 ` [PATCH 4/7] multilib: Use BPN instead of PN for style like lib${PN} Dongxiao Xu
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Dongxiao Xu @ 2011-08-03 15:19 UTC (permalink / raw)
  To: openembedded-core

openjade-native should RDEPENDS on sgml-common-native but not
sgml-common

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 .../openjade/openjade-native_1.3.2.bb              |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
index c71f22a..6cc6bb5 100644
--- a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
+++ b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=641ff1e4511f0a87044ad42f87cb1045"
 PR = "r4"
 
 DEPENDS = "opensp-native sgml-common-native"
-RDEPENDS_${PN} = "sgml-common"
+RDEPENDS_${PN} = "sgml-common-native"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/openjade/openjade-${PV}.tar.gz \
            file://makefile.patch \
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 4/7] multilib: Use BPN instead of PN for style like lib${PN}
  2011-08-03 15:19 [PATCH 0/7][PULL] Multilib: various fixes Dongxiao Xu
                   ` (2 preceding siblings ...)
  2011-08-03 15:19 ` [PATCH 3/7] openjade-native: Change RDEPENDS of sgml-common-native Dongxiao Xu
@ 2011-08-03 15:19 ` Dongxiao Xu
  2011-08-03 15:19 ` [PATCH 5/7] multilib: remove MULTILIB_PACKAGE_ARCHS variable Dongxiao Xu
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Dongxiao Xu @ 2011-08-03 15:19 UTC (permalink / raw)
  To: openembedded-core

When supporting multilib, ${PN} will be extended with MLPREFIX. However
if a package name contains ${PN} with styles like lib${PN}, such
extension will cause error. Use BPN in this case.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 meta/recipes-devtools/python/python_2.6.6.bb |    4 ++--
 meta/recipes-extended/augeas/augeas.inc      |   12 ++++++------
 meta/recipes-extended/gamin/gamin_0.1.10.bb  |    8 ++++----
 meta/recipes-support/attr/ea-acl.inc         |    2 +-
 meta/recipes-support/sqlite/sqlite3.inc      |    6 +++---
 5 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/meta/recipes-devtools/python/python_2.6.6.bb b/meta/recipes-devtools/python/python_2.6.6.bb
index f71440a..c9c1a13 100644
--- a/meta/recipes-devtools/python/python_2.6.6.bb
+++ b/meta/recipes-devtools/python/python_2.6.6.bb
@@ -116,8 +116,8 @@ FILES_${PN}-core += "${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py"
 FILES_${PN}-core += "${bindir}/2to3"
 
 # package libpython2
-PACKAGES =+ "lib${PN}2"
-FILES_lib${PN}2 = "${libdir}/libpython*.so.*"
+PACKAGES =+ "lib${BPN}2"
+FILES_lib${BPN}2 = "${libdir}/libpython*.so.*"
 
 # additional stuff -dev
 
diff --git a/meta/recipes-extended/augeas/augeas.inc b/meta/recipes-extended/augeas/augeas.inc
index 619cd20..0c6d534 100644
--- a/meta/recipes-extended/augeas/augeas.inc
+++ b/meta/recipes-extended/augeas/augeas.inc
@@ -11,15 +11,15 @@ DEPENDS = "readline"
 
 inherit autotools
 
-PACKAGES =+ "${PN}-lenses lib${PN} lib${PN}-dev lib${PN}-dbg"
+PACKAGES =+ "${PN}-lenses lib${BPN} lib${BPN}-dev lib${BPN}-dbg"
 
 FILES_${PN}-lenses = "${datadir}/augeas/lenses"
-FILES_lib${PN} = "${libdir}/*.so.*"
-FILES_lib${PN}-dev = "${libdir}/*.so ${libdir}/*.a ${libdir}/*.la ${includedir} ${libdir}/pkgconfig"
-FILES_lib${PN}-dbg = "${libdir}/.debug"
+FILES_lib${BPN} = "${libdir}/*.so.*"
+FILES_lib${BPN}-dev = "${libdir}/*.so ${libdir}/*.a ${libdir}/*.la ${includedir} ${libdir}/pkgconfig"
+FILES_lib${BPN}-dbg = "${libdir}/.debug"
 
-RDEPENDS_lib${PN} += "${PN}-lenses"
-RRECOMMENDS_lib${PN} += "${PN}"
+RDEPENDS_lib${BPN} += "${PN}-lenses"
+RRECOMMENDS_lib${BPN} += "${PN}"
 
 LEAD_SONAME = "libaugeas.so"
 
diff --git a/meta/recipes-extended/gamin/gamin_0.1.10.bb b/meta/recipes-extended/gamin/gamin_0.1.10.bb
index 81b27c0..080a325 100644
--- a/meta/recipes-extended/gamin/gamin_0.1.10.bb
+++ b/meta/recipes-extended/gamin/gamin_0.1.10.bb
@@ -20,14 +20,14 @@ inherit autotools pkgconfig
 
 EXTRA_OECONF = "--without-python"
 
-PACKAGES += "lib${PN} lib${PN}-dev"
+PACKAGES += "lib${BPN} lib${BPN}-dev"
 FILES_${PN} = "${libexecdir}"
 FILES_${PN}-dbg += "${libexecdir}/.debug"
-FILES_lib${PN} = "${libdir}/lib*.so.*"
-FILES_lib${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/lib*.la \
+FILES_lib${BPN} = "${libdir}/lib*.so.*"
+FILES_lib${BPN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/lib*.la \
                       ${libdir}/lib*.a ${libdir}/lib*.so"
 
-RDEPENDS_lib${PN} = "${PN}"
+RDEPENDS_lib${BPN} = "${PN}"
 
 LEAD_SONAME = "libgamin-1.so"
 
diff --git a/meta/recipes-support/attr/ea-acl.inc b/meta/recipes-support/attr/ea-acl.inc
index 9af5960..4e79421 100644
--- a/meta/recipes-support/attr/ea-acl.inc
+++ b/meta/recipes-support/attr/ea-acl.inc
@@ -16,7 +16,7 @@ do_install () {
 	oe_runmake install install-lib install-dev DIST_ROOT="${D}"
 }
 
-PACKAGES =+ "lib${PN} lib${PN}-dev lib${PN}-doc"
+PACKAGES =+ "lib${BPN} lib${BPN}-dev lib${BPN}-doc"
 
 FILES_lib${PN} = "${base_libdir}/lib*.so.*"
 
diff --git a/meta/recipes-support/sqlite/sqlite3.inc b/meta/recipes-support/sqlite/sqlite3.inc
index a5d122d..c96c6a6 100644
--- a/meta/recipes-support/sqlite/sqlite3.inc
+++ b/meta/recipes-support/sqlite/sqlite3.inc
@@ -17,12 +17,12 @@ export config_TARGET_LINK = "${CCLD}"
 export config_TARGET_CFLAGS = "${CFLAGS}"
 export config_TARGET_LFLAGS = "${LDFLAGS}"
 
-PACKAGES = "lib${PN} lib${PN}-dev lib${PN}-doc ${PN} ${PN}-dbg"
+PACKAGES = "lib${BPN} lib${BPN}-dev lib${BPN}-doc ${PN} ${PN}-dbg"
 FILES_${PN} = "${bindir}/*"
 FILES_lib${PN} = "${libdir}/*.so.*"
 FILES_lib${PN}-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so \
 		       ${libdir}/pkgconfig ${includedir}"
-FILES_lib${PN}-doc = "${docdir} ${mandir} ${infodir}"
-AUTO_LIBNAME_PKGS = "lib${PN}"
+FILES_lib${BPN}-doc = "${docdir} ${mandir} ${infodir}"
+AUTO_LIBNAME_PKGS = "lib${BPN}"
 
 BBCLASSEXTEND = "native nativesdk"
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 5/7] multilib: remove MULTILIB_PACKAGE_ARCHS variable
  2011-08-03 15:19 [PATCH 0/7][PULL] Multilib: various fixes Dongxiao Xu
                   ` (3 preceding siblings ...)
  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 ` Dongxiao Xu
  2011-08-03 15:32   ` Mark Hatle
  2011-08-03 15:19 ` [PATCH 6/7] package_rpm: fix strip_multilib function Dongxiao Xu
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 16+ messages in thread
From: Dongxiao Xu @ 2011-08-03 15:19 UTC (permalink / raw)
  To: openembedded-core

multilib package and normal package shares the same architecture deploy
folder, thus we do not need the ${MULTILIB_PACKAGE_ARCHS}.

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)
 }
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 6/7] package_rpm: fix strip_multilib function
  2011-08-03 15:19 [PATCH 0/7][PULL] Multilib: various fixes Dongxiao Xu
                   ` (4 preceding siblings ...)
  2011-08-03 15:19 ` [PATCH 5/7] multilib: remove MULTILIB_PACKAGE_ARCHS variable Dongxiao Xu
@ 2011-08-03 15:19 ` Dongxiao Xu
  2011-08-03 15:38   ` Mark Hatle
  2011-08-03 15:19 ` [PATCH 7/7] package_rpm: Fix package rename issue in multilib case Dongxiao Xu
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 16+ messages in thread
From: Dongxiao Xu @ 2011-08-03 15:19 UTC (permalink / raw)
  To: openembedded-core

The previous logic could only strip MLPREFIX from the first element in
an array, take an example, strip_multilib the [lib32-a lib32-b lib32-c]
will result in [a lib32-b lib32-c]. This commit change it to strip all
elements' multilib prefix.

CC: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 meta/classes/package_rpm.bbclass |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 9d0eeba..a29ce9d 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -326,7 +326,7 @@ python write_specfile () {
 		for ext in multilibs.split():
 			eext = ext.split(':')
 			if len(eext) > 1 and eext[0] == 'multilib' and name and name.find(eext[1] + '-') == 0:
-				name = (eext[1] + '-').join(name.split(eext[1] + '-', 1)[1:])
+				name = " ".join(name.split(eext[1] + '-')[1:])
 		return name
 
 #		ml = bb.data.getVar("MLPREFIX", d, True)
@@ -720,7 +720,7 @@ python do_package_rpm () {
 	def strip_multilib(name, d):
 		ml = bb.data.getVar("MLPREFIX", d, True)
 		if ml and name and len(ml) != 0 and name.find(ml) == 0:
-			return ml.join(name.split(ml, 1)[1:])
+			return " ".join(name.split(ml)[1:])
 		return name
 
 	workdir = bb.data.getVar('WORKDIR', d, True)
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 7/7] package_rpm: Fix package rename issue in multilib case
  2011-08-03 15:19 [PATCH 0/7][PULL] Multilib: various fixes Dongxiao Xu
                   ` (5 preceding siblings ...)
  2011-08-03 15:19 ` [PATCH 6/7] package_rpm: fix strip_multilib function Dongxiao Xu
@ 2011-08-03 15:19 ` Dongxiao Xu
  2011-08-03 15:29 ` [PATCH 0/7][PULL] Multilib: various fixes Mark Hatle
  2011-08-03 17:07 ` Richard Purdie
  8 siblings, 0 replies; 16+ messages in thread
From: Dongxiao Xu @ 2011-08-03 15:19 UTC (permalink / raw)
  To: openembedded-core

do_package task will write information into pkgdata and
do_package_write_rpm will read them out. Take lib32-dates as an example,
one of its RDEPENDS is li32-gtk+, and PKG_lib32-gtk+ = "libgtk-2.0",
these info is stored at:
tmp/pkgdata/x86_64-pokymllib32-linux/runtime/lib32-dates.

Function "mapping_rename_hook" in do_package_write_rpm is to handle
those renamed packages. However before it executes, translate_vers
has stripped the multilib prefix out, making it failed to find PKG_gtk+
value in pkgdata.

This commit moves the strip_multilib out of translate_vers and call it
after "mapping_rename_hook".

CC: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
---
 meta/classes/package_rpm.bbclass |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index a29ce9d..4a2d667 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -362,7 +362,7 @@ python write_specfile () {
 							pv = subd['PKGV']
 							reppv = pv.replace('-', '+')
 							ver = ver.replace(pv, reppv)
-				newdeps_dict[strip_multilib(dep, d)] = ver
+				newdeps_dict[dep] = ver
 			depends = bb.utils.join_deps(newdeps_dict)
 			bb.data.setVar(varname, depends.strip(), d)
 
@@ -484,12 +484,12 @@ python write_specfile () {
 		# Map the dependencies into their final form
 		bb.build.exec_func("mapping_rename_hook", localdata)
 
-		splitrdepends    = bb.data.getVar('RDEPENDS', localdata, True) or ""
-		splitrrecommends = bb.data.getVar('RRECOMMENDS', localdata, True) or ""
-		splitrsuggests   = bb.data.getVar('RSUGGESTS', localdata, True) or ""
-		splitrprovides   = bb.data.getVar('RPROVIDES', localdata, True) or ""
-		splitrreplaces   = bb.data.getVar('RREPLACES', localdata, True) or ""
-		splitrconflicts  = bb.data.getVar('RCONFLICTS', localdata, True) or ""
+		splitrdepends    = strip_multilib(bb.data.getVar('RDEPENDS', localdata, True), d) or ""
+		splitrrecommends = strip_multilib(bb.data.getVar('RRECOMMENDS', localdata, True), d) or ""
+		splitrsuggests   = strip_multilib(bb.data.getVar('RSUGGESTS', localdata, True), d) or ""
+		splitrprovides   = strip_multilib(bb.data.getVar('RPROVIDES', localdata, True), d) or ""
+		splitrreplaces   = strip_multilib(bb.data.getVar('RREPLACES', localdata, True), d) or ""
+		splitrconflicts  = strip_multilib(bb.data.getVar('RCONFLICTS', localdata, True), d) or ""
 		splitrobsoletes  = []
 
 		# Gather special src/first package data
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/7][PULL] Multilib: various fixes
  2011-08-03 15:19 [PATCH 0/7][PULL] Multilib: various fixes Dongxiao Xu
                   ` (6 preceding siblings ...)
  2011-08-03 15:19 ` [PATCH 7/7] package_rpm: Fix package rename issue in multilib case Dongxiao Xu
@ 2011-08-03 15:29 ` Mark Hatle
  2011-08-03 17:07 ` Richard Purdie
  8 siblings, 0 replies; 16+ messages in thread
From: Mark Hatle @ 2011-08-03 15:29 UTC (permalink / raw)
  To: openembedded-core

On 8/3/11 10:19 AM, Dongxiao Xu wrote:
> Hi Richard,
> 
> This pull request contains several multilib fixes, especially for rpm side.
> Please help to review and pull.
> 
> Current status for rpm sato is, most of the error dependency issues have been solved except one error while do_rootfs:
> 
> error: Failed dependencies:
>         /bin/sh is needed by dbus-1.4.12-r0.x86_64
>         /bin/sh is needed by psplash-0.0+svnr424-r6.x86_64
>         /bin/sh is needed by portmap-6.0-r7.x86_64
>         /bin/sh is needed by dropbear-0.52-r3.x86_64
>         ...
> 
> I am looking into that currently. Any suggestion would be appreciated.

The issue is due to nothing providing /bin/sh currently.  /bin/sh is provide via
the alternatives mechanism, we need a way to use this mechanism to tell RPM the
required component is available.  (A discussion is already going on within the
oe-core mailing list, topic is "[PATCH 5/5] update-alternatives: Add
alternatives as a runtime provide".

> Thanks,
> Dongxiao
> 
> The following changes since commit 07864a16baf18046b726ec72b688594a91c6e4b4:
> 
>   local.conf.sample: Fix TUNENAME reference (should be DEFAULTTUNE) (2011-08-02 14:40:54 +0100)
> 
> are available in the git repository at:
>   git://git.pokylinux.org/poky-contrib dxu4/ml
>   http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dxu4/ml
> 
> Dongxiao Xu (7):
>   eglibc-locale: Specially handle FILES_eglibc-gconv for multilib
>   libxml-simple-perl: Use BBCLASSEXTEND insteand of *-native recipe
>   openjade-native: Change RDEPENDS of sgml-common-native
>   multilib: Use BPN instead of PN for style like lib${PN}
>   multilib: remove MULTILIB_PACKAGE_ARCHS variable
>   package_rpm: fix strip_multilib function
>   package_rpm: Fix package rename issue in multilib case
> 
>  meta/classes/libc-package.bbclass                  |    2 +-
>  meta/classes/package_rpm.bbclass                   |   31 +++++++-------------
>  meta/classes/populate_sdk_rpm.bbclass              |    3 --
>  meta/classes/rootfs_rpm.bbclass                    |    3 --
>  meta/recipes-core/eglibc/eglibc-locale.inc         |    5 ++-
>  .../openjade/openjade-native_1.3.2.bb              |    2 +-
>  .../perl/libxml-simple-perl-native_2.18.bb         |    7 ----
>  .../perl/libxml-simple-perl_2.18.bb                |    2 +
>  meta/recipes-devtools/python/python_2.6.6.bb       |    4 +-
>  meta/recipes-extended/augeas/augeas.inc            |   12 ++++----
>  meta/recipes-extended/gamin/gamin_0.1.10.bb        |    8 ++--
>  meta/recipes-support/attr/ea-acl.inc               |    2 +-
>  meta/recipes-support/sqlite/sqlite3.inc            |    6 ++--
>  13 files changed, 35 insertions(+), 52 deletions(-)
>  delete mode 100644 meta/recipes-devtools/perl/libxml-simple-perl-native_2.18.bb
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 5/7] multilib: remove MULTILIB_PACKAGE_ARCHS variable
  2011-08-03 15:19 ` [PATCH 5/7] multilib: remove MULTILIB_PACKAGE_ARCHS variable Dongxiao Xu
@ 2011-08-03 15:32   ` Mark Hatle
  2011-08-04  0:59     ` Xu, Dongxiao
  0 siblings, 1 reply; 16+ messages in thread
From: Mark Hatle @ 2011-08-03 15:32 UTC (permalink / raw)
  To: openembedded-core

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)
>  }




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 6/7] package_rpm: fix strip_multilib function
  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
  0 siblings, 1 reply; 16+ messages in thread
From: Mark Hatle @ 2011-08-03 15:38 UTC (permalink / raw)
  To: openembedded-core

On 8/3/11 10:19 AM, Dongxiao Xu wrote:
> The previous logic could only strip MLPREFIX from the first element in
> an array, take an example, strip_multilib the [lib32-a lib32-b lib32-c]
> will result in [a lib32-b lib32-c]. This commit change it to strip all
> elements' multilib prefix.
> 
> CC: Mark Hatle <mark.hatle@windriver.com>
> Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
> ---
>  meta/classes/package_rpm.bbclass |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
> index 9d0eeba..a29ce9d 100644
> --- a/meta/classes/package_rpm.bbclass
> +++ b/meta/classes/package_rpm.bbclass
> @@ -326,7 +326,7 @@ python write_specfile () {
>  		for ext in multilibs.split():
>  			eext = ext.split(':')
>  			if len(eext) > 1 and eext[0] == 'multilib' and name and name.find(eext[1] + '-') == 0:
> -				name = (eext[1] + '-').join(name.split(eext[1] + '-', 1)[1:])
> +				name = " ".join(name.split(eext[1] + '-')[1:])

This looks incorrect to me, with the " ".join, it's going to join multiple
elements with a whitespace between them.  The original code was written to work
on one item at a time within the list of multilibs.

How well has this been tested?  Since I don't have all of the context this very
well might be correct within the current scope of the multilib implementation.

>  		return name
>  
>  #		ml = bb.data.getVar("MLPREFIX", d, True)
> @@ -720,7 +720,7 @@ python do_package_rpm () {
>  	def strip_multilib(name, d):
>  		ml = bb.data.getVar("MLPREFIX", d, True)
>  		if ml and name and len(ml) != 0 and name.find(ml) == 0:
> -			return ml.join(name.split(ml, 1)[1:])
> +			return " ".join(name.split(ml)[1:])
>  		return name
>  
>  	workdir = bb.data.getVar('WORKDIR', d, True)




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/7][PULL] Multilib: various fixes
  2011-08-03 15:19 [PATCH 0/7][PULL] Multilib: various fixes Dongxiao Xu
                   ` (7 preceding siblings ...)
  2011-08-03 15:29 ` [PATCH 0/7][PULL] Multilib: various fixes Mark Hatle
@ 2011-08-03 17:07 ` Richard Purdie
  8 siblings, 0 replies; 16+ messages in thread
From: Richard Purdie @ 2011-08-03 17:07 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Wed, 2011-08-03 at 23:19 +0800, Dongxiao Xu wrote:
> Hi Richard,
> 
> This pull request contains several multilib fixes, especially for rpm side.
> Please help to review and pull.
> 
> Current status for rpm sato is, most of the error dependency issues have been solved except one error while do_rootfs:
> 
> error: Failed dependencies:
>         /bin/sh is needed by dbus-1.4.12-r0.x86_64
>         /bin/sh is needed by psplash-0.0+svnr424-r6.x86_64
>         /bin/sh is needed by portmap-6.0-r7.x86_64
>         /bin/sh is needed by dropbear-0.52-r3.x86_64
>         ...
> 
> I am looking into that currently. Any suggestion would be appreciated.

There should be a fix merged for that issue now :)


> The following changes since commit 07864a16baf18046b726ec72b688594a91c6e4b4:
> 
>   local.conf.sample: Fix TUNENAME reference (should be DEFAULTTUNE) (2011-08-02 14:40:54 +0100)
> 
> are available in the git repository at:
>   git://git.pokylinux.org/poky-contrib dxu4/ml
>   http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dxu4/ml
> 
> Dongxiao Xu (7):
>   eglibc-locale: Specially handle FILES_eglibc-gconv for multilib
>   libxml-simple-perl: Use BBCLASSEXTEND insteand of *-native recipe
>   openjade-native: Change RDEPENDS of sgml-common-native
>   multilib: Use BPN instead of PN for style like lib${PN}

I've merged these.

>   multilib: remove MULTILIB_PACKAGE_ARCHS variable
>   package_rpm: fix strip_multilib function
>   package_rpm: Fix package rename issue in multilib case

These look like they need more discussion with Mark.

Cheers,

Richard




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 5/7] multilib: remove MULTILIB_PACKAGE_ARCHS variable
  2011-08-03 15:32   ` Mark Hatle
@ 2011-08-04  0:59     ` Xu, Dongxiao
  2011-08-11  0:44       ` Xu, Dongxiao
  0 siblings, 1 reply; 16+ messages in thread
From: Xu, Dongxiao @ 2011-08-04  0:59 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

Hi Mark,

> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org
> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of
> Mark Hatle
> Sent: Wednesday, August 03, 2011 11:32 PM
> To: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH 5/7] multilib: remove
> MULTILIB_PACKAGE_ARCHS variable
> 
> 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.)

Yes, ipk package name is different between normal package and multilib package (tagged with MLPREFIX), so even they are put in the same deploy folder, there should be no problem.

However for currently for rpm multilib, the normal package and multilib package are in the same folder with same name, thus one will override the other.

Take "initscript" as an example, the normal rpm package name is: "initscripts-1.0-r127.x86_64.rpm". However the lib32 version of initscript's rpm package is also named as 
"initscripts-1.0-r127.x86_64.rpm", putting in the same deploy folder: "tmp/deploy/rpm/x86_64".

I think this should be an issue to fix, also we need to think about how to co-work with ipk side.

Thanks,
Dongxiao

> 
> (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)
> >  }
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 6/7] package_rpm: fix strip_multilib function
  2011-08-03 15:38   ` Mark Hatle
@ 2011-08-04  1:44     ` Xu, Dongxiao
  0 siblings, 0 replies; 16+ messages in thread
From: Xu, Dongxiao @ 2011-08-04  1:44 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

Hi Mark,

> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org
> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of
> Mark Hatle
> Sent: Wednesday, August 03, 2011 11:39 PM
> To: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH 6/7] package_rpm: fix strip_multilib function
> 
> On 8/3/11 10:19 AM, Dongxiao Xu wrote:
> > The previous logic could only strip MLPREFIX from the first element in
> > an array, take an example, strip_multilib the [lib32-a lib32-b
> > lib32-c] will result in [a lib32-b lib32-c]. This commit change it to
> > strip all elements' multilib prefix.
> >
> > CC: Mark Hatle <mark.hatle@windriver.com>
> > Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
> > ---
> >  meta/classes/package_rpm.bbclass |    4 ++--
> >  1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/classes/package_rpm.bbclass
> > b/meta/classes/package_rpm.bbclass
> > index 9d0eeba..a29ce9d 100644
> > --- a/meta/classes/package_rpm.bbclass
> > +++ b/meta/classes/package_rpm.bbclass
> > @@ -326,7 +326,7 @@ python write_specfile () {
> >  		for ext in multilibs.split():
> >  			eext = ext.split(':')
> >  			if len(eext) > 1 and eext[0] == 'multilib' and name and
> name.find(eext[1] + '-') == 0:
> > -				name = (eext[1] + '-').join(name.split(eext[1] + '-', 1)[1:])
> > +				name = " ".join(name.split(eext[1] + '-')[1:])
> 
> This looks incorrect to me, with the " ".join, it's going to join multiple elements
> with a whitespace between them.  The original code was written to work on
> one item at a time within the list of multilibs.
> 
> How well has this been tested?  Since I don't have all of the context this very
> well might be correct within the current scope of the multilib implementation.

The original usage for this strip_multilib() is in translate_vers() function, which strip the MLPREFIX one by one and then write the value back into variable "d".

As in the last patch (PATCH 7/7), we move strip_multilib() out of translate_vers() to fix the package rename issue we met in multilib. 

Therefore for our new usage, we need it to remove MLPREFIX for all elements in a list at one time, thus I changed its working style.

Thanks,
Dongxiao

> 
> >  		return name
> >
> >  #		ml = bb.data.getVar("MLPREFIX", d, True)
> > @@ -720,7 +720,7 @@ python do_package_rpm () {
> >  	def strip_multilib(name, d):
> >  		ml = bb.data.getVar("MLPREFIX", d, True)
> >  		if ml and name and len(ml) != 0 and name.find(ml) == 0:
> > -			return ml.join(name.split(ml, 1)[1:])
> > +			return " ".join(name.split(ml)[1:])
> >  		return name
> >
> >  	workdir = bb.data.getVar('WORKDIR', d, True)
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 5/7] multilib: remove MULTILIB_PACKAGE_ARCHS variable
  2011-08-04  0:59     ` Xu, Dongxiao
@ 2011-08-11  0:44       ` Xu, Dongxiao
  2011-08-11 15:47         ` Mark Hatle
  0 siblings, 1 reply; 16+ messages in thread
From: Xu, Dongxiao @ 2011-08-11  0:44 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org
> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of
> Xu, Dongxiao
> Sent: Thursday, August 04, 2011 9:00 AM
> To: Patches and discussions about the oe-core layer
> Subject: Re: [OE-core] [PATCH 5/7] multilib: remove
> MULTILIB_PACKAGE_ARCHS variable
> 
> Hi Mark,
> 
> > -----Original Message-----
> > From: openembedded-core-bounces@lists.openembedded.org
> > [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf
> Of
> > Mark Hatle
> > Sent: Wednesday, August 03, 2011 11:32 PM
> > To: openembedded-core@lists.openembedded.org
> > Subject: Re: [OE-core] [PATCH 5/7] multilib: remove
> > MULTILIB_PACKAGE_ARCHS variable
> >
> > 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.)
> 
> Yes, ipk package name is different between normal package and multilib
> package (tagged with MLPREFIX), so even they are put in the same deploy
> folder, there should be no problem.
> 
> However for currently for rpm multilib, the normal package and multilib
> package are in the same folder with same name, thus one will override the
> other.
> 
> Take "initscript" as an example, the normal rpm package name is:
> "initscripts-1.0-r127.x86_64.rpm". However the lib32 version of initscript's rpm
> package is also named as "initscripts-1.0-r127.x86_64.rpm", putting in the
> same deploy folder: "tmp/deploy/rpm/x86_64".
> 

Hi Mark,

Do you have updates on the above issue?

Thanks,
Dongxiao


> I think this should be an issue to fix, also we need to think about how to co-work
> with ipk side.
> 
> Thanks,
> Dongxiao
> 
> >
> > (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)
> > >  }
> >
> >
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 5/7] multilib: remove MULTILIB_PACKAGE_ARCHS variable
  2011-08-11  0:44       ` Xu, Dongxiao
@ 2011-08-11 15:47         ` Mark Hatle
  0 siblings, 0 replies; 16+ messages in thread
From: Mark Hatle @ 2011-08-11 15:47 UTC (permalink / raw)
  To: Xu, Dongxiao; +Cc: Patches and discussions about the oe-core layer

On 8/10/11 7:44 PM, Xu, Dongxiao wrote:
>> -----Original Message-----
>> From: openembedded-core-bounces@lists.openembedded.org
>> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of
>> Xu, Dongxiao
>> Sent: Thursday, August 04, 2011 9:00 AM
>> To: Patches and discussions about the oe-core layer
>> Subject: Re: [OE-core] [PATCH 5/7] multilib: remove
>> MULTILIB_PACKAGE_ARCHS variable
>>
>> Hi Mark,
>>
>>> -----Original Message-----
>>> From: openembedded-core-bounces@lists.openembedded.org
>>> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf
>> Of
>>> Mark Hatle
>>> Sent: Wednesday, August 03, 2011 11:32 PM
>>> To: openembedded-core@lists.openembedded.org
>>> Subject: Re: [OE-core] [PATCH 5/7] multilib: remove
>>> MULTILIB_PACKAGE_ARCHS variable
>>>
>>> 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.)
>>
>> Yes, ipk package name is different between normal package and multilib
>> package (tagged with MLPREFIX), so even they are put in the same deploy
>> folder, there should be no problem.
>>
>> However for currently for rpm multilib, the normal package and multilib
>> package are in the same folder with same name, thus one will override the
>> other.
>>
>> Take "initscript" as an example, the normal rpm package name is:
>> "initscripts-1.0-r127.x86_64.rpm". However the lib32 version of initscript's rpm
>> package is also named as "initscripts-1.0-r127.x86_64.rpm", putting in the
>> same deploy folder: "tmp/deploy/rpm/x86_64".
>>
> 
> Hi Mark,
> 
> Do you have updates on the above issue?

As presently implemented this is not a problem.  The target (package) arch is
used to select where the software is installed.  So a 32-bit version, using i586
will be placed into tmp/deploy/rpm/i586, while a 64-bit version using x86_64
will be placed into tmp/deploy/rpm/x86_64.

It's important that the various package architectures are set appropriately for
the various build system types.  If on ipkg/deb we need to use the same arch as
the "base" system that should be fine.  (I'm not an expert there, so I really
don't know if that's a good idea or not.)  However, on RPM, the package manager
fully expects various arches to be set.. and a compatibility set to be defined
to control the way things are installed.  (i.e. what is there now works, and I
believe it is correct.)

--Mark

> Thanks,
> Dongxiao
> 
> 
>> I think this should be an issue to fix, also we need to think about how to co-work
>> with ipk side.
>>
>> Thanks,
>> Dongxiao
>>
>>>
>>> (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)
>>>>  }
>>>
>>>
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2011-08-11 15:51 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox