From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 5B266138334 for ; Wed, 17 Oct 2018 00:39:02 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 460EEE0867; Wed, 17 Oct 2018 00:39:00 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 0F1F3E0867 for ; Wed, 17 Oct 2018 00:38:59 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 8BE0B335CE9 for ; Wed, 17 Oct 2018 00:38:58 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A676E43C for ; Wed, 17 Oct 2018 00:38:56 +0000 (UTC) From: "Patrick McLean" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Patrick McLean" Message-ID: <1539736721.9c8362b30d0cef025ec3b0da1716d1c93fac0e21.chutzpah@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-cluster/ceph/files/, sys-cluster/ceph/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-cluster/ceph/Manifest sys-cluster/ceph/ceph-13.2.2.ebuild sys-cluster/ceph/files/ceph-13.2.2-dont-install-sysvinit-script.patch sys-cluster/ceph/files/ceph.logrotate-r1 X-VCS-Directories: sys-cluster/ceph/files/ sys-cluster/ceph/ X-VCS-Committer: chutzpah X-VCS-Committer-Name: Patrick McLean X-VCS-Revision: 9c8362b30d0cef025ec3b0da1716d1c93fac0e21 X-VCS-Branch: master Date: Wed, 17 Oct 2018 00:38:56 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 54539857-93a7-481c-8979-39907ceb2791 X-Archives-Hash: a9f3ec54f95101a83010cb27e586686f commit: 9c8362b30d0cef025ec3b0da1716d1c93fac0e21 Author: Patrick McLean gentoo org> AuthorDate: Wed Oct 17 00:09:47 2018 +0000 Commit: Patrick McLean gentoo org> CommitDate: Wed Oct 17 00:38:41 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c8362b3 sys-cluster/ceph: Version bump to 13.2.2 (bug #667766) Closes: https://bugs.gentoo.org/667766 Package-Manager: Portage-2.3.51, Repoman-2.3.11 Signed-off-by: Patrick McLean gentoo.org> sys-cluster/ceph/Manifest | 2 + sys-cluster/ceph/ceph-13.2.2.ebuild | 362 +++++++++++++++++++++ .../ceph-13.2.2-dont-install-sysvinit-script.patch | 15 + sys-cluster/ceph/files/ceph.logrotate-r1 | 18 + 4 files changed, 397 insertions(+) diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest index 72923438896..84c9df735e2 100644 --- a/sys-cluster/ceph/Manifest +++ b/sys-cluster/ceph/Manifest @@ -4,3 +4,5 @@ DIST ceph-12.2.7.tar.gz 78783279 BLAKE2B 9058a5e408b3431cf0e8c28b44f95f6eb12f029 DIST ceph-12.2.8.tar.gz 77243685 BLAKE2B 37c34396a0c276b8d79735e14934ac70da024822c2a060061531c234e03e5d41aad6c41dc64b05c2ce47f03287d0cae9ef9bed67e4a0861b6380c8ce1de4ea69 SHA512 91c5c11aaeef701b3e31c9f8a1192b6b79fd34f3b96c61595c65173c98bfce0009c5b7c9b29764f5e4d4b1f5ac2ca7109fed5ae598c176aba717a34a132fabac DIST ceph-13.2.1-frontend-node-modules.tar.xz 44352460 BLAKE2B 0a0099e60f0b36d48928dcda3f69dbb00e14a9a9e10c688ecbeb3daa3adbe339655652a43924043fe140ce1754525be2abed61f1ad5f24779fa4ff890d2b7cf6 SHA512 3938e8cadb6385cdaf023fe55ab5f202e44ed80173b128e3b76fc4849556cea90ce5d8884a928b93776b0509b5aef814f1078ba5e44a9d644b43a871aea06dd9 DIST ceph-13.2.1.tar.gz 90786830 BLAKE2B e0884a039ff0e8a1705d8f31f4dcf4cd8ab8989d7c2fa703417038ff9a6cf7b0fbca09abceb901970fbb2dd9a1dc87c2500fec38a2bfca86a9a6dcaab15be991 SHA512 411218ea6037bdf9425a741720ea89876e893e64fbfa518c9584ba581f805fde2c82b13ed47313279665e5d20f36223fc8d5c27055b580c72b22c2004e4da81b +DIST ceph-13.2.2-frontend-node-modules.tar.xz 45100632 BLAKE2B c3929a6c5e6ec3da5ff60967ae40b99377b2186f31e64af571d9be14889d90bc48b570489aea300ead8e99afc0e62db4438cf343686757a39d84889e772c7fa9 SHA512 93eabc2010c0977c2980c739e131d231a809e375c42120e81effc6cecdeaf0e50b4f8c88286993ef60f1ffaede94f637475104e09fd7af58a289350bd670bf2f +DIST ceph-13.2.2.tar.gz 90840817 BLAKE2B db5933f358a1ae6888030bca7522e20545a2e107055dca44b371e295537c854568682fa558d3f90193e0dfe618947918ce21816b5e20795fff8a14bc837216bb SHA512 37c4845ae52550428c7f1e0d77d9d671ea1d6f5cad5bce0713dce97b54f3abe7346daa2cbd44b76638fb74fe7bdc4797033a4bf808253cfc8bec0fa495ec7e03 diff --git a/sys-cluster/ceph/ceph-13.2.2.ebuild b/sys-cluster/ceph/ceph-13.2.2.ebuild new file mode 100644 index 00000000000..b5c1fb29a62 --- /dev/null +++ b/sys-cluster/ceph/ceph-13.2.2.ebuild @@ -0,0 +1,362 @@ +# Copyright 1999-2018 Gentoo Authors +# Copyright 2017-2018 Sony Interactive Entertainment Inc. +# 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 bash-completion-r1 cmake-utils distutils-r1 flag-o-matic \ + multiprocessing python-r1 udev user readme.gentoo-r1 toolchain-funcs \ + 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 + mgr-frontend? ( mirror://gentoo/${P}-frontend-node-modules.tar.xz )" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Ceph distributed filesystem" +HOMEPAGE="https://ceph.com/" + +LICENSE="LGPL-2.1 CC-BY-SA-3.0 GPL-2 BSD Boost-1.0 MIT" +SLOT="0" + +CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3) + +IUSE="babeltrace cephfs dpdk fuse jemalloc ldap lttng +mgr mgr-frontend" +IUSE+=" +radosgw +ssl static-libs +system-boost systemd +tcmalloc test" +IUSE+=" 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?] + dev-libs/nss:= + sys-auth/oath-toolkit:= + 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:= ) + 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?] ) + mgr? ( + net-libs/nodejs-8.10 + ) + mgr-frontend? ( net-libs/nodejs[npm] ) + radosgw? ( + dev-libs/expat:=[static-libs?] + dev-libs/openssl:=[static-libs?] + net-misc/curl:=[curl_ssl_openssl,static-libs?] + ) + system-boost? ( + >=dev-libs/boost-1.67:=[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} + amd64? ( dev-lang/yasm ) + x86? ( dev-lang/yasm ) + app-arch/cpio + dev-python/cython[${PYTHON_USEDEP}] + dev-python/sphinx + dev-util/cunit + dev-util/gperf + dev-util/valgrind + sys-apps/which + sys-devel/bc + virtual/pkgconfig + test? ( + dev-python/coverage[${PYTHON_USEDEP}] + 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 + !/dev/null || die + emake VERBOSE=1 clean + 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() { + if use mgr-frontend; then + # npm likes trying to create /etc/npm + addpredict /etc/npm + + # subshell to avoid polluting the environment + ( + python_setup 'python2*' + + export CC="$(tc-getCC)" CXX="$(tc-getCXX)" + + set -e + + pushd src/pybind/mgr/dashboard/frontend >/dev/null + + npm install --offline --no-save --verbose --parseable \ + --no-rollback --no-progress --fetch-retries=0 \ + --nodedir="/usr/include/node" \ + --cache="${WORKDIR}/${P}-npm-cache" \ + --registry="http://npmjs.invalid" \ + --sass-binary-site="http://sass.invalid" + + # this tends to get installed to the system if it's still here + rm -rf node_modules/node-sass/build + + popd >/dev/null + + ) || die "failed to build node modules for mgr-frontend" + fi + + cmake-utils_src_make VERBOSE=1 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="${ED}" 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-r8" ${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 'python3*' + + # 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/ceph-13.2.2-dont-install-sysvinit-script.patch b/sys-cluster/ceph/files/ceph-13.2.2-dont-install-sysvinit-script.patch new file mode 100644 index 00000000000..4fbc8b6c810 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-13.2.2-dont-install-sysvinit-script.patch @@ -0,0 +1,15 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 874eabfaa1..e337f4cf8e 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -601,10 +601,6 @@ install(PROGRAMS + ${CMAKE_SOURCE_DIR}/src/ceph-run + ${CMAKE_SOURCE_DIR}/src/ceph-clsinfo + DESTINATION bin) +-install(PROGRAMS +- ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/init-ceph +- DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/init.d +- RENAME ceph) + + install(FILES + ${CMAKE_SOURCE_DIR}/share/id_rsa_drop.ceph.com diff --git a/sys-cluster/ceph/files/ceph.logrotate-r1 b/sys-cluster/ceph/files/ceph.logrotate-r1 new file mode 100644 index 00000000000..df03f5e69a4 --- /dev/null +++ b/sys-cluster/ceph/files/ceph.logrotate-r1 @@ -0,0 +1,18 @@ +/var/log/ceph/*.log +{ + rotate 7 + daily + compress + sharedscripts + prerotate + for dmn in $(cd /run/ceph && ls *.asok 2>/dev/null); do + ceph --admin-daemon /run/ceph/${dmn} log flush 2>/dev/null >/dev/null + done + endscript + postrotate + for dmn in $(cd /run/ceph && ls *.asok 2>/dev/null); do + ceph --admin-daemon /run/ceph/${dmn} log reopen 2>/dev/null >/dev/null + done + endscript + missingok +}