diff options
3 files changed, 83 insertions, 2 deletions
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 index 0000000000..c228c36e49 --- /dev/null +++ b/meta/recipes-extended/sat-solver/sat-solver/builtin-arch.patch | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | This patch adds the ${MACHINE_ARCH} and ${PACKAGE_ARCH} to | ||
| 2 | sat-solver available archs, see do_archpatch in .bb for more | ||
| 3 | details, this is the version for ${BASE_PACKAGE_ARCH} already | ||
| 4 | recognized in sat-sovler. | ||
| 5 | |||
| 6 | Signed-off-by: Qing He <qing.he@intel.com> | ||
| 7 | |||
| 8 | diff --git a/src/poolarch.c b/src/poolarch.c | ||
| 9 | index 34a14a3..660959b 100644 | ||
| 10 | --- a/src/poolarch.c | ||
| 11 | +++ b/src/poolarch.c | ||
| 12 | @@ -21,6 +21,7 @@ | ||
| 13 | #include "util.h" | ||
| 14 | |||
| 15 | const char *archpolicies[] = { | ||
| 16 | + "@MACHINE_ARCH@", "@MACHINE_ARCH@:@PKG_ARCH_TAIL@", | ||
| 17 | "x86_64", "x86_64:i686:i586:i486:i386", | ||
| 18 | "i686", "i686:i586:i486:i386", | ||
| 19 | "i586", "i586:i486:i386", | ||
| 20 | @@ -72,7 +74,7 @@ pool_setarch(Pool *pool, const char *arch) | ||
| 21 | return; | ||
| 22 | } | ||
| 23 | #ifndef DEBIAN_SEMANTICS | ||
| 24 | - id = ARCH_NOARCH; | ||
| 25 | + id = ARCH_ALL; | ||
| 26 | #else | ||
| 27 | id = ARCH_ALL; | ||
| 28 | #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 index 0000000000..225fbfe159 --- /dev/null +++ b/meta/recipes-extended/sat-solver/sat-solver/no-builtin-arch.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | This patch adds the ${MACHINE_ARCH} and ${PACKAGE_ARCH} to | ||
| 2 | sat-solver available archs, see do_archpatch in .bb for more | ||
| 3 | details, this is the version for ${BASE_PACKAGE_ARCH} not | ||
| 4 | recognized in sat-sovler. | ||
| 5 | |||
| 6 | Signed-off-by: Qing He <qing.he@intel.com> | ||
| 7 | |||
| 8 | diff --git a/src/poolarch.c b/src/poolarch.c | ||
| 9 | index 34a14a3..36367ba 100644 | ||
| 10 | --- a/src/poolarch.c | ||
| 11 | +++ b/src/poolarch.c | ||
| 12 | @@ -21,6 +21,8 @@ | ||
| 13 | #include "util.h" | ||
| 14 | |||
| 15 | const char *archpolicies[] = { | ||
| 16 | + "@MACHINE_ARCH@", "@MACHINE_ARCH@:@PKG_ARCH@", | ||
| 17 | + "@PKG_ARCH@", "@PKG_ARCH@", | ||
| 18 | "x86_64", "x86_64:i686:i586:i486:i386", | ||
| 19 | "i686", "i686:i586:i486:i386", | ||
| 20 | "i586", "i586:i486:i386", | ||
| 21 | @@ -72,7 +74,7 @@ pool_setarch(Pool *pool, const char *arch) | ||
| 22 | return; | ||
| 23 | } | ||
| 24 | #ifndef DEBIAN_SEMANTICS | ||
| 25 | - id = ARCH_NOARCH; | ||
| 26 | + id = ARCH_ALL; | ||
| 27 | #else | ||
| 28 | id = ARCH_ALL; | ||
| 29 | #endif | ||
diff --git a/meta/recipes-extended/sat-solver/sat-solver_git.bb b/meta/recipes-extended/sat-solver/sat-solver_git.bb index 02b6c75507..54420cd154 100644 --- a/meta/recipes-extended/sat-solver/sat-solver_git.bb +++ b/meta/recipes-extended/sat-solver/sat-solver_git.bb | |||
| @@ -7,14 +7,38 @@ LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8" | |||
| 7 | DEPENDS = "libcheck rpm zlib expat db" | 7 | DEPENDS = "libcheck rpm zlib expat db" |
| 8 | 8 | ||
| 9 | PV = "0.0-git${SRCPV}" | 9 | PV = "0.0-git${SRCPV}" |
| 10 | PR = "r3" | 10 | PR = "r4" |
| 11 | 11 | ||
| 12 | SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \ | 12 | SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \ |
| 13 | file://cmake.patch \ | 13 | file://cmake.patch \ |
| 14 | file://rpm5.patch \ | 14 | file://rpm5.patch \ |
| 15 | file://db5.patch" | 15 | file://db5.patch \ |
| 16 | file://builtin-arch.patch;apply=no \ | ||
| 17 | file://no-builtin-arch.patch;apply=no \ | ||
| 18 | " | ||
| 16 | 19 | ||
| 17 | S = "${WORKDIR}/git" | 20 | S = "${WORKDIR}/git" |
| 18 | 21 | ||
| 19 | EXTRA_OECMAKE += "-DLIB=lib" | 22 | EXTRA_OECMAKE += "-DLIB=lib" |
| 23 | |||
| 20 | inherit cmake pkgconfig | 24 | inherit cmake pkgconfig |
| 25 | |||
| 26 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 27 | |||
| 28 | do_archpatch () { | ||
| 29 | PKG_ARCH_TAIL=`sed -n ${S}/src/poolarch.c -e "s|^ \"\(${BASE_PACKAGE_ARCH}\)\",.*\"\(.*\)\",.*$|\2|p"` | ||
| 30 | if [ "x${PKG_ARCH_TAIL}" == x ]; then | ||
| 31 | PATCHFILE=${WORKDIR}/no-builtin-arch.patch | ||
| 32 | else | ||
| 33 | PATCHFILE=${WORKDIR}/builtin-arch.patch | ||
| 34 | fi | ||
| 35 | |||
| 36 | sed -i "${PATCHFILE}" \ | ||
| 37 | -e "s|@MACHINE_ARCH@|${MACHINE_ARCH}|g" \ | ||
| 38 | -e "s|@PKG_ARCH@|${BASE_PACKAGE_ARCH}|g" \ | ||
| 39 | -e "s|@PKG_ARCH_TAIL@|${PKG_ARCH_TAIL}|g" | ||
| 40 | |||
| 41 | patch -p1 -i "${PATCHFILE}" | ||
| 42 | } | ||
| 43 | |||
| 44 | addtask archpatch before do_patch after do_unpack | ||
