Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/4 v2][PULL] multilib: RPM rootfs related fixes.
@ 2011-08-16  8:33 Dongxiao Xu
  2011-08-16  8:33 ` [PATCH 1/4] rootfs_rpm: Fix DEFAULTTUNE setting in multilib case Dongxiao Xu
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Dongxiao Xu @ 2011-08-16  8:33 UTC (permalink / raw)
  To: openembedded-core

Hi Richard and Mark,

This pull request fixes some multilib issues related with RPM rootfs. Please help to review and pull.

Changes from v1:
1) Remove the original patch "multilib: remove MULTILIB_PACKAGE_ARCHS variable".
2) Add a new patch "rootfs_rpm: Fix DEFAULTTUNE setting in multilib case"
3) For the two package_rpm related patches, The first patch is to change
   strip_multilib functionality, and the second patch is to handle the package
   rename issue in multilib.
4) Add a new patch "gtk-icon-cache: Adding MLPREFIX when dynamically set
   RDEPENDS" to fix the dynamic setting of RDEPENDS in multilib case.

[YOCTO #1368]

Thanks,
Dongxiao

The following changes since commit 13db5f420ca9bff98561f80d78958278734ad1f4:

  distro-tracking: Update info for gpgme, libassuan, apr... after last upgrade. (2011-08-15 15:26:04 +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 (4):
  rootfs_rpm: Fix DEFAULTTUNE setting in multilib case
  package_rpm: enhance strip_multilib function
  package_rpm: Fix package rename issue in multilib case
  gtk-icon-cache: Adding MLPREFIX when dynamically set RDEPENDS

 meta/classes/gtk-icon-cache.bbclass |    2 +-
 meta/classes/package_rpm.bbclass    |   22 +++++++++++-----------
 meta/classes/rootfs_rpm.bbclass     |    4 ----
 3 files changed, 12 insertions(+), 16 deletions(-)




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

* [PATCH 1/4] rootfs_rpm: Fix DEFAULTTUNE setting in multilib case
  2011-08-16  8:33 [PATCH 0/4 v2][PULL] multilib: RPM rootfs related fixes Dongxiao Xu
@ 2011-08-16  8:33 ` Dongxiao Xu
  2011-08-16  8:33 ` [PATCH 2/4] package_rpm: enhance strip_multilib function Dongxiao Xu
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Dongxiao Xu @ 2011-08-16  8:33 UTC (permalink / raw)
  To: openembedded-core

"virtclass-multilib" is set to OVERRIDES in multilib.bbclass, remove the
duplicated settings here.

Besides, DEFAULTTUNE has overrided and it can be directly used.

[YOCTO #1368]

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

diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index 7c06064..7f24b9c 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -215,10 +215,6 @@ python () {
         eext = ext.split(':')
         if len(eext) > 1 and eext[0] == 'multilib':
             localdata = bb.data.createCopy(d)
-            overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + eext[1]
-            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] 6+ messages in thread

* [PATCH 2/4] package_rpm: enhance strip_multilib function
  2011-08-16  8:33 [PATCH 0/4 v2][PULL] multilib: RPM rootfs related fixes Dongxiao Xu
  2011-08-16  8:33 ` [PATCH 1/4] rootfs_rpm: Fix DEFAULTTUNE setting in multilib case Dongxiao Xu
@ 2011-08-16  8:33 ` Dongxiao Xu
  2011-08-16  8:33 ` [PATCH 3/4] package_rpm: Fix package rename issue in multilib case Dongxiao Xu
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Dongxiao Xu @ 2011-08-16  8:33 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]. We need to strip prefix one by one.

This commit change the logic to strip all elements' multilib prefix.

[YOCTO #1368]

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

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index b15786d..7a0c6da 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -357,8 +357,8 @@ python write_specfile () {
 		multilibs = d.getVar('MULTILIBS', True) or ""
 		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:])
+			if len(eext) > 1 and eext[0] == 'multilib' and name and name.find(eext[1] + '-') >= 0:
+				name = "".join(name.split(eext[1] + '-'))
 		return name
 
 #		ml = bb.data.getVar("MLPREFIX", d, True)
@@ -755,8 +755,8 @@ python do_package_rpm () {
 	# and dependency information...
 	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:])
+		if ml and name and len(ml) != 0 and name.find(ml) >= 0:
+			return "".join(name.split(ml))
 		return name
 
 	workdir = bb.data.getVar('WORKDIR', d, True)
-- 
1.7.1




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

* [PATCH 3/4] package_rpm: Fix package rename issue in multilib case
  2011-08-16  8:33 [PATCH 0/4 v2][PULL] multilib: RPM rootfs related fixes Dongxiao Xu
  2011-08-16  8:33 ` [PATCH 1/4] rootfs_rpm: Fix DEFAULTTUNE setting in multilib case Dongxiao Xu
  2011-08-16  8:33 ` [PATCH 2/4] package_rpm: enhance strip_multilib function Dongxiao Xu
@ 2011-08-16  8:33 ` Dongxiao Xu
  2011-08-16  8:33 ` [PATCH 4/4] gtk-icon-cache: Adding MLPREFIX when dynamically set RDEPENDS Dongxiao Xu
  2011-08-16 14:48 ` [PATCH 0/4 v2][PULL] multilib: RPM rootfs related fixes Mark Hatle
  4 siblings, 0 replies; 6+ messages in thread
From: Dongxiao Xu @ 2011-08-16  8:33 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".

[YOCTO #1368]

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 7a0c6da..9ef1acd 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -394,7 +394,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)
 
@@ -516,12 +516,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  = []
 
 		# For now we need to manually supplement RPROVIDES with any update-alternatives links
-- 
1.7.1




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

* [PATCH 4/4] gtk-icon-cache: Adding MLPREFIX when dynamically set RDEPENDS
  2011-08-16  8:33 [PATCH 0/4 v2][PULL] multilib: RPM rootfs related fixes Dongxiao Xu
                   ` (2 preceding siblings ...)
  2011-08-16  8:33 ` [PATCH 3/4] package_rpm: Fix package rename issue in multilib case Dongxiao Xu
@ 2011-08-16  8:33 ` Dongxiao Xu
  2011-08-16 14:48 ` [PATCH 0/4 v2][PULL] multilib: RPM rootfs related fixes Mark Hatle
  4 siblings, 0 replies; 6+ messages in thread
From: Dongxiao Xu @ 2011-08-16  8:33 UTC (permalink / raw)
  To: openembedded-core

When dynamically setting RDEPENDS, we need to add MLPREFIX to adapt
multilib case.

[YOCTO #1368]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 meta/classes/gtk-icon-cache.bbclass |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/gtk-icon-cache.bbclass
index 3bfb8ff..d0840d5 100644
--- a/meta/classes/gtk-icon-cache.bbclass
+++ b/meta/classes/gtk-icon-cache.bbclass
@@ -38,7 +38,7 @@ python populate_packages_append () {
 
 		bb.note("adding hicolor-icon-theme dependency to %s" % pkg)	
 		rdepends = bb.data.getVar('RDEPENDS_%s' % pkg, d, 1)
-		rdepends += " hicolor-icon-theme"
+		rdepends = rdepends + ' ' + bb.data.getVar('MLPREFIX', d) + "hicolor-icon-theme"
 		bb.data.setVar('RDEPENDS_%s' % pkg, rdepends, d)
 	
 		bb.note("adding gtk-icon-cache postinst and postrm scripts to %s" % pkg)
-- 
1.7.1




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

* Re: [PATCH 0/4 v2][PULL] multilib: RPM rootfs related fixes.
  2011-08-16  8:33 [PATCH 0/4 v2][PULL] multilib: RPM rootfs related fixes Dongxiao Xu
                   ` (3 preceding siblings ...)
  2011-08-16  8:33 ` [PATCH 4/4] gtk-icon-cache: Adding MLPREFIX when dynamically set RDEPENDS Dongxiao Xu
@ 2011-08-16 14:48 ` Mark Hatle
  4 siblings, 0 replies; 6+ messages in thread
From: Mark Hatle @ 2011-08-16 14:48 UTC (permalink / raw)
  To: openembedded-core

On 8/16/11 3:33 AM, Dongxiao Xu wrote:
> Hi Richard and Mark,
> 
> This pull request fixes some multilib issues related with RPM rootfs. Please help to review and pull.
> 
> Changes from v1:
> 1) Remove the original patch "multilib: remove MULTILIB_PACKAGE_ARCHS variable".
> 2) Add a new patch "rootfs_rpm: Fix DEFAULTTUNE setting in multilib case"
> 3) For the two package_rpm related patches, The first patch is to change
>    strip_multilib functionality, and the second patch is to handle the package
>    rename issue in multilib.
> 4) Add a new patch "gtk-icon-cache: Adding MLPREFIX when dynamically set
>    RDEPENDS" to fix the dynamic setting of RDEPENDS in multilib case.
> 
> [YOCTO #1368]

I assume this has been tests...

It looks fine here..

Acked-by: Mark Hatle <mark.hatle@windriver.com>

> Thanks,
> Dongxiao
> 
> The following changes since commit 13db5f420ca9bff98561f80d78958278734ad1f4:
> 
>   distro-tracking: Update info for gpgme, libassuan, apr... after last upgrade. (2011-08-15 15:26:04 +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 (4):
>   rootfs_rpm: Fix DEFAULTTUNE setting in multilib case
>   package_rpm: enhance strip_multilib function
>   package_rpm: Fix package rename issue in multilib case
>   gtk-icon-cache: Adding MLPREFIX when dynamically set RDEPENDS
> 
>  meta/classes/gtk-icon-cache.bbclass |    2 +-
>  meta/classes/package_rpm.bbclass    |   22 +++++++++++-----------
>  meta/classes/rootfs_rpm.bbclass     |    4 ----
>  3 files changed, 12 insertions(+), 16 deletions(-)
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




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

end of thread, other threads:[~2011-08-16 14:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-16  8:33 [PATCH 0/4 v2][PULL] multilib: RPM rootfs related fixes Dongxiao Xu
2011-08-16  8:33 ` [PATCH 1/4] rootfs_rpm: Fix DEFAULTTUNE setting in multilib case Dongxiao Xu
2011-08-16  8:33 ` [PATCH 2/4] package_rpm: enhance strip_multilib function Dongxiao Xu
2011-08-16  8:33 ` [PATCH 3/4] package_rpm: Fix package rename issue in multilib case Dongxiao Xu
2011-08-16  8:33 ` [PATCH 4/4] gtk-icon-cache: Adding MLPREFIX when dynamically set RDEPENDS Dongxiao Xu
2011-08-16 14:48 ` [PATCH 0/4 v2][PULL] multilib: RPM rootfs related fixes Mark Hatle

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