Files
poky/meta/recipes-extended/libzypp/libzypp_git.bb
Mark Hatle bc4a29df84 rpm: Upgrade RPM to 5.4.9
Beside upreving RPM, add necessary integration patches to libzypp.

Also change the configuration of RPM to support PACKAGECONFIG flags.
RPM is highly configurable, the default configuration is good for
minimal OE-Core use.

(From OE-Core rev: bf94103d4c532ffdfdcdcc6d27c9f65f7824f8f8)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 11:10:35 +01:00

154 lines
4.8 KiB
BlitzBasic

HOMEPAGE = "http://en.opensuse.org/Portal:Libzypp"
DESCRIPTION = "The ZYpp Linux Software management framework"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=11fccc94d26293d78cb4996cb17e5fa7"
inherit cmake gettext
DEPENDS = "rpm boost curl libxml2 zlib sat-solver expat openssl udev libproxy"
S = "${WORKDIR}/git"
SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433"
PV = "0.0-git${SRCPV}"
PR = "r21"
SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \
file://no-doc.patch \
file://rpm5.patch \
file://rpm5-no-rpmdbinit.patch \
file://config-release.patch \
file://libzypp-oearch.patch \
file://libzypp-compatargs.patch \
file://fix_for_compile_wth_gcc-4.6.0.patch \
file://hardcode-lib-fix.patch \
file://close.patch \
file://libzypp-rpm549.patch \
"
SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"
# ARM specific global constructor workaround
SRC_URI_append_arm = " file://arm-workaround-global-constructor.patch"
# rpmdb2solv from sat-solver is run from libzypp
RDEPENDS_${PN} = "sat-solver rpm-libs gzip gnupg"
PACKAGES =+ "${PN}-pkgmgt"
FILES_${PN} += "${libdir}/zypp ${datadir}/zypp ${datadir}/icons"
FILES_${PN}-dev += "${datadir}/cmake"
FILES_${PN}-pkgmgt = "${bindir}/package-manager \
${bindir}/package-manager-su \
${datadir}/applications/package-manager.desktop \
"
EXTRA_OECMAKE += " -DLIB=${@os.path.basename('${libdir}')}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
AVOID_CONSTRUCTOR = ""
# Due to an ARM specific compiler issue
AVOID_CONSTRUCTOR_arm = "true"
# Due to a potential conflict with '_mips' being a define
AVOID_CONSTRUCTOR_mips = "true"
do_archgen () {
# We need to dynamically generate our arch file based on the machine
# configuration
echo "/* Automatically generated by the libzypp recipes */" > zypp/oe-arch.h
echo "/* Avoid Constructor: ${AVOID_CONSTRUCTOR} */" >> zypp/oe-arch.h
echo "" >> zypp/oe-arch.h
echo "#ifndef OE_ARCH_H" >> zypp/oe-arch.h
echo "#define OE_ARCH_H 1" >> zypp/oe-arch.h
echo "#define Arch_machine Arch_${MACHINE_ARCH}" | tr - _ >> zypp/oe-arch.h
echo "#endif /* OE_ARCH_H */" >> zypp/oe-arch.h
echo "" >> zypp/oe-arch.h
if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then
echo "#ifdef DEF_BUILTIN" >> zypp/oe-arch.h
echo "/* Specify builtin types */" >> zypp/oe-arch.h
for each_arch in ${PACKAGE_ARCHS} ; do
case "$each_arch" in
all | any | noarch)
continue;;
esac
echo " DEF_BUILTIN( ${each_arch} );" | tr - _ >> zypp/oe-arch.h
done
echo "#endif /* DEF_BUILTIN */" >> zypp/oe-arch.h
echo "" >> zypp/oe-arch.h
fi
echo "#ifdef OE_EXTERN_PROTO" >> zypp/oe-arch.h
echo "/* Specify extern prototypes */" >> zypp/oe-arch.h
for each_arch in ${PACKAGE_ARCHS} ; do
case "$each_arch" in
all | any | noarch)
continue;;
esac
echo " extern const Arch Arch_${each_arch};" | tr - _ >> zypp/oe-arch.h
done
echo "#endif /* OE_EXTERN_PROTO */" >> zypp/oe-arch.h
echo "" >> zypp/oe-arch.h
echo "#ifdef OE_PROTO" >> zypp/oe-arch.h
echo "/* Specify prototypes */" >> zypp/oe-arch.h
for each_arch in ${PACKAGE_ARCHS} ; do
case "$each_arch" in
all | any | noarch)
continue;;
esac
if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then
echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/oe-arch.h
echo "(_${each_arch});" | tr - _ >> zypp/oe-arch.h
else
echo -n " const Arch Arch_${each_arch} " | tr - _ >> zypp/oe-arch.h
echo "( IdString ( \"${each_arch}\" ) );" | tr - _ >> zypp/oe-arch.h
fi
done
echo "#endif /* OE_PROTO */" >> zypp/oe-arch.h
echo "" >> zypp/oe-arch.h
echo "#ifdef OE_DEF_COMPAT" >> zypp/oe-arch.h
echo "/* Specify compatibility information */" >> zypp/oe-arch.h
INSTALL_PLATFORM_ARCHS=""
for each_arch in ${PACKAGE_ARCHS} ; do
INSTALL_PLATFORM_ARCHS="$each_arch $INSTALL_PLATFORM_ARCHS"
done
COMPAT_WITH=""
set -- ${INSTALL_PLATFORM_ARCHS}
while [ $# -gt 0 ]; do
case "$1" in
all | any | noarch)
shift ; continue;;
esac
if [ "${AVOID_CONSTRUCTOR}" != "true" ]; then
CARCH="_$1"
else
CARCH="IdString(\"$1\")"
fi
shift
COMPAT=""
for each_arch in "$@"; do
if [ -z "${AVOID_CONSTRUCTOR}" ]; then
arch_val="_${each_arch}"
else
arch_val="IdString(\"${each_arch}\")"
fi
if [ -z "$COMPAT" ]; then
COMPAT=${arch_val}
else
COMPAT="${arch_val},$COMPAT"
fi
done
COMPAT_WITH="${CARCH},${COMPAT} $COMPAT_WITH"
done
for each_compat in ${COMPAT_WITH} ; do
echo " defCompatibleWith( ${each_compat} );" | tr - _ >> zypp/oe-arch.h
done
echo "#endif /* DEF_COMPAT */" >> zypp/oe-arch.h
echo "" >> zypp/oe-arch.h
}
addtask archgen before do_configure after do_patch