]> code.ossystems Code Review - openembedded-core.git/commitdiff
sat-solver: add machine arch support
authorQing He <qing.he@intel.com>
Thu, 10 Mar 2011 10:28:55 +0000 (18:28 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 14 Mar 2011 20:45:42 +0000 (20:45 +0000)
Signed-off-by: Qing He <qing.he@intel.com>
meta/recipes-extended/sat-solver/sat-solver/builtin-arch.patch [new file with mode: 0644]
meta/recipes-extended/sat-solver/sat-solver/no-builtin-arch.patch [new file with mode: 0644]
meta/recipes-extended/sat-solver/sat-solver_git.bb

diff --git a/meta/recipes-extended/sat-solver/sat-solver/builtin-arch.patch b/meta/recipes-extended/sat-solver/sat-solver/builtin-arch.patch
new file mode 100644 (file)
index 0000000..c228c36
--- /dev/null
@@ -0,0 +1,28 @@
+This patch adds the ${MACHINE_ARCH} and ${PACKAGE_ARCH} to
+sat-solver available archs, see do_archpatch in .bb for more
+details, this is the version for ${BASE_PACKAGE_ARCH} already
+recognized in sat-sovler.
+
+Signed-off-by: Qing He <qing.he@intel.com>
+
+diff --git a/src/poolarch.c b/src/poolarch.c
+index 34a14a3..660959b 100644
+--- a/src/poolarch.c
++++ b/src/poolarch.c
+@@ -21,6 +21,7 @@
+ #include "util.h"
+ const char *archpolicies[] = {
++  "@MACHINE_ARCH@",   "@MACHINE_ARCH@:@PKG_ARCH_TAIL@",
+   "x86_64",   "x86_64:i686:i586:i486:i386",
+   "i686",     "i686:i586:i486:i386",
+   "i586",     "i586:i486:i386",
+@@ -72,7 +74,7 @@ pool_setarch(Pool *pool, const char *arch)
+       return;
+     }
+ #ifndef DEBIAN_SEMANTICS
+-  id = ARCH_NOARCH;
++  id = ARCH_ALL;
+ #else
+   id = ARCH_ALL;
+ #endif
diff --git a/meta/recipes-extended/sat-solver/sat-solver/no-builtin-arch.patch b/meta/recipes-extended/sat-solver/sat-solver/no-builtin-arch.patch
new file mode 100644 (file)
index 0000000..225fbfe
--- /dev/null
@@ -0,0 +1,29 @@
+This patch adds the ${MACHINE_ARCH} and ${PACKAGE_ARCH} to
+sat-solver available archs, see do_archpatch in .bb for more
+details, this is the version for ${BASE_PACKAGE_ARCH} not
+recognized in sat-sovler.
+
+Signed-off-by: Qing He <qing.he@intel.com>
+
+diff --git a/src/poolarch.c b/src/poolarch.c
+index 34a14a3..36367ba 100644
+--- a/src/poolarch.c
++++ b/src/poolarch.c
+@@ -21,6 +21,8 @@
+ #include "util.h"
+ const char *archpolicies[] = {
++  "@MACHINE_ARCH@",   "@MACHINE_ARCH@:@PKG_ARCH@",
++  "@PKG_ARCH@",       "@PKG_ARCH@",
+   "x86_64",   "x86_64:i686:i586:i486:i386",
+   "i686",     "i686:i586:i486:i386",
+   "i586",     "i586:i486:i386",
+@@ -72,7 +74,7 @@ pool_setarch(Pool *pool, const char *arch)
+       return;
+     }
+ #ifndef DEBIAN_SEMANTICS
+-  id = ARCH_NOARCH;
++  id = ARCH_ALL;
+ #else
+   id = ARCH_ALL;
+ #endif
index 02b6c75507508549c4854fa825a73d64326a81b1..54420cd15495e9d863f645e1a4f9ae4dc80f5a96 100644 (file)
@@ -7,14 +7,38 @@ LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
 DEPENDS = "libcheck rpm zlib expat db"
 
 PV = "0.0-git${SRCPV}"
-PR = "r3"
+PR = "r4"
 
 SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \
            file://cmake.patch \
            file://rpm5.patch \
-          file://db5.patch"
+           file://db5.patch \
+           file://builtin-arch.patch;apply=no \
+           file://no-builtin-arch.patch;apply=no \
+          "
 
 S = "${WORKDIR}/git"
 
 EXTRA_OECMAKE += "-DLIB=lib"
+
 inherit cmake pkgconfig
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_archpatch () {
+       PKG_ARCH_TAIL=`sed -n ${S}/src/poolarch.c -e "s|^  \"\(${BASE_PACKAGE_ARCH}\)\",.*\"\(.*\)\",.*$|\2|p"`
+       if [ "x${PKG_ARCH_TAIL}" == x ]; then
+               PATCHFILE=${WORKDIR}/no-builtin-arch.patch
+       else
+               PATCHFILE=${WORKDIR}/builtin-arch.patch
+       fi
+
+       sed -i "${PATCHFILE}" \
+               -e "s|@MACHINE_ARCH@|${MACHINE_ARCH}|g" \
+               -e "s|@PKG_ARCH@|${BASE_PACKAGE_ARCH}|g" \
+               -e "s|@PKG_ARCH_TAIL@|${PKG_ARCH_TAIL}|g"
+
+       patch -p1 -i "${PATCHFILE}"
+}
+
+addtask archpatch before do_patch after do_unpack