From b4217c2054e00cdfd5284fff876aaea964efc865 Mon Sep 17 00:00:00 2001 From: David Galloway Date: Mon, 23 Dec 2019 20:03:28 -0500 Subject: [PATCH] ceph-dev: Add crimson support Signed-off-by: David Galloway --- ceph-dev-setup/build/build | 36 ++++++++++++++++++++++++ ceph-dev/config/definitions/ceph-dev.yml | 3 +- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/ceph-dev-setup/build/build b/ceph-dev-setup/build/build index 74a473c1..cc0ea7bc 100644 --- a/ceph-dev-setup/build/build +++ b/ceph-dev-setup/build/build @@ -82,6 +82,42 @@ else echo "forcing." fi +# because autogen+configure will check for dependencies, we are forced to install them +# and ensure they are present in the current host +if [ -x install-deps.sh ]; then + echo "Ensuring dependencies are installed" + [ "${FLAVOR}" == "crimson" ] && WITH_SEASTAR=1 + WITH_SEASTAR=$WITH_SEASTAR ./install-deps.sh +fi + +# Flavor Builds support + +#cryptopp is not default for CMake +AUTOCONF_FLAVOR_FLAGS="--without-cryptopp" + +case "${FLAVOR}" in + notcmalloc) + echo "Detected notcmalloc flavor: will use flag: --without-tcmalloc or -DALLOCATOR=libc" + AUTOCONF_FLAVOR_FLAGS="$AUTOCONF_FLAVOR_FLAGS --without-tcmalloc" + CEPH_EXTRA_CONFIGURE_ARGS="--without-tcmalloc" + CEPH_EXTRA_RPMBUILD_ARGS="--without tcmalloc" + CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS -DALLOCATOR=libc -DWITH_CEPH_DEBUG_MUTEX=ON" + ;; + default) + AUTOCONF_FLAVOR_FLAGS="$AUTOCONF_FLAVOR_FLAGS --with-tcmalloc" + CEPH_EXTRA_CONFIGURE_ARGS="--with-tcmalloc" + CEPH_EXTRA_RPMBUILD_ARGS="--with tcmalloc" + CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS -DALLOCATOR=tcmalloc" + ;; + crimson) + CEPH_EXTRA_RPMBUILD_ARGS="--with seastar" + CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS -DWITH_SEASTAR=ON" + ;; + *) + echo "unknown FLAVOR: ${FLAVOR}" >&2 + exit 1 +esac + # make-dist does not exist for autotools builds if [ ! -x make-dist ]; then echo "Using autotools build system" diff --git a/ceph-dev/config/definitions/ceph-dev.yml b/ceph-dev/config/definitions/ceph-dev.yml index b626a03f..688bd0f5 100644 --- a/ceph-dev/config/definitions/ceph-dev.yml +++ b/ceph-dev/config/definitions/ceph-dev.yml @@ -56,8 +56,9 @@ If this is checked, then the binaries will be built and pushed to chacra even if choices: - default - notcmalloc + - crimson default: "default" - description: "Type of Ceph build, choices are: notcmalloc, default (i.e. with tcmalloc). Defaults to: 'default'" + description: "Type of Ceph build, choices are: crimson, notcmalloc, default (i.e. with tcmalloc). Defaults to: 'default'" builders: - multijob: -- 2.39.5