* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.