Files
poky/meta/recipes-extended/sat-solver/sat-solver_git.bb
Robert Yang 4a015e57cc package_rpm.bbclass: fix the arch (replace "-" with "_")
rpm can't use the "-" as the arch, which causes problem, e.g., when
MACHINE = "beagleboard":

* The arch should be armv7a-vfp-neon, but rpm only takes the armv7a,
  this is incorrect since it is mixed with real arch armv7a.

* The nativesdk's arch should be i686-nativesdk (or x86_64-nativesdk),
  but rpm only takes the i686 (or x86_64), this in incorrect since it is
  mixed with the arch i686 (or x86_64).

Replace "-" with "_" when rpm package and the rootfs generation would
fix the problem, I think this is fine since it doesn't change the tune's
arch, the package manager doesn't care about the arch's name, but it
needs a unify arch system to avoid confusing. This is similar to what we
have done on the deb which fixed the arch i486, i586 and so on to i386.

[YOCTO #2328]

(From OE-Core rev: fc985f511da86400e4fa7d17555216c12eb51666)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:45 +01:00

68 lines
1.8 KiB
BlitzBasic

DESCRIPTION = "Sat Solver"
HOMEPAGE = "http://http://en.opensuse.org/openSUSE:Libzypp_satsolver"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
DEPENDS = "libcheck rpm zlib expat db"
SRCREV = "0a7378d5f482f477a01cf1690d76871ab8bdcc32"
PV = "0.0-git${SRCPV}"
PR = "r14"
PARALLEL_MAKE=""
SRC_URI = "git://github.com/openSUSE/sat-solver.git;protocol=git \
file://sat-solver_rpm5.patch \
file://sat-solver_obsolete.patch \
file://cmake.patch \
file://db5.patch \
file://sat-solver_core.patch \
file://fix_gcc-4.6.0_compile_issue.patch \
file://0001-sat_xfopen.c-Forward-port-to-zlib-1.2.6-gzFile.patch \
file://futimes.patch \
"
S = "${WORKDIR}/git"
EXTRA_OECMAKE += "-DRPM5=RPM5 -DOE_CORE=OE_CORE"
EXTRA_OECMAKE += " -DLIB=${@os.path.basename('${libdir}')}"
TUNE_CCARGS_append_libc-uclibc = " -DUSE_OWN_QSORT=1 "
inherit cmake pkgconfig
RDEPENDS_${PN} = "rpm-libs"
PACKAGE_ARCH = "${MACHINE_ARCH}"
do_archgen () {
# We need to dynamically generate our arch file based on the machine
# configuration
INSTALL_PLATFORM_ARCHS=""
for each_arch in ${PACKAGE_ARCHS} ; do
case "$each_arch" in
all | any | noarch)
continue;;
esac
INSTALL_PLATFORM_ARCHS="`echo $each_arch | sed 's/-/_/g'` $INSTALL_PLATFORM_ARCHS"
done
echo "/* Automatically generated by the sat-solver recipe */" > src/core-arch.h
echo "const char *archpolicies[] = {" >> src/core-arch.h
set -- $INSTALL_PLATFORM_ARCHS
save_IFS=$IFS
IFS=:
while [ $# -gt 0 ]; do echo " \"$1\", "\""$*"\", >> src/core-arch.h ; shift; done
IFS=$save_IFS
echo " 0" >> src/core-arch.h
echo "};" >> src/core-arch.h
}
addtask archgen before do_configure after do_patch