* [PATCH] python-smartpm: multilib fixes
@ 2013-01-28 15:33 Bogdan Marinescu
2013-01-28 19:38 ` Mark Hatle
0 siblings, 1 reply; 2+ messages in thread
From: Bogdan Marinescu @ 2013-01-28 15:33 UTC (permalink / raw)
To: openembedded-core
To fix some multilib issues, change the way smart's RPM backend decides
if two packages can coexist:
- don't test the "multi-version" flag on the packet. In Yocto,
almost every package can be "multi-version" in a multilib configuration.
- let two packages coexist if they have different versions OR different
architectures (which is fundamental for multilib).
[YOCTO #3681]
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
---
.../python-smartpm/smart-multilib-fixes.patch | 31 ++++++++++++++++++++
.../python/python-smartpm_1.4.1.bb | 3 +-
2 files changed, 33 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-devtools/python/python-smartpm/smart-multilib-fixes.patch
diff --git a/meta/recipes-devtools/python/python-smartpm/smart-multilib-fixes.patch b/meta/recipes-devtools/python/python-smartpm/smart-multilib-fixes.patch
new file mode 100644
index 0000000..6051ef3
--- /dev/null
+++ b/meta/recipes-devtools/python/python-smartpm/smart-multilib-fixes.patch
@@ -0,0 +1,31 @@
+smart multilib fixes
+
+To fix some multilib issues, change the way the RPM backend decides
+if two packages can coexist:
+
+ - don't test the "multi-version" flag on the packet. In Yocto,
+almost every package can be "multi-version" in a multilib configuration.
+ - let two packages coexist if they have different versions OR different
+architectures (which is fundamental for multilib).
+
+Upstream-Status: Pending
+
+Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
+
+diff --git a/smart/backends/rpm/base.py b/smart/backends/rpm/base.py
+index 6e83d40..72eb8a9 100644
+--- a/smart/backends/rpm/base.py
++++ b/smart/backends/rpm/base.py
+@@ -233,9 +233,9 @@ class RPMPackage(Package):
+ if (selfcolor and othercolor and selfcolor != othercolor and
+ not sysconf.get("rpm-strict-multilib")):
+ return True
+- if not pkgconf.testFlag("multi-version", self):
+- return False
+- return selfver != otherver
++ #if not pkgconf.testFlag("multi-version", self):
++ # return False
++ return selfver != otherver or selfarch != otherarch
+
+ def matches(self, relation, version):
+ if not relation:
diff --git a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
index 4d0f96b..06641ad 100644
--- a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
+++ b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
@@ -11,7 +11,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
DEPENDS = "python rpm"
-PR = "r7"
+PR = "r8"
SRCNAME = "smart"
SRC_URI = "\
@@ -25,6 +25,7 @@ SRC_URI = "\
file://smart-tmpdir.patch \
file://smart-metadata-match.patch \
file://smart-improve-error-reporting.patch \
+ file://smart-multilib-fixes.patch \
"
SRC_URI[md5sum] = "573ef32ba177a6b3c4bf7ef04873fcb6"
--
1.7.10.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] python-smartpm: multilib fixes
2013-01-28 15:33 [PATCH] python-smartpm: multilib fixes Bogdan Marinescu
@ 2013-01-28 19:38 ` Mark Hatle
0 siblings, 0 replies; 2+ messages in thread
From: Mark Hatle @ 2013-01-28 19:38 UTC (permalink / raw)
To: openembedded-core
On 1/28/13 9:33 AM, Bogdan Marinescu wrote:
> To fix some multilib issues, change the way smart's RPM backend decides
> if two packages can coexist:
>
> - don't test the "multi-version" flag on the packet. In Yocto,
> almost every package can be "multi-version" in a multilib configuration.
> - let two packages coexist if they have different versions OR different
> architectures (which is fundamental for multilib).
>
> [YOCTO #3681]
>
> Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
> ---
> .../python-smartpm/smart-multilib-fixes.patch | 31 ++++++++++++++++++++
> .../python/python-smartpm_1.4.1.bb | 3 +-
> 2 files changed, 33 insertions(+), 1 deletion(-)
> create mode 100644 meta/recipes-devtools/python/python-smartpm/smart-multilib-fixes.patch
>
> diff --git a/meta/recipes-devtools/python/python-smartpm/smart-multilib-fixes.patch b/meta/recipes-devtools/python/python-smartpm/smart-multilib-fixes.patch
> new file mode 100644
> index 0000000..6051ef3
> --- /dev/null
> +++ b/meta/recipes-devtools/python/python-smartpm/smart-multilib-fixes.patch
> @@ -0,0 +1,31 @@
> +smart multilib fixes
> +
> +To fix some multilib issues, change the way the RPM backend decides
> +if two packages can coexist:
> +
> + - don't test the "multi-version" flag on the packet. In Yocto,
> +almost every package can be "multi-version" in a multilib configuration.
> + - let two packages coexist if they have different versions OR different
> +architectures (which is fundamental for multilib).
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
> +
> +diff --git a/smart/backends/rpm/base.py b/smart/backends/rpm/base.py
> +index 6e83d40..72eb8a9 100644
> +--- a/smart/backends/rpm/base.py
> ++++ b/smart/backends/rpm/base.py
> +@@ -233,9 +233,9 @@ class RPMPackage(Package):
> + if (selfcolor and othercolor and selfcolor != othercolor and
> + not sysconf.get("rpm-strict-multilib")):
> + return True
> +- if not pkgconf.testFlag("multi-version", self):
> +- return False
> +- return selfver != otherver
> ++ #if not pkgconf.testFlag("multi-version", self):
> ++ # return False
> ++ return selfver != otherver or selfarch != otherarch
I'm not sure this is right. There is a need one some RPM systems to allow for
"multiple versions" of a package to be installable. It's fairly normal for
kernel upgrades to allow this.
The multi-arch however should always ben enabled in our configuration. The
check really should be that if selfarch != otherarch then it's an 'ok'
configuration. The version check should only happen based on the multi-version.
--Mark
> +
> + def matches(self, relation, version):
> + if not relation:
> diff --git a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
> index 4d0f96b..06641ad 100644
> --- a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
> +++ b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
> @@ -11,7 +11,7 @@ LICENSE = "GPLv2"
> LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
>
> DEPENDS = "python rpm"
> -PR = "r7"
> +PR = "r8"
> SRCNAME = "smart"
>
> SRC_URI = "\
> @@ -25,6 +25,7 @@ SRC_URI = "\
> file://smart-tmpdir.patch \
> file://smart-metadata-match.patch \
> file://smart-improve-error-reporting.patch \
> + file://smart-multilib-fixes.patch \
> "
>
> SRC_URI[md5sum] = "573ef32ba177a6b3c4bf7ef04873fcb6"
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-01-28 19:53 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-28 15:33 [PATCH] python-smartpm: multilib fixes Bogdan Marinescu
2013-01-28 19:38 ` Mark Hatle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox