summaryrefslogtreecommitdiffstats
path: root/src/ceph/alpine/APKBUILD.in
diff options
context:
space:
mode:
authorQiaowei Ren <qiaowei.ren@intel.com>2018-01-04 13:43:33 +0800
committerQiaowei Ren <qiaowei.ren@intel.com>2018-01-05 11:59:39 +0800
commit812ff6ca9fcd3e629e49d4328905f33eee8ca3f5 (patch)
tree04ece7b4da00d9d2f98093774594f4057ae561d4 /src/ceph/alpine/APKBUILD.in
parent15280273faafb77777eab341909a3f495cf248d9 (diff)
initial code repo
This patch creates initial code repo. For ceph, luminous stable release will be used for base code, and next changes and optimization for ceph will be added to it. For opensds, currently any changes can be upstreamed into original opensds repo (https://github.com/opensds/opensds), and so stor4nfv will directly clone opensds code to deploy stor4nfv environment. And the scripts for deployment based on ceph and opensds will be put into 'ci' directory. Change-Id: I46a32218884c75dda2936337604ff03c554648e4 Signed-off-by: Qiaowei Ren <qiaowei.ren@intel.com>
Diffstat (limited to 'src/ceph/alpine/APKBUILD.in')
-rw-r--r--src/ceph/alpine/APKBUILD.in482
1 files changed, 482 insertions, 0 deletions
diff --git a/src/ceph/alpine/APKBUILD.in b/src/ceph/alpine/APKBUILD.in
new file mode 100644
index 0000000..e82dd20
--- /dev/null
+++ b/src/ceph/alpine/APKBUILD.in
@@ -0,0 +1,482 @@
+# Contributor: John Coyle <dx9err@gmail.com>
+# Maintainer: John Coyle <dx9err@gmail.com>
+pkgname=ceph
+pkgver=@VERSION@
+pkgrel=@RPM_RELEASE@
+pkgdesc="Ceph is a distributed object store and file system"
+pkgusers="ceph"
+pkggroups="ceph"
+url="http://ceph.com"
+arch="x86_64"
+license="LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and \
+GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT"
+depends="ceph-osd ceph-mds ceph-mgr ceph-mon"
+# grep --quiet option required
+# diffutils -y option required by osd-scrub-snaps.sh
+# util-linux uuidgen required
+makedepends="
+ acl-dev
+ argp-standalone
+ bc
+ boost-dev
+ btrfs-progs
+ bzip2-dev
+ cmake
+ coreutils
+ cryptsetup
+ curl-dev
+ cython-dev
+ diffutils
+ eudev-dev
+ expat-dev
+ fcgi-dev
+ flex
+ fuse-dev
+ git
+ grep
+ jq
+ keyutils-dev
+ leveldb-dev
+ libaio-dev
+ libedit-dev
+ libressl-dev
+ libtirpc-dev
+ libtool
+ libxml2-dev
+ linux-headers
+ lvm2-dev
+ nss-dev
+ openldap-dev
+ parted
+ procps
+ python-dev
+ py-pip
+ py-nose
+ py-sphinx
+ py-virtualenv
+ readline-dev
+ rpcgen
+ snappy-dev
+ userspace-rcu-dev
+ util-linux
+ xfsprogs-dev
+ xmlstarlet
+ yasm
+"
+source="@TARBALL_BASENAME@.tar.bz2"
+subpackages="
+ $pkgname-base
+ $pkgname-common
+ $pkgname-mds
+ $pkgname-mgr
+ $pkgname-mon
+ $pkgname-fuse:ceph_fuse
+ $pkgname-radosgw
+ $pkgname-osd
+ $pkgname-doc
+ $pkgname-bash-completion:bash_completion
+ rbd-fuse:rbd_fuse
+ rbd-mirror:rbd_mirror
+ rbd-nbd:rbd_nbd
+ librbd
+ librbd-dev:librbd_dev
+ libcephfs
+ libcephfs-dev:libcephfs_dev
+ librados
+ librados-dev:librados_dev
+ librgw
+ librgw-dev:librgw_dev
+ py-rados:py_rados
+ py-rgw:py_rgw
+ libradosstriper
+ libradosstriper-dev:libradosstriper_dev
+ py-rbd:py_rbd
+ py-cephfs:py_cephfs
+"
+
+if [ -n "$CEPH_TEST_PKG" ]; then
+ subpackages="$subpackages $pkgname-test:ceph_test"
+fi
+
+_ceph_uid=167
+_ceph_gid=167
+
+_prefix=/usr
+_bindir=$_prefix/bin
+_datadir=$_prefix/share
+_docdir=$_datadir/doc
+_includedir=$_prefix/include
+_libdir=$_prefix/lib
+_libexecdir=$_prefix/libexec
+_localstatedir=/var
+_mandir=$_datadir/man
+_sbindir=/usr/sbin
+_sysconfdir=/etc
+
+_udevrulesdir=/etc/udev/rules.d
+_python_sitelib=/usr/lib/python2.7/site-packages
+
+builddir=$srcdir/@TARBALL_BASENAME@
+
+build() {
+ export CEPH_BUILD_VIRTUALENV=$builddir
+
+ mkdir -p $builddir/build
+ cd $builddir/build
+
+ if [ -n "$MAKE_CHECK" ] || [ -n "$CEPH_TEST_PKG" ]; then
+ local _with_tests=ON
+ fi
+
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=$_prefix \
+ -DCMAKE_INSTALL_LIBDIR=$_libdir \
+ -DCMAKE_INSTALL_LIBEXECDIR=$_libexecdir \
+ -DCMAKE_INSTALL_LOCALSTATEDIR=$_localstatedir \
+ -DCMAKE_INSTALL_SYSCONFDIR=$_sysconfdir \
+ -DCMAKE_INSTALL_DOCDIR=$_docdir/ceph \
+ -DCMAKE_INSTALL_MANDIR=$_mandir \
+ -DWITH_REENTRANT_STRSIGNAL=ON \
+ -DWITH_THREAD_SAFE_RES_QUERY=ON \
+ -DWITH_MANPAGE=ON \
+ -DWITH_PYTHON3=OFF \
+ -DWITH_LTTNG=OFF \
+ -DWITH_SYSTEM_BOOST=ON \
+ -DWITH_EMBEDDED=OFF \
+ -DWITH_TESTS=${_with_tests:-OFF} \
+ || return 1
+ make -j${JOBS:-2} || return 1
+
+ if [ -n "$MAKE_CHECK" ]; then
+ ctest -j${JOBS:-2}
+ fi
+}
+
+package() {
+ cd $builddir/build
+ make DESTDIR=$pkgdir install || return 1
+ cd ..
+
+ rm -f $pkgdir$_sysconfdir/init.d/ceph
+
+ install -m 0644 -D src/etc-rbdmap $pkgdir$_sysconfdir/ceph/rbdmap \
+ || return 1
+
+ install -m 0644 -D src/logrotate.conf $pkgdir$_sysconfdir/logrotate.d/ceph \
+ || return 1
+
+ chmod 0644 $pkgdir$_docdir/ceph/sample.ceph.conf || return 1
+
+ # udev rules
+ install -m 0644 -D udev/50-rbd.rules $pkgdir$_udevrulesdir/50-rbd.rules || return 1
+ install -m 0644 -D udev/60-ceph-by-parttypeuuid.rules \
+ $pkgdir$_udevrulesdir/60-ceph-by-parttypeuuid.rules || return 1
+ install -m 0644 -D udev/95-ceph-osd.rules \
+ $pkgdir$_udevrulesdir/95-ceph-osd.rules
+}
+
+base() {
+ pkgdesc="Base is the package that includes all the files shared amongst ceph servers"
+ depends="
+ ceph-common
+ cryptsetup
+ librbd
+ librados
+ libcephfs
+ librgw
+ logrotate
+ py-requests
+ py-setuptools
+ util-linux
+ xfsprogs
+ "
+
+ _pkg $_bindir crushtool monmaptool osdmaptool ceph-run ceph-detect-init
+ _pkg $_sbindir ceph-create-keys mount.ceph
+ _pkg $_libexecdir/ceph ceph_common.sh
+ _pkg $_libdir/rados-classes *.so*
+ _pkg $_libdir/ceph/erasure-code libec_*.so*
+ _pkg $_libdir/ceph/compressor libceph_*.so*
+ _pkg $_sysconfdir/logrotate.d ceph
+ _pkg $_python_sitelib ceph_detect_init* ceph_disk*
+ for dir in tmp bootstrap-osd bootstrap-mds bootstrap-rgw; do
+ install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
+ $subpkgdir$_localstatedir/lib/ceph/$dir || return 1
+ done
+}
+
+common() {
+ pkgdesc="Common utilities to mount and interact with a ceph storage cluster."
+ depends="py-rados py-rbd py-cephfs"
+ install="$pkgname-common.pre-install"
+
+ _pkg $_bindir ceph \
+ ceph-authtool \
+ ceph-conf \
+ ceph-dencoder \
+ ceph-rbdnamer \
+ ceph-syn \
+ ceph-crush-location \
+ cephfs-data-scan \
+ cephfs-journal-tool \
+ cephfs-table-tool \
+ rados \
+ rbd \
+ rbd-replay \
+ rbd-replay-many \
+ rbdmap \
+ ceph-post-file \
+ ceph-brag
+ _pkg $_datadir/ceph known_hosts_drop.ceph.com id_rsa_drop.ceph.com \
+ id_rsa_drop.ceph.com.pub
+ _pkg $_sysconfdir/ceph rbdmap
+ _pkg $_python_sitelib ceph_argparse.py* ceph_daemon.py*
+ _pkg $_udevrulesdir 50-rbd.rules
+ install -m 3770 -o $_ceph_uid -g $_ceph_gid -d \
+ $subpkgdir$_localstatedir/log/ceph || return 1
+ install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
+ $subpkgdir$_localstatedir/lib/ceph
+}
+
+mds() {
+ pkgdesc="Metadata server daemon for the Ceph distributed file system."
+ depends="ceph-base"
+
+ _pkg $_bindir ceph-mds
+ install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
+ $subpkgdir$_localstatedir/lib/ceph/mds
+}
+
+mon() {
+ pkgdesc="Cluster monitor daemon for the Ceph distributed file system."
+ depends="ceph-base"
+
+ _pkg $_bindir ceph-mon ceph-rest-api
+ _pkg $_python_sitelib ceph_rest_api.py*
+ install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
+ $subpkgdir$_localstatedir/lib/ceph/mon
+}
+
+ceph_fuse() {
+ pkgdesc="FUSE based client for Ceph distributed network file system."
+
+ _pkg $_bindir ceph-fuse
+ _pkg $_sbindir mount.fuse.ceph
+}
+
+rbd_fuse() {
+ pkgdesc="FUSE based client to map Ceph rbd images to files."
+ depends="librados librbd"
+
+ _pkg $_bindir rbd-fuse
+}
+
+rbd_mirror() {
+ pkgdesc="Daemon for mirroring RBD images between Ceph clusters."
+ depends="ceph-common librados"
+
+ _pkg $_bindir rbd-mirror
+}
+
+rbd_nbd() {
+ pkgdesc="NBD based client to map Ceph rbd images to local device."
+ depends="librbd librados"
+
+ _pkg $_bindir rbd-nbd
+}
+
+radosgw() {
+ pkgdesc="Rados REST gateway which implements Amazon's S3 and OpenStack's Swift APIs."
+ depends="ceph-common"
+
+ _pkg $_bindir radosgw radosgw-admin radosgw-token radosgw-es radosgw-object-expirer
+ mkdir -p $subpkgdir$_localstatedir/lib/ceph/radosgw
+}
+
+osd() {
+ pkgdesc="Object storage daemon for the Ceph distributed file system."
+ depends="ceph-base parted gptfdisk"
+
+ _pkg $_bindir ceph-clsinfo ceph-bluefs-tool ceph-objectstore-tool ceph-osd
+ _pkg $_sbindir ceph-disk
+ _pkg $_libexecdir/ceph ceph-osd-prestart.sh
+ _pkg $_udevrulesdir 60-ceph-by-parttypeuuid.rules 95-ceph-osd.rules
+ install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
+ $subpkgdir$_localstatedir/lib/ceph/osd
+}
+
+librados() {
+ pkgdesc="RADOS distributed object store client library"
+
+ _pkg $_libdir librados.so.*
+}
+
+librados_dev() {
+ pkgdesc="RADOS distributed object store client library headers"
+ depends="librados"
+
+ _pkg $_includedir/rados librados.h \
+ librados.hpp \
+ buffer.h \
+ buffer_fwd.h \
+ inline_memory.h \
+ page.h \
+ crc32c.h \
+ rados_types.h \
+ rados_types.hpp \
+ memory.h
+ _pkg $_libdir librados.so
+ _pkg $_bindir librados-config
+}
+
+librgw() {
+ pkgdesc="RADOS gateway client library"
+ depends="librados"
+
+ _pkg $_libdir librgw.so.*
+}
+
+librgw_dev() {
+ pkgdesc="RADOS gateway client library headers"
+ depends="librados"
+
+ _pkg $_includedir/rados librgw.h rgw_file.h
+ _pkg $_libdir librgw.so
+}
+
+py_rgw() {
+ pkgdesc="Python 2 libraries for the RADOS gateway"
+ depends="librgw py-rados"
+
+ _pkg $_python_sitelib rgw.so rgw-*.egg-info
+}
+
+py_rados() {
+ pkgdesc="Python libraries for the RADOS object store"
+ depends="librados"
+
+ _pkg $_python_sitelib rados.so rados-*.egg-info
+}
+
+libradosstriper() {
+ pkgdesc="RADOS striping library"
+ depends="librados"
+
+ _pkg $_libdir libradosstriper.so.*
+}
+
+libradosstriper_dev() {
+ pkgdesc="RADOS striping library headers"
+ depends="libradosstriper librados-dev"
+
+ _pkg $_includedir/radosstriper libradosstriper.h libradosstriper.hpp
+ _pkg $_libdir libradosstriper.so
+}
+
+librbd() {
+ pkgdesc="RADOS block device client library"
+ depends="librados"
+
+ _pkg $_libdir librbd.so.*
+}
+
+librbd_dev() {
+ pkgdesc="RADOS block device client library headers"
+ depends="librbd librados-dev"
+
+ _pkg $_includedir/rbd features.h librbd.h librbd.hpp
+ _pkg $_libdir librbd.so
+}
+
+py_rbd() {
+ pkgdesc="Python libraries for the RADOS block device"
+ depends="librbd py-rados"
+
+ _pkg $_python_sitelib rbd.so rbd-*.egg-info
+}
+
+libcephfs() {
+ pkgdesc="Ceph distributed file system client library"
+
+ _pkg $_libdir libcephfs.so.*
+}
+
+libcephfs_dev() {
+ pkgdesc="Ceph distributed file system client library headers"
+ depends="libcephfs librados-devel"
+
+ _pkg $_includedir/cephfs ceph_statx.h libcephfs.h
+ _pkg $_libdir libcephfs.so
+}
+
+py_cephfs() {
+ pkgdesc="Python libraries for Ceph distributed file system"
+ depends="libcephfs py-rados"
+
+ _pkg $_python_sitelib cephfs.so cephfs-*.egg-info ceph_volume_client.py*
+}
+
+ceph_test() {
+ pkgdesc="Ceph benchmarks and test tools"
+ depends="ceph-common xmlstarlet"
+
+ _pkg $_bindir ceph-client-debug \
+ ceph_bench_log \
+ ceph_kvstorebench \
+ ceph_multi_stress_watch \
+ ceph_erasure_code \
+ ceph_erasure_code_benchmark \
+ ceph_omapbench \
+ ceph_objectstore_bench \
+ ceph_perf_objectstore \
+ ceph_perf_local \
+ ceph_perf_msgr_client \
+ ceph_perf_msgr_server \
+ ceph_psim \
+ ceph_radosacl \
+ ceph_rgw_jsonparser \
+ ceph_rgw_multiparser \
+ ceph_scratchtool \
+ ceph_scratchtoolpp \
+ ceph_smalliobench \
+ ceph_smalliobenchdumb \
+ ceph_smalliobenchfs \
+ ceph_smalliobenchrbd \
+ ceph_test_* \
+ ceph_tpbench \
+ ceph_xattr_bench \
+ ceph-coverage \
+ ceph-monstore-tool \
+ ceph-osdomap-tool \
+ ceph-kvstore-tool \
+ ceph-debugpack
+
+ _pkg $_libdir ceph/ceph-monstore-update-crush.sh
+}
+
+bash_completion() {
+ depends="bash-completion"
+ pkgdesc="Bash completions for Ceph"
+ _pkg $_sysconfdir/bash_completion.d ceph rados radosgw-admin rbd
+}
+
+mgr() {
+ pkgdesc="Ceph Manager Daemon"
+ depends="ceph-base"
+
+ _pkg $_bindir ceph-mgr
+ _pkg $_libdir/ceph mgr
+
+ install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
+ $subpkgdir$_localstatedir/lib/ceph/mgr
+}
+
+_pkg() {
+ local path=$1
+ shift
+ local files=$@
+ mkdir -p $subpkgdir$path || exit 1
+ for _file in $files; do
+ mv $pkgdir$path/$_file $subpkgdir$path || exit 1
+ done
+}