diff options
author | Patrick McLean <chutzpah@gentoo.org> | 2018-03-06 11:38:30 -0800 |
---|---|---|
committer | Patrick McLean <chutzpah@gentoo.org> | 2018-03-06 11:38:30 -0800 |
commit | 5392e6e5ea33113f604f9f683d7ad8baeb73eb03 (patch) | |
tree | 0227ff2669395bdd2262d3f047914ccd2af48e40 /sys-cluster | |
parent | profiles/base: add system-boost USE flag for ceph to package.use.mask (diff) | |
download | gentoo-5392e6e5ea33113f604f9f683d7ad8baeb73eb03.tar.gz gentoo-5392e6e5ea33113f604f9f683d7ad8baeb73eb03.tar.bz2 gentoo-5392e6e5ea33113f604f9f683d7ad8baeb73eb03.zip |
sys-cluster/ceph: Version bump to 12.2.4
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/ceph/Manifest | 1 | ||||
-rw-r--r-- | sys-cluster/ceph/ceph-12.2.4.ebuild | 303 | ||||
-rw-r--r-- | sys-cluster/ceph/files/boost-site-config.jam | 11 | ||||
-rw-r--r-- | sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch | 26 | ||||
-rw-r--r-- | sys-cluster/ceph/files/ceph-12.2.4-boost-sonames.patch | 152 | ||||
-rw-r--r-- | sys-cluster/ceph/files/ceph-12.2.4-cflags.patch | 38 | ||||
-rw-r--r-- | sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch | 11 | ||||
-rw-r--r-- | sys-cluster/ceph/metadata.xml | 9 |
8 files changed, 547 insertions, 4 deletions
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest index 51e8f3f49a9a..2376ac36e0ea 100644 --- a/sys-cluster/ceph/Manifest +++ b/sys-cluster/ceph/Manifest @@ -4,3 +4,4 @@ DIST ceph-10.2.7.tar.gz 14518491 BLAKE2B c81fb852680fa24dd30224d276dde3ceb9a5c94 DIST ceph-10.2.9.tar.gz 14550219 BLAKE2B 5ec20b88badefc6ed793c2538ffd9436e4b23877aa9d5ac7348a9d7b353e3c6c759677f6b77635c4f2017cccfbd93636d0e3bda6a1d793f6881b52aa3f3b2758 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547 DIST ceph-12.2.1.tar.gz 148738778 BLAKE2B df4bea1ad552ab2361174c1e2f285f42b4a07ad23daf4eb9baa9e21e5513f6508b141f7b819f75918d2c55e4b812ba9985b9414496e7c1eaf28c68f9a101c3f5 SHA512 ec2623c1f6ab563c6fd0bb5fd046c78528fdbedca7cde347c92a9b15005d2ab2b1a46d7294e93f56933386462f1066750285109aafb6bf94f7d5bcdb7214d8a8 DIST ceph-12.2.2.tar.gz 148763718 BLAKE2B 5c9a56bc536b723ca3a6a0aa68c7f456032c892716167dfa213cda4964e3a45e970efe6dd67e5c43ef6f6018bd9367e0c890de270acccf3217b848b58cb98488 SHA512 89b166dc4b58e0110ebe0147eef9f47e1090ccee01702b3f72cfbdca856d02bf03b2663de9e88c84b21a2a61f8f92211e217a05b8bdcf7d5de3158adbe49db88 +DIST ceph-12.2.4.tar.gz 78694838 BLAKE2B 862c275eb5e42065b2f42d417f8efd2ee8ee67c19575eb19bc799d5923d0720fa4810e1c51915fee6f96a44d433059ca6b180861013b735287751ad24235e611 SHA512 ce9ec49e8693d11345adb3a219763cc76b626db2c26d8d9ba08ff0a4d6fdeb08739da29bb87ff0946fed8e6fd55c8db0672cb286f7ebb90cf2e11a47042ba5d6 diff --git a/sys-cluster/ceph/ceph-12.2.4.ebuild b/sys-cluster/ceph/ceph-12.2.4.ebuild new file mode 100644 index 000000000000..9fbb382ca6a9 --- /dev/null +++ b/sys-cluster/ceph/ceph-12.2.4.ebuild @@ -0,0 +1,303 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) +DISTUTILS_OPTIONAL=1 + +inherit check-reqs cmake-utils distutils-r1 flag-o-matic multiprocessing \ + python-r1 udev user readme.gentoo-r1 systemd + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ceph/ceph.git" + SRC_URI="" +else + SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +DESCRIPTION="Ceph distributed filesystem" +HOMEPAGE="https://ceph.com/" + +LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT" +SLOT="0" + +CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3) + +IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl" +IUSE+=" static-libs +system-boost systemd +tcmalloc test xfs zfs" +IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})" + +# unbundling code commented out pending bugs 584056 and 584058 +#>=dev-libs/jerasure-2.0.0-r1 +#>=dev-libs/gf-complete-2.0.0 +COMMON_DEPEND=" + virtual/libudev:= + app-arch/bzip2:=[static-libs?] + app-arch/lz4:=[static-libs?] + app-arch/snappy:=[static-libs?] + app-arch/zstd:=[static-libs?] + app-misc/jq:=[static-libs?] + dev-libs/crypto++:=[static-libs?] + dev-libs/leveldb:=[snappy,static-libs?,tcmalloc?] + dev-libs/libaio:=[static-libs?] + dev-libs/libxml2:=[static-libs?] + sys-apps/keyutils:=[static-libs?] + sys-apps/util-linux:=[static-libs?] + sys-libs/zlib:=[static-libs?] + babeltrace? ( dev-util/babeltrace ) + ldap? ( net-nds/openldap:=[static-libs?] ) + lttng? ( dev-util/lttng-ust:= ) + nss? ( dev-libs/nss:= ) + fuse? ( sys-fs/fuse:0=[static-libs?] ) + ssl? ( dev-libs/openssl:=[static-libs?] ) + xfs? ( sys-fs/xfsprogs:=[static-libs?] ) + zfs? ( sys-fs/zfs:=[static-libs?] ) + radosgw? ( + dev-libs/expat:=[static-libs?] + dev-libs/openssl:=[static-libs?] + net-misc/curl:=[static-libs?] + ) + system-boost? ( + >=dev-libs/boost-1.66:=[threads,context,python,static-libs?,${PYTHON_USEDEP}] + ) + jemalloc? ( dev-libs/jemalloc:=[static-libs?] ) + !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] ) + ${PYTHON_DEPS} + " +DEPEND="${COMMON_DEPEND} + app-arch/cpio + dev-lang/yasm + dev-python/cython[${PYTHON_USEDEP}] + dev-python/sphinx + dev-util/gperf + dev-util/valgrind + sys-apps/which + sys-devel/bc + virtual/pkgconfig + test? ( + dev-python/tox[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + sys-apps/grep[pcre] + sys-fs/btrfs-progs + )" +RDEPEND="${COMMON_DEPEND} + net-misc/socat + sys-apps/gptfdisk + sys-block/parted + sys-fs/cryptsetup + sys-fs/lvm2 + !<sys-apps/openrc-0.26.3 + dev-python/cherrypy[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/jinja[${PYTHON_USEDEP}] + dev-python/pecan[${PYTHON_USEDEP}] + dev-python/prettytable[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + " +REQUIRED_USE=" + $(python_gen_useflags 'python2*') + ${PYTHON_REQUIRED_USE} + ?? ( ssl nss ) + ?? ( jemalloc tcmalloc ) + " + +RESTRICT="test? ( userpriv )" + +# distribution tarball does not include everything needed for tests +RESTRICT+=" test" + +# false positives unless all USE flags are on +CMAKE_WARN_UNUSED_CLI="no" + +STRIP_MASK="/usr/lib*/rados-classes/*" + +UNBUNDLE_LIBS=( + src/erasure-code/jerasure/jerasure + src/erasure-code/jerasure/gf-complete +) + +PATCHES=( + "${FILESDIR}/ceph-12.2.0-use-provided-cpu-flag-values.patch" + "${FILESDIR}/ceph-12.2.0-cflags.patch" + "${FILESDIR}/ceph-12.2.1-systemd-unitdir.patch" + "${FILESDIR}/ceph-12.2.4-boost-build-none-options.patch" + "${FILESDIR}/ceph-12.2.4-cflags.patch" + "${FILESDIR}/ceph-12.2.4-rocksdb-cflags.patch" +) + +check-reqs_export_vars() { + if use amd64; then + CHECKREQS_DISK_BUILD="12G" + CHECKREQS_DISK_USR="460M" + else + CHECKREQS_DISK_BUILD="1400M" + CHECKREQS_DISK_USR="450M" + fi + + export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR +} + +user_setup() { + enewgroup ceph ${CEPH_GID} + enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph +} + +pkg_pretend() { + check-reqs_export_vars + check-reqs_pkg_pretend +} + +pkg_setup() { + python_setup 'python2*' + check-reqs_export_vars + check-reqs_pkg_setup + user_setup +} + +src_prepare() { + cmake-utils_src_prepare + + if use system-boost; then + eapply "${FILESDIR}/ceph-12.2.4-boost-sonames.patch" + fi + + # remove tests that need root access + rm src/test/cli/ceph-authtool/cap*.t + + #rm -rf "${UNBUNDLE_LIBS[@]}" +} + +ceph_src_configure() { + local flag + local mycmakeargs=( + -DWITH_BABELTRACE=$(usex babeltrace) + -DWITH_CEPHFS=$(usex cephfs) + -DWITH_FUSE=$(usex fuse) + -DWITH_LTTNG=$(usex lttng) + -DWITH_MGR=$(usex mgr) + -DWITH_NSS=$(usex nss) + -DWITH_OPENLDAP=$(usex ldap) + -DWITH_RADOSGW=$(usex radosgw) + -DWITH_SSL=$(usex ssl) + -DWITH_SYSTEMD=$(usex systemd) + -DWITH_TESTS=$(usex test) + -DWITH_XFS=$(usex xfs) + -DWITH_ZFS=$(usex zfs) + -DENABLE_SHARED=$(usex static-libs '' 'yes' 'no') + -DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '') + -DWITH_SYSTEM_BOOST=$(usex system-boost) + -DBOOST_J=$(makeopts_jobs) + -DWITH_RDMA=no + -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir) + -DEPYTHON_VERSION="${EPYTHON#python}" + ) + if use amd64 || use x86; then + for flag in ${CPU_FLAGS_X86[@]}; do + mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")") + done + fi + + rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" + cmake-utils_src_configure + + # bug #630232 + sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \ + "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \ + || die "sed failed" +} + +src_configure() { + ceph_src_configure +} + +python_compile() { + local CMAKE_USE_DIR="${S}" + + ceph_src_configure + pushd "${BUILD_DIR}/src/pybind" >/dev/null || die + emake VERBOSE=1 all + + # python modules are only compiled with "make install" so we need to do this to + # prevent doing a bunch of compilation in src_install + DESTDIR="${T}" emake VERBOSE=1 install + popd >/dev/null || die +} + +src_compile() { + cmake-utils_src_make all + + # we have to do this here to prevent from building everything multiple times + BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources + python_foreach_impl python_compile +} + +src_test() { + make check || die "make check failed" +} + +python_install() { + local CMAKE_USE_DIR="${S}" + pushd "${BUILD_DIR}/src/pybind" >/dev/null || die + DESTDIR="${D}" emake install + popd >/dev/null || die +} + +src_install() { + cmake-utils_src_install + python_foreach_impl python_install + + prune_libtool_files --all + + exeinto /usr/$(get_libdir)/ceph + newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/ceph.logrotate ${PN} + + keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat + + fowners -R ceph:ceph /var/lib/ceph /var/log/ceph + + newinitd "${FILESDIR}/rbdmap.initd" rbdmap + newinitd "${FILESDIR}/${PN}.initd-r7" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r4" ${PN} + + insinto /etc/sysctl.d + newins "${FILESDIR}"/sysctld 90-${PN}.conf + + use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc + + # units aren't installed by the build system unless systemd is enabled + # so no point installing these with the USE flag disabled + if use systemd; then + systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \ + "ceph-mds@.service" + + systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \ + "ceph-osd@.service" + fi + + udev_dorules udev/*.rules + + readme.gentoo_create_doc + + python_setup 'python2*' + + # bug #630232 + sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \ + || die "sed failed" + + python_fix_shebang "${ED}"/usr/{,s}bin/ + + # python_fix_shebang apparently is not idempotent + sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \ + "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed" +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/sys-cluster/ceph/files/boost-site-config.jam b/sys-cluster/ceph/files/boost-site-config.jam new file mode 100644 index 000000000000..8349b96eb44b --- /dev/null +++ b/sys-cluster/ceph/files/boost-site-config.jam @@ -0,0 +1,11 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) + +# Define two new variants to be used when building boost (or separate boost-libs) +# on Gentoo. The two variants make use of Gentoo-specific optimization and debug-symbols +# values "none" which are not part of the official boost distribution. +# DO NOT RELY ON THE FOLLOWING VARIANTS TO BE PRESENT ON OTHER OS! +variant gentoorelease : release : <optimization>none <debug-symbols>none <runtime-link>shared ; +variant gentoodebug : debug : <optimization>none <debug-symbols>on <runtime-link>shared ; + diff --git a/sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch b/sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch new file mode 100644 index 000000000000..6e3ad413e99d --- /dev/null +++ b/sys-cluster/ceph/files/ceph-12.2.4-boost-build-none-options.patch @@ -0,0 +1,26 @@ +diff --git a/src/boost/tools/build/src/tools/features/debug-feature.jam b/src/boost/tools/build/src/tools/features/debug-feature.jam +index 04958f9a..38b6acf1 100644 +--- a/src/boost/tools/build/src/tools/features/debug-feature.jam ++++ b/src/boost/tools/build/src/tools/features/debug-feature.jam +@@ -8,7 +8,7 @@ + import feature ; + + feature.feature debug-symbols +- : on off ++ : on off none + : propagated ; + + feature.feature profiling +diff --git a/src/boost/tools/build/src/tools/features/optimization-feature.jam b/src/boost/tools/build/src/tools/features/optimization-feature.jam +index 761f76f1..fb2a5dec 100644 +--- a/src/boost/tools/build/src/tools/features/optimization-feature.jam ++++ b/src/boost/tools/build/src/tools/features/optimization-feature.jam +@@ -8,7 +8,7 @@ + import feature ; + + feature.feature optimization +- : off speed space ++ : off none speed space + : propagated ; + + feature.feature inlining diff --git a/sys-cluster/ceph/files/ceph-12.2.4-boost-sonames.patch b/sys-cluster/ceph/files/ceph-12.2.4-boost-sonames.patch new file mode 100644 index 000000000000..59c645dea95c --- /dev/null +++ b/sys-cluster/ceph/files/ceph-12.2.4-boost-sonames.patch @@ -0,0 +1,152 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 7aa8a4392e..111f669f2e 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -622,13 +622,13 @@ set(ceph_common_objs + $<TARGET_OBJECTS:crush_objs>) + set(ceph_common_deps + json_spirit erasure_code rt ${LIB_RESOLV} +- Boost::thread +- Boost::system +- Boost::regex +- Boost::random +- Boost::program_options +- Boost::date_time +- Boost::iostreams ++ boost_thread ++ boost_system ++ boost_regex ++ boost_random ++ boost_program_options ++ boost_date_time ++ boost_iostreams + ${BLKID_LIBRARIES} + ${Backtrace_LIBRARIES} + ${BLKIN_LIBRARIES} +@@ -712,7 +712,7 @@ if (WITH_MGR) + $<TARGET_OBJECTS:heap_profiler_objs>) + target_include_directories(ceph-mgr PRIVATE "${PYTHON_INCLUDE_DIRS}") + target_link_libraries(ceph-mgr osdc client global-static common +- Boost::python ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS}) ++ boost_python-${EPYTHON_VERSION} ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS}) + install(TARGETS ceph-mgr DESTINATION bin) + endif (WITH_MGR) + +@@ -885,7 +885,7 @@ set(ceph_mds_srcs + ceph_mds.cc) + add_executable(ceph-mds ${ceph_mds_srcs}) + target_link_libraries(ceph-mds mds ${CMAKE_DL_LIBS} global-static common +- Boost::thread) ++ boost_thread) + install(TARGETS ceph-mds DESTINATION bin) + + add_subdirectory(erasure-code) +diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt +index f3999e3b01..0ce7fca1ba 100644 +--- a/src/test/CMakeLists.txt ++++ b/src/test/CMakeLists.txt +@@ -148,7 +148,7 @@ add_executable(ceph_omapbench + ) + target_link_libraries(ceph_omapbench + librados +- Boost::program_options ++ boost_program_options + global + ${BLKID_LIBRARIES} + ${CMAKE_DL_LIBS} +@@ -202,7 +202,7 @@ if(${WITH_RADOSGW}) + cls_rgw_client + cls_user_client + cls_lock_client +- Boost::regex ++ boost_regex + ${BLKID_LIBRARIES} + ${CURL_LIBRARIES} + ${EXPAT_LIBRARIES} +@@ -232,7 +232,7 @@ if(${WITH_RADOSGW}) + cls_rgw_client + cls_user_client + cls_lock_client +- Boost::regex ++ boost_regex + ${BLKID_LIBRARIES} + ${CURL_LIBRARIES} + ${EXPAT_LIBRARIES} +diff --git a/src/test/bench/CMakeLists.txt b/src/test/bench/CMakeLists.txt +index 9fba701e05..da3cbcfe96 100644 +--- a/src/test/bench/CMakeLists.txt ++++ b/src/test/bench/CMakeLists.txt +@@ -8,7 +8,7 @@ set(smalliobench_srcs + add_executable(ceph_smalliobench + ${smalliobench_srcs} + ) +-target_link_libraries(ceph_smalliobench librados Boost::program_options global ++target_link_libraries(ceph_smalliobench librados boost_program_options global + ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS}) + + # ceph_smalliobenchrbd +@@ -27,7 +27,7 @@ if(WITH_RBD) + librados + os + global +- Boost::program_options ++ boost_program_options + ${BLKID_LIBRARIES} + ${CMAKE_DL_LIBS} + ) +@@ -50,7 +50,7 @@ set(ceph_smalliobenchfs_srcs + add_executable(ceph_smalliobenchfs + ${ceph_smalliobenchfs_srcs} + ) +-target_link_libraries(ceph_smalliobenchfs librados Boost::program_options os global ++target_link_libraries(ceph_smalliobenchfs librados boost_program_options os global + ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS}) + + # ceph_smalliobenchdumb +@@ -63,7 +63,7 @@ set(smalliobenchdumb_srcs + add_executable(ceph_smalliobenchdumb + ${smalliobenchdumb_srcs} + ) +-target_link_libraries(ceph_smalliobenchdumb librados Boost::program_options os global ++target_link_libraries(ceph_smalliobenchdumb librados boost_program_options os global + ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS}) + + # ceph_tpbench +@@ -73,7 +73,7 @@ set(tpbench_srcs + add_executable(ceph_tpbench + ${tpbench_srcs} + ) +-target_link_libraries(ceph_tpbench librados Boost::program_options global ++target_link_libraries(ceph_tpbench librados boost_program_options global + ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS}) + + install(TARGETS +diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt +index 7502085895..1a430c201a 100644 +--- a/src/tools/CMakeLists.txt ++++ b/src/tools/CMakeLists.txt +@@ -23,13 +23,13 @@ target_link_libraries(ceph_radosacl librados global) + install(TARGETS ceph_radosacl DESTINATION bin) + + add_executable(ceph-osdomap-tool ceph_osdomap_tool.cc) +-target_link_libraries(ceph-osdomap-tool os global Boost::program_options) ++target_link_libraries(ceph-osdomap-tool os global boost_program_options) + install(TARGETS ceph-osdomap-tool DESTINATION bin) + + add_executable(ceph-monstore-tool + ceph_monstore_tool.cc + ../mgr/mgr_commands.cc) +-target_link_libraries(ceph-monstore-tool os global Boost::program_options) ++target_link_libraries(ceph-monstore-tool os global boost_program_options) + install(TARGETS ceph-monstore-tool DESTINATION bin) + install(PROGRAMS + ceph-monstore-update-crush.sh +@@ -40,7 +40,7 @@ add_executable(ceph-objectstore-tool + ceph_objectstore_tool.cc + rebuild_mondb.cc + RadosDump.cc) +-target_link_libraries(ceph-objectstore-tool osd os global Boost::program_options ${CMAKE_DL_LIBS}) ++target_link_libraries(ceph-objectstore-tool osd os global boost_program_options ${CMAKE_DL_LIBS}) + if(WITH_FUSE) + target_link_libraries(ceph-objectstore-tool fuse) + endif(WITH_FUSE) diff --git a/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch new file mode 100644 index 000000000000..3535d8cf4369 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-12.2.4-cflags.patch @@ -0,0 +1,38 @@ +diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake +index c7cd39a110..e7b8115485 100644 +--- a/cmake/modules/BuildBoost.cmake ++++ b/cmake/modules/BuildBoost.cmake +@@ -29,7 +29,7 @@ function(do_build_boost version) + else() + list(APPEND boost_features "address-model=32") + endif() +- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX ++ set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX + list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}") + + string(REPLACE ";" "," boost_with_libs "${Boost_BUILD_COMPONENTS}") +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 7aa8a4392e..c7543a62bd 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -808,6 +808,7 @@ install(TARGETS ceph-mon DESTINATION bin) + + if (NOT WITH_SYSTEM_ROCKSDB) + set(ROCKSDB_CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON) ++ list(APPEND ROCKSDB_CMAKE_ARGS -DDISABLE_WARNING_AS_ERROR=ON) + + if(ALLOCATOR STREQUAL "jemalloc") + list(APPEND ROCKSDB_CMAKE_ARGS -DWITH_JEMALLOC=ON) +diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt +index d9d2b6e560..1b2099fcbd 100644 +--- a/src/compressor/zstd/CMakeLists.txt ++++ b/src/compressor/zstd/CMakeLists.txt +@@ -1,7 +1,7 @@ + # zstd + + # libzstd - build it statically +-set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable -O3) ++set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable $ENV{CFLAGS}) + + include(ExternalProject) + ExternalProject_Add(zstd_ext diff --git a/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch new file mode 100644 index 000000000000..d744318cd111 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-12.2.4-rocksdb-cflags.patch @@ -0,0 +1,11 @@ +--- ceph-12.2.4.orig/src/rocksdb/CMakeLists.txt 2018-03-05 19:06:21.016923872 -0800 ++++ ceph-12.2.4/src/rocksdb/CMakeLists.txt 2018-03-05 19:09:01.798721666 -0800 +@@ -147,7 +147,7 @@ + endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -fno-omit-frame-pointer") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer") + include(CheckCXXCompilerFlag) + CHECK_CXX_COMPILER_FLAG("-momit-leaf-frame-pointer" HAVE_OMIT_LEAF_FRAME_POINTER) + if(HAVE_OMIT_LEAF_FRAME_POINTER) diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml index 4194415c72fd..8ed7a4c83e47 100644 --- a/sys-cluster/ceph/metadata.xml +++ b/sys-cluster/ceph/metadata.xml @@ -14,20 +14,21 @@ <name>Gentoo Cluster Project</name> </maintainer> <longdescription> -Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. -</longdescription> + Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. + </longdescription> <use> + <flag name="babeltrace">Add support for LTTng babeltrace</flag> <flag name="cryptopp">Use <pkg>dev-libs/crypto++</pkg> for cryptography</flag> <flag name="cephfs">Build support for cephfs, a POSIX compatible filesystem built on top of ceph</flag> <flag name="fuse">Build fuse client</flag> + <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag> <flag name="libatomic">Use libatomic instead of builtin atomic operations</flag> <flag name="libaio">Use libaio as asynchronous input/output library</flag> <flag name="lttng">Add support for LTTng</flag> - <flag name="babeltrace">Add support for LTTng babeltrace</flag> <flag name="mgr">Build the ceph-mgr daemon</flag> <flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag> <flag name="radosgw">Add radosgw support</flag> - <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag> + <flag name="system-boost">Use system <pkg>dev-libs/boost</pkg> instead of the bundled one</flag> <flag name="xfs">Add xfs support</flag> <flag name="zfs">Add zfs support</flag> </use> |