mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-24 00:45:52 +00:00
New port: net/ceph
Ceph is a distributed object store and file system designed to provide excellent performance, reliability and scalability. * Object Storage Ceph provides seamless access to objects using native language bindings or radosgw, a REST interface for applications written with S3 and Swift. * Block Storage Ceph's RADOS Block Device (RBD) provides access to block device images that are striped and replicated across the entire storage cluster. * File System Ceph provides a POSIX-compliant network file system aiming for large data storage, high performance, and maximum compatibility with legacy applications. This FreeBSD build will build most of the tools in Ceph: * Mon, OSD, rados, RadosGW, rbd * init-ceph, and etc/rc.d/ceph on top of that * ceph-disk {prepare, activate} With these tools one can build a multi server, multi osd cluster fully running on FreeBSD and do some testing... WWW: http://ceph.com PR: 221997 Submitted by: Willem Jan Withagen <wjw@digiware.nl>
This commit is contained in:
parent
04d982532d
commit
8f9a931309
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=449176
@ -67,6 +67,7 @@
|
||||
SUBDIR += c3270
|
||||
SUBDIR += cagibi
|
||||
SUBDIR += ccxstream
|
||||
SUBDIR += ceph
|
||||
SUBDIR += ceph-devel
|
||||
SUBDIR += cf
|
||||
SUBDIR += chrony
|
||||
|
@ -12,6 +12,10 @@ COMMENT=Ceph delivers object, block, and file storage in a unified system
|
||||
LICENSE= GPLv2 LGPL3
|
||||
LICENSE_COMB= dual
|
||||
|
||||
# even though i386 will build, it is not really advised.
|
||||
ONLY_FOR_ARCHS= amd64
|
||||
IGNORE_FreeBSD_10= Doesnt build for FreeBSD 10.x
|
||||
|
||||
BUILD_DEPENDS= \
|
||||
yasm:devel/yasm \
|
||||
pkgconf:devel/pkgconf \
|
||||
@ -42,8 +46,9 @@ RUN_DEPENDS= \
|
||||
flock:sysutils/flock \
|
||||
virtualenv:devel/py-virtualenv
|
||||
|
||||
USES= gmake cmake:outsource,noninja python:2.7 fuse gettext-runtime shebangfix
|
||||
CONFLICTS_INSTALL= ceph
|
||||
|
||||
USES= gmake cmake:outsource,noninja python:2.7 fuse gettext-runtime shebangfix
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= wjwithagen:DEFAULT
|
||||
GH_TUPLE+= ceph:ceph-erasure-code-corpus:2d7d78b:ceph_erasure_code_corpus/ceph-erasure-code-corpus
|
||||
@ -85,10 +90,6 @@ SHEBANG_FILES=src/rbdmap src/ceph-post-file.in src/rbd-replay-many \
|
||||
src/tools/ceph-monstore-update-crush.sh src/mount.fuse.ceph \
|
||||
src/ceph-create-keys
|
||||
|
||||
# even though i386 will build, it is not really advised.
|
||||
ONLY_FOR_ARCHS= amd64
|
||||
IGNORE_FreeBSD_10= Doesnt build for FreeBSD 10.x
|
||||
|
||||
USE_RC_SUBR= ceph
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
|
140
net/ceph/Makefile
Normal file
140
net/ceph/Makefile
Normal file
@ -0,0 +1,140 @@
|
||||
# Created by: Willem Jan Withagen <wjw@digiware.nl>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= ceph
|
||||
DISTVERSION= v12.2.0
|
||||
CATEGORIES= net
|
||||
|
||||
MAINTAINER= wjw@digiware.nl
|
||||
COMMENT=Ceph delivers object, block, and file storage in a unified system
|
||||
|
||||
LICENSE= GPLv2 LGPL3
|
||||
LICENSE_COMB= dual
|
||||
|
||||
# even though i386 will build, it is not really advised.
|
||||
ONLY_FOR_ARCHS= amd64
|
||||
IGNORE_FreeBSD_10= Doesnt build for FreeBSD 10.x
|
||||
|
||||
BUILD_DEPENDS= \
|
||||
yasm:devel/yasm \
|
||||
pkgconf:devel/pkgconf \
|
||||
cython>=0.25.2:lang/cython \
|
||||
sphinx-build:textproc/py-sphinx \
|
||||
gperf:devel/gperf \
|
||||
${LOCALBASE}/lib/libatomic_ops.a:devel/libatomic_ops
|
||||
LIB_DEPENDS= \
|
||||
libboost_python.so:devel/boost-python-libs \
|
||||
libboost_thread.so:devel/boost-libs \
|
||||
libleveldb.so:databases/leveldb \
|
||||
libldap.so:net/openldap24-client \
|
||||
libnss3.so:security/nss \
|
||||
libcryptopp.so:security/cryptopp \
|
||||
libsnappy.so:archivers/snappy \
|
||||
libcurl.so:ftp/curl \
|
||||
libxml2.so:textproc/libxml2 \
|
||||
libexpat.so:textproc/expat2 \
|
||||
liblz4.so:archivers/liblz4 \
|
||||
libplds4.so:devel/nspr \
|
||||
libtcmalloc.so:devel/google-perftools
|
||||
RUN_DEPENDS= \
|
||||
bash:shells/bash \
|
||||
${LOCALBASE}/bin/getopt:misc/getopt \
|
||||
xml:textproc/xmlstarlet \
|
||||
jq:textproc/jq \
|
||||
flock:sysutils/flock \
|
||||
virtualenv:devel/py-virtualenv \
|
||||
${PYTHON_PKGNAMEPREFIX}prettytable>=0:devel/py-prettytable
|
||||
|
||||
CONFLICTS_INSTALL= ceph-devel
|
||||
|
||||
USES= gmake cmake:outsource,noninja python:2.7 fuse gettext-runtime shebangfix
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= ceph:DEFAULT
|
||||
GH_TUPLE+= ceph:ceph-erasure-code-corpus:2d7d78b:ceph_erasure_code_corpus/ceph-erasure-code-corpus
|
||||
GH_TUPLE+= ceph:ceph-object-corpus:f0ba19f:ceph_object_corpus/ceph-object-corpus
|
||||
GH_TUPLE+= ceph:Beast:d8db5f1:Beast/src/Beast
|
||||
GH_TUPLE+= ceph:civetweb:de23828:civetweb/src/civetweb
|
||||
GH_TUPLE+= 01org:isa-l_crypto:603529a:isa_l_crypto/src/crypto/isa-l/isa-l_crypto
|
||||
GH_TUPLE+= ceph:gf-complete:7e61b44:gf_complete/src/erasure-code/jerasure/gf-complete
|
||||
GH_TUPLE+= ceph:jerasure:96c76b8:jerasure/src/erasure-code/jerasure/jerasure
|
||||
GH_TUPLE+= ceph:googletest:fdb8504:googletest/src/googletest
|
||||
GH_TUPLE+= ceph:isa-l:7e1a337:isa_l/src/isa-l
|
||||
GH_TUPLE+= ceph:lua:1fce39c:lua/src/lua
|
||||
GH_TUPLE+= ceph:rapidjson:f54b0e4:rapidjson/src/rapidjson
|
||||
GH_TUPLE+= ceph:rocksdb:e15382c:rocksdb/src/rocksdb
|
||||
GH_TUPLE+= ceph:xxHash:1f40c65:xxHash/src/xxHash
|
||||
GH_TUPLE+= facebook:zstd:dc99312:zstd/src/zstd
|
||||
|
||||
CMAKE_BUILD_TYPE= Release
|
||||
CMAKE_ARGS= \
|
||||
-D WITH_SYSTEM_BOOST:BOOL=ON \
|
||||
-D CEPH_MAN_DIR:STRING=man \
|
||||
-D WITH_LTTNG:BOOL=OFF \
|
||||
-D WITH_FUSE:BOOL=ON \
|
||||
-D WITH_KRBD:BOOL=OFF \
|
||||
-D WITH_XFS:BOOL=OFF \
|
||||
-D WITH_KVS:BOOL=OFF \
|
||||
-D WITH_BABELTRACE:BOOL=OFF \
|
||||
-D HAVE_BABELTRACE:BOOL=OFF \
|
||||
-D WITH_LIBCEPHFS:BOOL=OFF \
|
||||
-D WITH_CEPHFS:BOOL=OFF \
|
||||
-D WITH_EMBEDDED:BOOL=OFF
|
||||
|
||||
SHEBANG_FILES=src/rbdmap src/ceph-post-file.in src/rbd-replay-many \
|
||||
src/brag/client/ceph-brag src/ceph-rest-api \
|
||||
src/tools/ceph-monstore-update-crush.sh src/mount.fuse.ceph \
|
||||
src/ceph-create-keys
|
||||
|
||||
USE_RC_SUBR= ceph
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
USERS= ceph
|
||||
GROUPS= ceph
|
||||
|
||||
pre-configure:
|
||||
${LN} -s ${CONFIGURE_WRKSRC} ${WRKSRC}/build
|
||||
${CP} files/file-git_version ${WRKSRC}/src/.git_version
|
||||
|
||||
post-install:
|
||||
${MKDIR} ${STAGEDIR}${PREFIX}/etc/ceph
|
||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/bootstrap-mds
|
||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/bootstrap-osd
|
||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/bootstrap-rgw
|
||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/bootstrap-mgr
|
||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/mds
|
||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/mon
|
||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/osd
|
||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/mgr
|
||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/tmp
|
||||
${MKDIR} ${STAGEDIR}/var/lib/ceph/radosgw
|
||||
${MKDIR} ${STAGEDIR}/var/log/ceph
|
||||
${MKDIR} ${STAGEDIR}/var/run/ceph
|
||||
# Use the Ceph init.d script as the interface to regular
|
||||
# starting and stopping deamons. rc.d work is done thru
|
||||
# a separate rc.d/ceph script calling init-ceph again.
|
||||
${MV} ${STAGEDIR}${PREFIX}/etc/init.d/ceph ${STAGEDIR}${PREFIX}/bin/init-ceph
|
||||
# remove files not packaged
|
||||
${RM} ${STAGEDIR}${DOCSDIR}/sample.fetch_config
|
||||
${RM} ${STAGEDIR}${DOCSDIR}/sample.ceph.conf
|
||||
${RMDIR} ${STAGEDIR}${DOCSDIR}
|
||||
${RM} ${STAGEDIR}${PREFIX}/bin/ceph_bench_log
|
||||
${RM} ${STAGEDIR}${PREFIX}/bin/ceph_multi_stress_watch
|
||||
${RM} ${STAGEDIR}${PREFIX}/bin/ceph_perf*
|
||||
${RM} ${STAGEDIR}${PREFIX}/bin/ceph_psim
|
||||
${RM} ${STAGEDIR}${PREFIX}/bin/ceph_scratchtoolpp
|
||||
${RM} ${STAGEDIR}${PREFIX}/bin/ceph_smalliobench*
|
||||
${RM} ${STAGEDIR}${PREFIX}/bin/ceph_test*
|
||||
${RM} ${STAGEDIR}${PREFIX}/bin/ceph_tpbench
|
||||
${RM} ${STAGEDIR}${PREFIX}/bin/ceph_xattr_bench
|
||||
${RM} ${STAGEDIR}${PREFIX}/sbin/ceph-disk-udev
|
||||
# ceph-volume does not support ZFS
|
||||
${RM} -rf ${STAGEDIR}${PYTHON_SITELIBDIR}/ceph_volume-*
|
||||
${RM} -rf ${STAGEDIR}${PYTHON_SITELIBDIR}/ceph_volume/
|
||||
${RM} ${STAGEDIR}${PREFIX}/sbin/ceph-volume
|
||||
${RM} ${STAGEDIR}${PREFIX}/sbin/ceph-volume-systemd
|
||||
${RM} ${STAGEDIR}${PREFIX}/man/man8/ceph-volume*
|
||||
|
||||
${RMDIR} ${STAGEDIR}${PREFIX}/etc/init.d
|
||||
${INSTALL_DATA} ${WRKSRC}/src/sample.ceph.conf ${STAGEDIR}${PREFIX}/etc/ceph/ceph.conf.sample
|
||||
|
||||
.include <bsd.port.mk>
|
31
net/ceph/distinfo
Normal file
31
net/ceph/distinfo
Normal file
@ -0,0 +1,31 @@
|
||||
TIMESTAMP = 1504214691
|
||||
SHA256 (ceph-ceph-v12.2.0_GH0.tar.gz) = f664e3fe1258b7369acee71569177c6c2b05c0c2291c2d59f77bd281bec169e5
|
||||
SIZE (ceph-ceph-v12.2.0_GH0.tar.gz) = 16953050
|
||||
SHA256 (ceph-ceph-erasure-code-corpus-2d7d78b_GH0.tar.gz) = 466f7185015df8d13f8b2b9a17ee30ab419bcd667284ce2b6d32a1128c4640f1
|
||||
SIZE (ceph-ceph-erasure-code-corpus-2d7d78b_GH0.tar.gz) = 3634266
|
||||
SHA256 (ceph-ceph-object-corpus-f0ba19f_GH0.tar.gz) = 90e4052c6dca0e272bdca492216e62fdc0d19719e121451798295799bdf95499
|
||||
SIZE (ceph-ceph-object-corpus-f0ba19f_GH0.tar.gz) = 1837935
|
||||
SHA256 (ceph-Beast-d8db5f1_GH0.tar.gz) = a0dda7ee9abdef7f6e2a3f178e85dbfa7ebc8ce428ccc6cd0ac76883f406808b
|
||||
SIZE (ceph-Beast-d8db5f1_GH0.tar.gz) = 17823430
|
||||
SHA256 (ceph-civetweb-de23828_GH0.tar.gz) = a9a95dd58e9b4a696fa0c822c1401856c55ef9b67fb28cf15d97f19f1af2ecbd
|
||||
SIZE (ceph-civetweb-de23828_GH0.tar.gz) = 6850197
|
||||
SHA256 (01org-isa-l_crypto-603529a_GH0.tar.gz) = 52708b98c832bb7e6db60c949ece261d9609c822ae55239b0f2133cec2b3d155
|
||||
SIZE (01org-isa-l_crypto-603529a_GH0.tar.gz) = 439149
|
||||
SHA256 (ceph-gf-complete-7e61b44_GH0.tar.gz) = 7b0e5c1b41399d2c7d97ed7a7547ebf40023bcd104ed9a8b2b75bdee440c1a4d
|
||||
SIZE (ceph-gf-complete-7e61b44_GH0.tar.gz) = 342303
|
||||
SHA256 (ceph-jerasure-96c76b8_GH0.tar.gz) = 06edaeb8cb5c3076e34cb53dd91c91d54d46fb8c3b837c6280ea2ed076556beb
|
||||
SIZE (ceph-jerasure-96c76b8_GH0.tar.gz) = 806334
|
||||
SHA256 (ceph-googletest-fdb8504_GH0.tar.gz) = ece3265dae4d0fe5a52e7164432bb416de8bdb45e1c8cf8f361bbe893db30bb8
|
||||
SIZE (ceph-googletest-fdb8504_GH0.tar.gz) = 1281068
|
||||
SHA256 (ceph-isa-l-7e1a337_GH0.tar.gz) = 8099bc6ca3ca6ed9376f6cc5072a84d7a1863e2d7f2344bf08682d4efb7ae788
|
||||
SIZE (ceph-isa-l-7e1a337_GH0.tar.gz) = 458398
|
||||
SHA256 (ceph-lua-1fce39c_GH0.tar.gz) = fb5f778ce4da349ca903512a2fdb3987b12e3f0a52ab088fb011a8e4dd55848c
|
||||
SIZE (ceph-lua-1fce39c_GH0.tar.gz) = 366778
|
||||
SHA256 (ceph-rapidjson-f54b0e4_GH0.tar.gz) = 35c330d40ed9def99e8dea8f3b0e4fda7610b813b6f4aac9a70ffefcb9ab1f1e
|
||||
SIZE (ceph-rapidjson-f54b0e4_GH0.tar.gz) = 1019457
|
||||
SHA256 (ceph-rocksdb-e15382c_GH0.tar.gz) = e23177dd893b81b4d3d959464ee8e5c4fe64a408841c2584b29540c60ac5cf47
|
||||
SIZE (ceph-rocksdb-e15382c_GH0.tar.gz) = 3278113
|
||||
SHA256 (ceph-xxHash-1f40c65_GH0.tar.gz) = 809e06b7493ed01f13c7ba972393a5a6d23dd92fd6b884381aa907005e569372
|
||||
SIZE (ceph-xxHash-1f40c65_GH0.tar.gz) = 25484
|
||||
SHA256 (facebook-zstd-dc99312_GH0.tar.gz) = e10abc649b2708ad9112e138001a9c88eed05cae35e1139f5b96a51a549cf724
|
||||
SIZE (facebook-zstd-dc99312_GH0.tar.gz) = 769078
|
36
net/ceph/files/ceph.in
Normal file
36
net/ceph/files/ceph.in
Normal file
@ -0,0 +1,36 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
# PROVIDE: ceph
|
||||
# REQUIRE: LOGIN
|
||||
# BEFORE: securelevel
|
||||
# KEYWORD: shutdown
|
||||
|
||||
# Add the following lines to /etc/rc.conf to enable `ceph':
|
||||
#
|
||||
# ceph_enable="YES"
|
||||
#
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
PATH=$PATH:%%PREFIX%%/bin:%%PREFIX%%/sbin
|
||||
|
||||
name="ceph"
|
||||
rcvar=${name}_enable
|
||||
extra_commands="condrestart"
|
||||
|
||||
load_rc_config ${name}
|
||||
|
||||
# read configuration and set defaults
|
||||
: ${ceph_enable="NO"}
|
||||
: ${ceph_configfile:=%%PREFIX%%/etc/ceph/ceph.conf}
|
||||
|
||||
start_cmd="%%PREFIX%%/bin/init-ceph $*"
|
||||
stop_cmd="%%PREFIX%%/bin/init-ceph $*"
|
||||
restart_cmd="%%PREFIX%%/bin/init-ceph $*"
|
||||
condrestart_cmd="%%PREFIX%%/bin/init-ceph $*"
|
||||
|
||||
run_rc_command "$1"
|
||||
|
2
net/ceph/files/file-git_version
Normal file
2
net/ceph/files/file-git_version
Normal file
@ -0,0 +1,2 @@
|
||||
bcf89707d6c3c3086f001d08c754095b9e7a85f1
|
||||
v12.2.0-6-gbcf89707d6
|
21
net/ceph/pkg-descr
Normal file
21
net/ceph/pkg-descr
Normal file
@ -0,0 +1,21 @@
|
||||
Ceph is a distributed object store and file system designed to provide
|
||||
excellent performance, reliability and scalability.
|
||||
|
||||
* Object Storage
|
||||
Ceph provides seamless access to objects using native language bindings or
|
||||
radosgw, a REST interface for applications written with S3 and Swift.
|
||||
* Block Storage
|
||||
Ceph's RADOS Block Device (RBD) provides access to block device images
|
||||
that are striped and replicated across the entire storage cluster.
|
||||
* File System
|
||||
Ceph provides a POSIX-compliant network file system aiming for large data
|
||||
storage, high performance, and maximum compatibility with legacy applications.
|
||||
|
||||
This FreeBSD build will build most of the tools in Ceph:
|
||||
* Mon, OSD, rados, RadosGW, rbd
|
||||
* init-ceph, and etc/rc.d/ceph on top of that
|
||||
* ceph-disk {prepare, activate}
|
||||
With these tools one can build a multi server, multi osd cluster fully
|
||||
running on FreeBSD and do some testing...
|
||||
|
||||
WWW: http://ceph.com
|
1371
net/ceph/pkg-plist
Normal file
1371
net/ceph/pkg-plist
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user