diff options
author | iggy <iggy@theiggy.com> | 2019-04-13 11:40:55 -0700 |
---|---|---|
committer | Kevin Daudt <kdaudt@alpinelinux.org> | 2019-04-15 10:55:28 +0000 |
commit | 3e96f1d31a74722b96209a608faf5ef9e0209b6f (patch) | |
tree | fe056656d70f604d6f51187f1fccfdc0201a3826 /community/ceph/APKBUILD | |
parent | 4c5ee31595c3d2906f7681dfc582cd89e688a54e (diff) | |
download | aports-3e96f1d31a74722b96209a608faf5ef9e0209b6f.tar.bz2 aports-3e96f1d31a74722b96209a608faf5ef9e0209b6f.tar.xz |
community/ceph: move from testing
Add radosgw subpackage back again.
Diffstat (limited to 'community/ceph/APKBUILD')
-rw-r--r-- | community/ceph/APKBUILD | 448 |
1 files changed, 448 insertions, 0 deletions
diff --git a/community/ceph/APKBUILD b/community/ceph/APKBUILD new file mode 100644 index 0000000000..ec1801f07a --- /dev/null +++ b/community/ceph/APKBUILD @@ -0,0 +1,448 @@ +# Contributor: John Coyle <dx9err@gmail.com> +# Maintainer: John Coyle <dx9err@gmail.com> +pkgname=ceph +pkgver=14.2.0 +pkgrel=3 +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-mon" +options="!checkroot" +_base_deps=" + cryptsetup + e2fsprogs + logrotate + parted + py2-requests py2-setuptools + util-linux + xfsprogs + " +_osd_deps="lvm2 sudo lz4-libs" +_ceph_test_deps="xmlstarlet" +makedepends=" + acl-dev + argp-standalone + bc + boost-dev + btrfs-progs + bzip2-dev + cmake + coreutils + cunit-dev + curl-dev + cython + diffutils + eudev-dev + expat-dev + fcgi-dev + flex + fuse + fuse-dev + git + grep + gperf + jq + keyutils-dev + leveldb-dev + libaio-dev + libatomic_ops-dev + libedit-dev + openssl-dev + libtirpc-dev + libtool + libxml2-dev + linux-headers + lvm2-dev + lz4-dev + nodejs + nss-dev + oath-toolkit-dev + openldap-dev + procps + python2-dev + py2-pip + py2-nose + py-sphinx + py2-virtualenv + rabbitmq-c-dev + readline-dev + rpcgen + snappy-dev + userspace-rcu-dev + xfsprogs-dev + xmlstarlet + yasm + $_base_deps + $_osd_deps + $_ceph_test_deps +" + +source="http://download.ceph.com/tarballs/ceph_$pkgver.orig.tar.gz + allperms.patch + musl-fixes.patch + " +subpackages=" + $pkgname-doc + $pkgname-base + $pkgname-common + $pkgname-mds + $pkgname-mgr + $pkgname-mon + $pkgname-fuse:ceph_fuse + $pkgname-osd + $pkgname-radosgw + $pkgname-bash-completion:bash_completion + $pkgname-dev + rbd-fuse:rbd_fuse + rbd-mirror:rbd_mirror + rbd-nbd:rbd_nbd + librbd + libcephfs + librados + py2-rados:_py2_rados + libradosstriper + py2-rbd:_py2_rbd + py2-cephfs:_py2_cephfs +" + +_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 + +_py2_sitelib() { + python2 -c "import site; print(site.getsitepackages()[0])" +} + +build() { + export CEPH_BUILD_VIRTUALENV="$builddir" + + mkdir -p "$builddir"/build + cd "$builddir"/build + + cmake .. \ + -DALLOCATOR=libc \ + -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_SYSTEM_BOOST=ON \ + -DWITH_PYTHON2=ON \ + -DWITH_PYTHON3=OFF \ + -DMGR_PYTHON_VERSION=2 \ + -DWITH_LTTNG=OFF \ + -DWITH_RDMA=OFF \ + -DWITH_BABELTRACE=OFF \ + -DWITH_SYSTEMD=OFF \ + -DWITH_SPDK=OFF \ + -DWITH_BABELTRACE=OFF \ + -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \ + -DWITH_TESTS=OFF + make + +} + +package() { + cd "$builddir"/build + make DESTDIR="$pkgdir" install + cd .. + + rm -f "$pkgdir"$_sysconfdir/init.d/ceph + + install -m 0644 -D src/etc-rbdmap "$pkgdir"$_sysconfdir/ceph/rbdmap + install -m 0644 -D src/logrotate.conf "$pkgdir"$_sysconfdir/logrotate.d/ceph + install -m 0644 -D etc/sysctl/90-ceph-osd.conf "$pkgdir"/$_sysconfdir/sysctl.d/90-ceph-osd.conf + chmod 0644 "$pkgdir"$_docdir/ceph/sample.ceph.conf + + # udev rules + install -m 0644 -D udev/50-rbd.rules "$pkgdir"$_udevrulesdir/50-rbd.rules + + # sudoers.d + install -m 0600 -D sudoers.d/ceph-osd-smartctl "$pkgdir"/$_sysconfdir/sudoers.d/ceph-osd-smartctl +} + +check() { + cd "$builddir"/build + ctest +} + +base() { + pkgdesc="Base is the package that includes all the files shared amongst ceph servers" + depends="$_base_deps + ceph-common=$pkgver-r$pkgrel + librbd=$pkgver-r$pkgrel + librados=$pkgver-r$pkgrel + libcephfs=$pkgver-r$pkgrel + " + + _pkg $_bindir \ + ceph-crash \ + crushtool \ + monmaptool \ + osdmaptool \ + ceph-kvstore-tool \ + ceph-run + _pkg $_sbindir ceph-create-keys + _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 $_libdir/ceph/crypto 'libceph_*.so*' + _pkg $_sysconfdir/logrotate.d ceph + _pkg "$(_py2_sitelib)" ceph_volume 'ceph_volume-*' + for dir in crash crash/posted tmp bootstrap-osd bootstrap-mds \ + bootstrap-rgw bootstrap-mgr bootstrap-rbd \ + bootstrap-rbd-mirror; do + + install -m 750 -o $_ceph_uid -g $_ceph_gid -d \ + "$subpkgdir"$_localstatedir/lib/ceph/$dir + done +} + +common() { + pkgdesc="Common utilities to mount and interact with a ceph storage cluster." + depends="py2-rados py2-rbd py2-cephfs" + install="$pkgname-common.pre-install" + + _pkg $_bindir ceph \ + ceph-authtool \ + ceph-conf \ + ceph-dencoder \ + ceph-rbdnamer \ + ceph-syn \ + cephfs-data-scan \ + cephfs-journal-tool \ + cephfs-table-tool \ + rados \ + rbd \ + rbd-replay \ + rbd-replay-many \ + rbdmap \ + ceph-post-file + _pkg $_sbindir mount.ceph + _pkg $_datadir/ceph known_hosts_drop.ceph.com \ + id_rsa_drop.ceph.com \ + id_rsa_drop.ceph.com.pub + _pkg $_sysconfdir/ceph rbdmap + + _pkg "$(_py2_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 + 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-monstore-tool + 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." + depends= + _pkg $_bindir ceph-fuse + _pkg $_sbindir mount.fuse.ceph +} + +rbd_fuse() { + pkgdesc="FUSE based client to map Ceph rbd images to files." + depends= + _pkg $_bindir rbd-fuse +} + +rbd_mirror() { + pkgdesc="Daemon for mirroring RBD images between Ceph clusters." + depends="ceph-common=$pkgver-r$pkgrel" + _pkg $_bindir rbd-mirror +} + +rbd_nbd() { + pkgdesc="NBD based client to map Ceph rbd images to local device." + depends= + _pkg $_bindir rbd-nbd +} + +radosgw() { + pkgdesc="Rados REST gateway which implements Amazon's S3 and OpenStack's Swift APIs." + depends="ceph-common oath-toolkit-liboath" + _pkg $_bindir radosgw \ + radosgw-admin \ + radosgw-es \ + radosgw-object-expirer \ + radosgw-token + mkdir -p "$subpkgdir"$_localstatedir/lib/ceph/radosgw +} + +osd() { + pkgdesc="Object storage daemon for the Ceph distributed file system." + depends="$pkgname-base=$pkgver-r$pkgrel $_osd_deps" + + _pkg $_bindir ceph-clsinfo \ + ceph-bluestore-tool \ + ceph-objectstore-tool \ + ceph-osdomap-tool \ + ceph-osd + _pkg $_sbindir ceph-volume + _pkg $_libexecdir/ceph ceph-osd-prestart.sh + _pkg $_sysconfdir/sudoers.d ceph-osd-smartctl + _pkg $_sysconfdir/sysctl.d 90-ceph-osd.conf + install -m 750 -o $_ceph_uid -g $_ceph_gid -d \ + "$subpkgdir"$_localstatedir/lib/ceph/osd +} + +librados() { + pkgdesc="RADOS distributed object store client library" + depends= + _pkg $_libdir librados.so.* + _pkg $_libdir/ceph libceph-common.so.* +} + +_py2_rados() { + pkgdesc="Python libraries for the RADOS object store" + depends= + + _pkg "$(_py2_sitelib)" rados.so rados-*.egg-info +} + +libradosstriper() { + pkgdesc="RADOS striping library" + depends= + + _pkg $_libdir libradosstriper.so.* +} + +librbd() { + pkgdesc="RADOS block device client library" + depends= + _pkg $_libdir librbd.so.* +} + +_py2_rbd() { + pkgdesc="Python libraries for the RADOS block device" + depends="py2-rados" + + _pkg "$(_py2_sitelib)" rbd.so rbd-*.egg-info +} + +libcephfs() { + pkgdesc="Ceph distributed file system client library" + depends= + _pkg $_libdir libcephfs.so.* +} + +_py2_cephfs() { + pkgdesc="Python libraries for Ceph distributed file system" + depends="py2-rados" + + _pkg "$(_py2_sitelib)" cephfs.so cephfs-*.egg-info ceph_volume_client.py* +} + +ceph_test() { + pkgdesc="Ceph benchmarks and test tools" + depends="ceph-common=$pkgver-r$pkgrel $_ceph_test_deps" + + _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() { + pkgdesc="Bash completions for Ceph" + depends= + install_if="ceph=$pkgver-r$pkgrel bash-completion" + _pkg $_sysconfdir/bash_completion.d '*' +} + +mgr() { + pkgdesc="Ceph Manager Daemon" + depends="ceph-base=$pkgver-r$pkgrel" + + _pkg $_bindir ceph-mgr + _pkg $_datadir/ceph mgr + + install -m 750 -o $_ceph_uid -g $_ceph_gid -d \ + "$subpkgdir"$_localstatedir/lib/ceph/mgr +} + +_pkg() { + local path=$1 + shift + if ! [ -d "$pkgdir"/$path ]; then + error "$pkgdir/$path is not a directory" + return 1 + fi + mkdir -p "$subpkgdir"$path + for _file in "$@"; do + mv "$pkgdir"$path/$_file "$subpkgdir"$path + done +} + +sha512sums="c86a335714fd5678988133ec0e60cb10cd948250a133c073d1ed055c5bba232fa6f1e102dd7fcb0c70b37a07c9c2d1220d4a1713720e4dcab9659152ee577480 ceph_14.2.0.orig.tar.gz +e1becd813ed3f28e2e4a6bef78b3b5117c1c0bb9cabe0ba9c912e0a20b551b6b2667495cddb94acd64192e287144911ff1c11e0d636fe04cc458146cfb0daca8 allperms.patch +35722b11ad52a3145153635b6a96abda2a23ae9c7e63e2eac006c1e5b8014452c4a1a11bbe0292fd731e4c43aa38e27dd75d2ff9d25bcf52290278f71e868570 musl-fixes.patch" |