]> code.ossystems Code Review - openembedded-core.git/commitdiff
yum-native: Add some hacks to make yum work better in the cross build case
authorRichard Purdie <richard@openedhand.com>
Tue, 26 Aug 2008 12:24:26 +0000 (12:24 +0000)
committerRichard Purdie <richard@openedhand.com>
Tue, 26 Aug 2008 12:24:26 +0000 (12:24 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5110 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta/packages/yum/yum-native/hacks.patch [new file with mode: 0644]
meta/packages/yum/yum-native_3.2.18.bb

diff --git a/meta/packages/yum/yum-native/hacks.patch b/meta/packages/yum/yum-native/hacks.patch
new file mode 100644 (file)
index 0000000..0486b5f
--- /dev/null
@@ -0,0 +1,66 @@
+---
+ rpmUtils/arch.py        |    3 +++
+ rpmUtils/transaction.py |    1 +
+ yum/constants.py        |    2 +-
+ yum/depsolve.py         |    2 ++
+ 4 files changed, 7 insertions(+), 1 deletion(-)
+
+Index: yum-3.2.18/rpmUtils/arch.py
+===================================================================
+--- yum-3.2.18.orig/rpmUtils/arch.py   2008-08-26 12:43:14.000000000 +0100
++++ yum-3.2.18/rpmUtils/arch.py        2008-08-26 12:50:11.000000000 +0100
+@@ -275,6 +275,7 @@ def getCanonX86_64Arch(arch):
+     return arch
+         
+ def getCanonArch(skipRpmPlatform = 0):
++    return "arm"
+     if not skipRpmPlatform and os.access("/etc/rpm/platform", os.R_OK):
+         try:
+             f = open("/etc/rpm/platform", "r")
+@@ -331,6 +332,8 @@ def getBaseArch(myarch=None):
+        base arch is the arch before noarch in the arches dict if myarch is not
+        a key in the multilibArches."""
++    return "arm"
++
+     if not myarch:
+         myarch = canonArch
+Index: yum-3.2.18/rpmUtils/transaction.py
+===================================================================
+--- yum-3.2.18.orig/rpmUtils/transaction.py    2008-08-26 13:03:13.000000000 +0100
++++ yum-3.2.18/rpmUtils/transaction.py 2008-08-26 13:10:52.000000000 +0100
+@@ -43,6 +43,7 @@ class TransactionWrapper:
+                          'clean']
+         self.tsflags = []
+         self.open = True
++        self.ts.setProbFilter(rpm.RPMPROB_FILTER_IGNOREOS | rpm.RPMPROB_FILTER_IGNOREARCH)
+     def __del__(self):
+         # Automatically close the rpm transaction when the reference is lost
+Index: yum-3.2.18/yum/constants.py
+===================================================================
+--- yum-3.2.18.orig/yum/constants.py   2008-08-26 13:12:39.000000000 +0100
++++ yum-3.2.18/yum/constants.py        2008-08-26 13:12:46.000000000 +0100
+@@ -17,7 +17,7 @@ Yum constants. Usually dealing with rpm 
+ """
+ #Constants
+-YUM_PID_FILE = '/var/run/yum.pid'
++YUM_PID_FILE = '/var/run2/yum.pid'
+ #transaction set states
+ TS_UPDATE = 10
+Index: yum-3.2.18/yum/depsolve.py
+===================================================================
+--- yum-3.2.18.orig/yum/depsolve.py    2008-08-26 12:44:37.000000000 +0100
++++ yum-3.2.18/yum/depsolve.py 2008-08-26 13:17:45.000000000 +0100
+@@ -144,6 +144,8 @@ class Depsolve(object):
+         probfilter = 0
+         for flag in self.tsInfo.probFilterFlags:
+             probfilter |= flag
++        probfilter |= rpm.RPMPROB_FILTER_IGNOREOS
++        probfilter |= rpm.RPMPROB_FILTER_IGNOREARCH
+         self._ts.setProbFilter(probfilter)
+     def whatProvides(self, name, flags, version):
index d3098ccb918928f6c12ea362cbc9c2deb7fe2a78..03e54d5daa215126a6a8512eaeafbd296d1f13eb 100644 (file)
@@ -1,8 +1,9 @@
 HOMEPAGE = "http://linux.duke.edu/projects/yum/"
 
 SRC_URI = "http://linux.duke.edu/projects/yum/download/3.2/yum-${PV}.tar.gz \
+           file://hacks.patch;patch=1 \
            file://paths.patch;patch=1"
-PR = "r1"
+PR = "r2"
 
 DEPENDS = "rpm-native python-native python-iniparse-native python-urlgrabber-native yum-metadata-parser-native"