You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
4.2 KiB
177 lines
4.2 KiB
8 years ago
|
# Copyright 1999-2016 Gentoo Foundation
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
# $Id$
|
||
|
|
||
|
EAPI=5
|
||
|
PYTHON_COMPAT=( python2_7 )
|
||
|
|
||
|
if [[ $PV = *9999* ]]; then
|
||
|
scm_eclass=git-r3
|
||
|
EGIT_REPO_URI="
|
||
|
git://github.com/ceph/ceph.git
|
||
|
https://github.com/ceph/ceph.git"
|
||
|
SRC_URI=""
|
||
|
else
|
||
|
[[ -n ${UPSTREAM_VER} ]] && \
|
||
|
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||
|
|
||
|
SRC_URI="http://ceph.com/download/${P}.tar.gz
|
||
|
${UPSTREAM_PATCHSET_URI}"
|
||
|
fi
|
||
|
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
|
||
|
|
||
|
inherit check-reqs autotools eutils multilib python-single-r1 udev readme.gentoo-r1 systemd ${scm_eclass}
|
||
|
|
||
|
DESCRIPTION="Ceph distributed filesystem"
|
||
|
HOMEPAGE="http://ceph.com/"
|
||
|
|
||
|
LICENSE="LGPL-2.1"
|
||
|
SLOT="0"
|
||
|
IUSE="babeltrace cryptopp debug fuse gtk libatomic +libaio lttng +nss radosgw static-libs jemalloc python tcmalloc xfs zfs"
|
||
|
|
||
|
COMMON_DEPEND="
|
||
|
app-arch/snappy
|
||
|
dev-libs/boost:=[threads]
|
||
|
dev-libs/fcgi
|
||
|
dev-libs/libaio
|
||
|
dev-libs/libedit
|
||
|
dev-libs/leveldb[snappy]
|
||
|
nss? ( dev-libs/nss )
|
||
|
cryptopp? ( dev-libs/crypto++ )
|
||
|
sys-apps/keyutils
|
||
|
sys-apps/util-linux
|
||
|
dev-libs/libxml2
|
||
|
babeltrace? ( dev-util/babeltrace )
|
||
|
fuse? ( sys-fs/fuse )
|
||
|
libatomic? ( dev-libs/libatomic_ops )
|
||
|
xfs? ( sys-fs/xfsprogs )
|
||
|
zfs? ( sys-fs/zfs )
|
||
|
gtk? (
|
||
|
x11-libs/gtk+:2
|
||
|
dev-cpp/gtkmm:2.4
|
||
|
gnome-base/librsvg
|
||
|
)
|
||
|
radosgw? (
|
||
|
dev-libs/fcgi
|
||
|
dev-libs/expat
|
||
|
net-misc/curl
|
||
|
)
|
||
|
jemalloc? ( dev-libs/jemalloc )
|
||
|
!jemalloc? ( dev-util/google-perftools )
|
||
|
lttng? ( dev-util/lttng-ust )
|
||
|
${PYTHON_DEPS}
|
||
|
"
|
||
|
DEPEND="${COMMON_DEPEND}
|
||
|
virtual/pkgconfig"
|
||
|
RDEPEND="${COMMON_DEPEND}
|
||
|
sys-apps/hdparm
|
||
|
dev-python/flask[${PYTHON_USEDEP}]
|
||
|
dev-python/requests[${PYTHON_USEDEP}]
|
||
|
"
|
||
|
REQUIRED_USE="
|
||
|
${PYTHON_REQUIRED_USE}
|
||
|
^^ ( nss cryptopp )
|
||
|
?? ( jemalloc tcmalloc )
|
||
|
"
|
||
|
|
||
|
STRIP_MASK="/usr/lib*/rados-classes/*"
|
||
|
|
||
|
PATCHES=(
|
||
|
"${FILESDIR}"/${PN}-0.79-libzfs.patch
|
||
|
)
|
||
|
CHECKREQS_DISK_BUILD="1400M"
|
||
|
|
||
|
pkg_setup() {
|
||
|
python_setup
|
||
|
}
|
||
|
|
||
|
src_prepare() {
|
||
|
# Upstream's patchset
|
||
|
if [[ -n ${UPSTREAM_VER} ]]; then
|
||
|
einfo "Try to apply Ceph Upstream patch set"
|
||
|
EPATCH_SUFFIX="patch" \
|
||
|
EPATCH_FORCE="yes" \
|
||
|
EPATCH_OPTS="-p1" \
|
||
|
epatch "${WORKDIR}"/patches-upstream
|
||
|
fi
|
||
|
|
||
|
[[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
|
||
|
|
||
|
epatch_user
|
||
|
eautoreconf
|
||
|
}
|
||
|
|
||
|
src_configure() {
|
||
|
local myeconfargs=(
|
||
|
--without-hadoop
|
||
|
--docdir="${EPREFIX}/usr/share/doc/${PF}"
|
||
|
--includedir=/usr/include
|
||
|
$(use_with debug)
|
||
|
$(use_with fuse)
|
||
|
$(use_with libaio)
|
||
|
$(use_with libatomic libatomic-ops)
|
||
|
$(use_with nss)
|
||
|
$(use_with cryptopp)
|
||
|
$(use_with radosgw)
|
||
|
$(use_with gtk gtk2)
|
||
|
$(use_enable static-libs static)
|
||
|
$(use_with jemalloc)
|
||
|
$(use_with xfs libxfs)
|
||
|
$(use_with zfs libzfs)
|
||
|
$(use_with lttng )
|
||
|
$(use_with babeltrace)
|
||
|
--without-kinetic
|
||
|
--without-librocksdb
|
||
|
)
|
||
|
|
||
|
use jemalloc || \
|
||
|
myeconfargs+=( $(usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") )
|
||
|
|
||
|
PYTHON="${EPYTHON}" \
|
||
|
econf "${myeconfargs[@]}"
|
||
|
}
|
||
|
|
||
|
src_install() {
|
||
|
default
|
||
|
|
||
|
prune_libtool_files --all
|
||
|
|
||
|
exeinto /usr/$(get_libdir)/ceph
|
||
|
newexe src/init-ceph ceph_init.sh
|
||
|
|
||
|
insinto /etc/logrotate.d/
|
||
|
newins "${FILESDIR}"/ceph.logrotate ${PN}
|
||
|
|
||
|
chmod 644 "${ED}"/usr/share/doc/${PF}/sample.*
|
||
|
|
||
|
keepdir /var/lib/${PN}
|
||
|
keepdir /var/lib/${PN}/tmp
|
||
|
keepdir /var/log/${PN}/stat
|
||
|
|
||
|
newinitd "${FILESDIR}/rbdmap.initd" rbdmap
|
||
|
newinitd "${FILESDIR}/${PN}.initd-r1.1" ${PN}
|
||
|
newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
|
||
|
|
||
|
systemd_dounit "${FILESDIR}/ceph.target"
|
||
|
systemd_newunit "${FILESDIR}/ceph-mds_at.service" "ceph-mds@.service"
|
||
|
systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
|
||
|
systemd_newunit "${FILESDIR}/ceph-osd_at.service" "ceph-osd@.service"
|
||
|
systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
|
||
|
systemd_newunit "${FILESDIR}/ceph-mon_at.service" "ceph-mon@.service"
|
||
|
systemd_install_serviced "${FILESDIR}/ceph-mon_at.service.conf" "ceph-mon@.service"
|
||
|
|
||
|
python_fix_shebang \
|
||
|
"${ED}"/usr/sbin/{ceph-disk,ceph-create-keys} \
|
||
8 years ago
|
"${ED}"/usr/bin/{ceph,ceph-rest-api,ceph-brag}
|
||
8 years ago
|
|
||
|
#install udev rules
|
||
|
udev_dorules udev/50-rbd.rules
|
||
|
udev_dorules udev/95-ceph-osd.rules
|
||
|
|
||
|
readme.gentoo_create_doc
|
||
|
}
|
||
|
|
||
|
pkg_postinst() {
|
||
|
readme.gentoo_print_elog
|
||
|
}
|