meta-virtualization/recipes-extended/ceph/ceph_15.2.15.bb
Bruce Ashfield 108e089f7e global: update licence values to SPDX values
These changes are the result of running the convert-spdx-licenses.py
oe-core script.

There's no impact to the build, but we will avoid issues when
interacting with core QA by the alignment.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-02-18 13:07:10 -05:00

143 lines
5.0 KiB
BlitzBasic

SUMMARY = "User space components of the Ceph file system"
LICENSE = "LGPL-2.1-only & GPL-2.0-only & Apache-2.0 & MIT"
LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 \
file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING;md5=4eb012c221c5fd4b760029a2981a6754 \
"
inherit cmake pkgconfig python3native python3-dir systemd
# Disable python pybind support for ceph temporary, when corss compiling pybind,
# pybind mix cmake and python setup environment, would case a lot of errors.
SRC_URI = "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \
file://0001-ceph-fix-build-errors-for-cross-compile.patch \
file://0001-fix-host-library-paths-were-used.patch \
file://ceph.conf \
file://0001-cmake-add-support-for-python3.10.patch \
file://0001-SnappyCompressor.h-fix-snappy-compiler-error.patch \
"
SRC_URI[sha256sum] = "5dccdaff2ebe18d435b32bfc06f8b5f474bf6ac0432a6a07d144b7c56700d0bf"
DEPENDS = "boost bzip2 curl expat gperf-native \
keyutils libaio libibverbs lz4 \
nspr nss \
oath openldap openssl \
python3 python3-cython-native rabbitmq-c rocksdb snappy udev \
valgrind xfsprogs zlib \
"
SYSTEMD_SERVICE:${PN} = " \
ceph-radosgw@.service \
ceph-radosgw.target \
ceph-mon@.service \
ceph-mon.target \
ceph-mds@.service \
ceph-mds.target \
ceph-osd@.service \
ceph-osd.target \
ceph.target \
ceph-rbd-mirror@.service \
ceph-rbd-mirror.target \
ceph-volume@.service \
ceph-mgr@.service \
ceph-mgr.target \
ceph-crash.service \
rbdmap.service \
ceph-immutable-object-cache@.service \
ceph-immutable-object-cache.target \
"
OECMAKE_GENERATOR = "Unix Makefiles"
EXTRA_OECMAKE = "-DWITH_MANPAGE=OFF \
-DWITH_FUSE=OFF \
-DWITH_SPDK=OFF \
-DWITH_LEVELDB=OFF \
-DWITH_LTTNG=OFF \
-DWITH_BABELTRACE=OFF \
-DWITH_TESTS=OFF \
-DWITH_MGR=OFF \
-DWITH_MGR_DASHBOARD_FRONTEND=OFF \
-DWITH_SYSTEM_BOOST=ON \
-DWITH_SYSTEM_ROCKSDB=ON \
-DWITH_RDMA=OFF \
-DWITH_RADOSGW_AMQP_ENDPOINT=OFF \
-DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 \
-DPython3_EXECUTABLE=${PYTHON} \
-DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \
-DWITH_REENTRANT_STRSIGNAL=ON \
"
export STAGING_DIR_HOST
do_configure:prepend () {
echo "set( CMAKE_SYSROOT \"${RECIPE_SYSROOT}\" )" >> ${WORKDIR}/toolchain.cmake
echo "set( CMAKE_DESTDIR \"${D}\" )" >> ${WORKDIR}/toolchain.cmake
echo "set( PYTHON_SITEPACKAGES_DIR \"${PYTHON_SITEPACKAGES_DIR}\" )" >> ${WORKDIR}/toolchain.cmake
}
do_install:append () {
sed -i -e 's:^#!/usr/bin/python$:&3:' \
-e 's:${WORKDIR}.*python3:${bindir}/python3:' \
${D}${bindir}/ceph ${D}${bindir}/ceph-crash \
${D}${bindir}/ceph-volume ${D}${bindir}/ceph-volume-systemd
find ${D} -name SOURCES.txt | xargs sed -i -e 's:${WORKDIR}::'
install -d ${D}${sysconfdir}/ceph
install -m 644 ${WORKDIR}/ceph.conf ${D}${sysconfdir}/ceph/
install -d ${D}${systemd_unitdir}
mv ${D}${libexecdir}/systemd/system ${D}${systemd_unitdir}
mv ${D}${libexecdir}/ceph/ceph-osd-prestart.sh ${D}${libdir}/ceph
mv ${D}${libexecdir}/ceph/ceph_common.sh ${D}${libdir}/ceph
# WITH_FUSE is set to OFF, remove ceph-fuse related units
rm ${D}${systemd_unitdir}/system/ceph-fuse.target ${D}${systemd_unitdir}/system/ceph-fuse@.service
}
do_install:append:class-target () {
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d /var/lib/ceph/crash/posted 0755 root root - -" > ${D}${sysconfdir}/tmpfiles.d/ceph-placeholder.conf
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/default/volatiles
echo "d root root 0755 /var/lib/ceph/crash/posted none" > ${D}${sysconfdir}/default/volatiles/99_ceph-placeholder
fi
}
pkg_postinst:${PN}() {
if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
${sysconfdir}/init.d/populate-volatile.sh update
fi
}
FILES:${PN} += "\
${libdir}/rados-classes/*.so.* \
${libdir}/ceph/compressor/*.so \
${libdir}/rados-classes/*.so \
${libdir}/ceph/*.so \
"
FILES:${PN} += " \
/etc/tmpfiles.d/ceph-placeholder.conf \
/etc/default/volatiles/99_ceph-placeholder \
"
FILES:${PN}-python = "\
${PYTHON_SITEPACKAGES_DIR}/* \
"
RDEPENDS:${PN} += "\
python3-core \
python3-misc \
python3-modules \
python3-prettytable \
${PN}-python \
gawk \
"
COMPATIBLE_HOST = "(x86_64).*"
PACKAGES += " \
${PN}-python \
"
INSANE_SKIP:${PN}-python += "ldflags"
INSANE_SKIP:${PN} += "dev-so"
CCACHE_DISABLE = "1"
CVE_PRODUCT = "ceph ceph_storage ceph_storage_mon ceph_storage_osd"