aboutsummaryrefslogtreecommitdiffstats
path: root/testing/ceph
diff options
context:
space:
mode:
Diffstat (limited to 'testing/ceph')
-rw-r--r--testing/ceph/APKBUILD380
-rw-r--r--testing/ceph/allperms.patch13
2 files changed, 180 insertions, 213 deletions
diff --git a/testing/ceph/APKBUILD b/testing/ceph/APKBUILD
index cc93e3b78f..0a4facc340 100644
--- a/testing/ceph/APKBUILD
+++ b/testing/ceph/APKBUILD
@@ -1,22 +1,19 @@
# Contributor: John Coyle <dx9err@gmail.com>
# Maintainer: John Coyle <dx9err@gmail.com>
-
-: ${WITH_TESTS:=OFF}
-
pkgname=ceph
-pkgver=11.0.1
-pkgrel=9
-pkgdesc="User space components of the Ceph file system"
+pkgver=11.1.1
+pkgrel=0
+pkgdesc="Ceph is a distributed object store and file system"
pkgusers="ceph"
pkggroups="ceph"
url="http://ceph.com"
-#arch="x86_64"
+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"
-
makedepends="
acl-dev
argp-standalone
+ bc
boost-dev
btrfs-progs
bzip2-dev
@@ -24,23 +21,23 @@ makedepends="
coreutils
cryptsetup
curl-dev
- cython
cython-dev
diffutils
eudev-dev
expat-dev
fcgi-dev
- findutils
flex
fuse
fuse-dev
git
+ grep
jq
keyutils-dev
leveldb-dev
libaio-dev
libatomic_ops-dev
libedit-dev
+ libressl-dev
libtirpc-dev
libtool
libxml2-dev
@@ -48,11 +45,10 @@ makedepends="
lvm2-dev
nss-dev
openldap-dev
- libressl-dev
parted
procps
python-dev
- py2-pip
+ py-pip
py-nose
py-sphinx
py-virtualenv
@@ -60,25 +56,26 @@ makedepends="
rpcgen
snappy-dev
userspace-rcu-dev
+ util-linux
xfsprogs-dev
xmlstarlet
yasm
"
-#source="$pkgname-$pkgver.tar.gz::https://github.com/ceph/ceph/archive/v$pkgver.tar.gz"
-source="https://github.com/dx9/ceph/releases/download/11.0.1/ceph-$pkgver-beta1.tar.bz2
- make-sure-PATH_MAX-is-defined.patch"
-
+source="http://download.ceph.com/tarballs/ceph_$pkgver.orig.tar.gz
+ allperms.patch"
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
+ $pkgname-test:ceph_test
rbd-fuse:rbd_fuse
rbd-mirror:rbd_mirror
rbd-nbd:rbd_nbd
@@ -91,15 +88,15 @@ subpackages="
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 [ "$WITH_TESTS" = ON ]; then
- subpackages="$subpackages $pkgname-test:ceph_test"
-fi
+_ceph_uid=167
+_ceph_gid=167
_prefix=/usr
_bindir=$_prefix/bin
@@ -116,39 +113,44 @@ _sysconfdir=/etc
_udevrulesdir=/etc/udev/rules.d
_python_sitelib=/usr/lib/python2.7/site-packages
+build() {
+ export CEPH_BUILD_VIRTUALENV="$builddir"
+
+ mkdir -p "$builddir"/build
+ cd "$builddir"/build
+
+ 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
+ make
-_builddir="$srcdir"/$pkgname-$pkgver
+}
-build() {
- cd "$_builddir"
- mkdir build
- cd build
- 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=OFF \
- -DWITH_PYTHON3=OFF \
- -DWITH_TESTS=$WITH_TESTS \
- || return 1
- make
+check() {
+ cd "$builddir"/build
+ ctest
}
package() {
- cd "$_builddir"
- cd build
+ cd "$builddir"/build
make DESTDIR="$pkgdir" install
cd ..
rm -f "$pkgdir"$_sysconfdir/init.d/ceph
- install -D src/etc-rbdmap "$pkgdir"$_sysconfdir/ceph/rbdmap
+ install -m 0644 -D src/etc-rbdmap "$pkgdir"$_sysconfdir/ceph/rbdmap
install -m 0644 -D src/logrotate.conf "$pkgdir"$_sysconfdir/logrotate.d/ceph
@@ -168,7 +170,6 @@ base() {
depends="
ceph-common
cryptsetup
- findutils
librbd
librados
libcephfs
@@ -180,43 +181,17 @@ base() {
xfsprogs
"
- mkdir -p "$subpkgdir"$_docdir/ceph
- mv "$pkgdir"$_docdir/ceph/sample.ceph.conf \
- "$subpkgdir"$_docdir/ceph/sample.ceph.conf
- mv "$pkgdir"$_docdir/ceph/sample.fetch_config \
- "$subpkgdir"$_docdir/ceph/sample.fetch_config
-
- mkdir -p "$subpkgdir"$_bindir
- for file in crushtool monmaptool osdmaptool ceph-run ceph-detect-init; do
- mv "$pkgdir"$_bindir/$file "$subpkgdir"$_bindir
- done
-
- mkdir -p "$subpkgdir"$_sbindir
- mv "$pkgdir"$_sbindir/ceph-create-keys "$subpkgdir"$_sbindir/ceph-create-keys
- mv "$pkgdir"$_sbindir/mount.ceph "$subpkgdir"$_sbindir/mount.ceph
-
- mkdir -p "$subpkgdir"$_libexecdir/ceph
- mv "$pkgdir"$_libexecdir/ceph/ceph_common.sh "$subpkgdir"$_libexecdir/ceph
-
- mkdir -p "$subpkgdir"$_libdir/rados-classes
- mv "$pkgdir"$_libdir/rados-classes/* "$subpkgdir"$_libdir/rados-classes
- mkdir -p "$subpkgdir"$_libdir/ceph/erasure-code
- mv "$pkgdir"$_libdir/ceph/erasure-code/libec_*.so* \
- "$subpkgdir"$_libdir/ceph/erasure-code
- mkdir -p "$subpkgdir"$_libdir/ceph/compressor
- mv "$pkgdir"$_libdir/ceph/compressor/libceph_*.so* \
- "$subpkgdir"$_libdir/ceph/compressor
-
- mkdir -p "$subpkgdir"$_sysconfdir/logrotate.d
- mv "$pkgdir"$_sysconfdir/logrotate.d/ceph \
- "$subpkgdir"$_sysconfdir/logrotate.d/ceph
-
- mkdir -p "$subpkgdir"$_python_sitelib
- mv "$pkgdir"$_python_sitelib/ceph_detect_init* "$subpkgdir"$_python_sitelib
- mv "$pkgdir"$_python_sitelib/ceph_disk* "$subpkgdir"$_python_sitelib
-
+ _pkg $_docdir/ceph sample.ceph.conf sample.fetch_config
+ _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 -g ceph -d \
+ install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
"$subpkgdir"$_localstatedir/lib/ceph/$dir
done
}
@@ -226,9 +201,7 @@ common() {
depends="py-rados py-rbd py-cephfs"
install="$pkgname-common.pre-install"
- mkdir -p "$subpkgdir"$_bindir
- for file in \
- ceph \
+ _pkg $_bindir ceph \
ceph-authtool \
ceph-conf \
ceph-dencoder \
@@ -244,236 +217,201 @@ common() {
rbd-replay-many \
rbdmap \
ceph-post-file \
- ceph-brag \
- ; do \
- mv "$pkgdir"$_bindir/$file "$subpkgdir"$_bindir
- done
-
- mkdir -p "$subpkgdir"$_datadir/ceph
- mv "$pkgdir"$_datadir/ceph/known_hosts_drop.ceph.com "$subpkgdir"$_datadir/ceph
- mv "$pkgdir"$_datadir/ceph/id_rsa_drop.ceph.com "$subpkgdir"$_datadir/ceph
- mv "$pkgdir"$_datadir/ceph/id_rsa_drop.ceph.com.pub "$subpkgdir"$_datadir/ceph
-
- mkdir -p "$subpkgdir"$_sysconfdir/ceph
- mv "$pkgdir"$_sysconfdir/ceph/rbdmap "$subpkgdir"$_sysconfdir/ceph
-
- mkdir -p "$subpkgdir"$_python_sitelib
- mv "$pkgdir"$_python_sitelib/ceph_argparse.py* "$subpkgdir"$_python_sitelib
- mv "$pkgdir"$_python_sitelib/ceph_daemon.py* "$subpkgdir"$_python_sitelib
-
- mkdir -p "$subpkgdir"$_udevrulesdir
- mv "$pkgdir"$_udevrulesdir/50-rbd.rules "$subpkgdir"$_udevrulesdir
-
- install -m 3770 -o ceph -g ceph -d "$subpkgdir"$_localstatedir/log/ceph
- install -m 750 -o ceph -g ceph -d "$subpkgdir"$_localstatedir/lib/ceph
+ 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
+ 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"
- mkdir -p "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/ceph-mds "$subpkgdir"$_bindir
-
- install -m 750 -o ceph -g ceph -d "$subpkgdir"$_localstatedir/lib/ceph/mds
+ _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"
- mkdir -p "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/ceph-mon "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/ceph-rest-api "$subpkgdir"$_bindir
-
- mkdir -p "$subpkgdir"$_python_sitelib
- mv "$pkgdir"$_python_sitelib/ceph_rest_api.py* "$subpkgdir"$_python_sitelib
-
- install -m 750 -o ceph -g ceph -d "$subpkgdir"$_localstatedir/lib/ceph/mon
+ _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."
- mkdir -p "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/ceph-fuse "$subpkgdir"$_bindirn
- mkdir -p "$subpkgdir"$_sbindir
- mv "$pkgdir"$_sbindir/mount.fuse.ceph "$subpkgdir"$_sbindir
+ _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"
- mkdir -p "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/rbd-fuse "$subpkgdir"$_bindir
+
+ _pkg $_bindir rbd-fuse
}
rbd_mirror() {
pkgdesc="Daemon for mirroring RBD images between Ceph clusters."
depends="ceph-common librados"
- mkdir -p "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/rbd-mirror "$subpkgdir"$_bindir
+
+ _pkg $_bindir rbd-mirror
}
rbd_nbd() {
pkgdesc="NBD based client to map Ceph rbd images to local device."
depends="librbd librados"
- mkdir -p "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/rbd-nbd "$subpkgdir"$_bindir
+
+ _pkg $_bindir rbd-nbd
}
radosgw() {
pkgdesc="Rados REST gateway which implements Amazon's S3 and OpenStack's Swift APIs."
depends="ceph-common"
- mkdir -p "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/radosgw "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/radosgw-admin "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/radosgw-token "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/radosgw-object-expirer "$subpkgdir"$_bindir
+
+ _pkg $_bindir radosgw radosgw-admin radosgw-token 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 hdparm"
-
- mkdir -p "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/ceph-clsinfo "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/ceph-bluefs-tool "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/ceph-objectstore-tool "$subpkgdir"$_bindir
- mv "$pkgdir"$_bindir/ceph-osd "$subpkgdir"$_bindir
-
- mkdir -p "$subpkgdir"$_sbindir
- mv "$pkgdir"$_sbindir/ceph-disk "$subpkgdir"$_sbindir
- mv "$pkgdir"$_sbindir/ceph-disk-udev "$subpkgdir"$_sbindir
-
- mkdir -p "$subpkgdir"$_libexecdir/ceph
- mv "$pkgdir"$_libexecdir/ceph/ceph-osd-prestart.sh "$subpkgdir"$_libexecdir/ceph
-
- mkdir -p "$subpkgdir"$_udevrulesdir
- mv "$pkgdir"$_udevrulesdir/60-ceph-by-parttypeuuid.rules "$subpkgdir"$_udevrulesdir
- mv "$pkgdir"$_udevrulesdir/95-ceph-osd.rules "$subpkgdir"$_udevrulesdir
-
- install -m 750 -o ceph -g ceph -d "$subpkgdir"$_localstatedir/lib/ceph/osd
+ depends="ceph-base parted gptfdisk"
+
+ _pkg $_bindir ceph-clsinfo ceph-bluefs-tool ceph-objectstore-tool ceph-osd
+ _pkg $_sbindir ceph-disk ceph-disk-udev
+ _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"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/librados.so.* "$subpkgdir"/usr/lib
+
+ _pkg $_libdir librados.so.*
}
librados_dev() {
pkgdesc="RADOS distributed object store client library headers"
depends="librados"
- mkdir -p "$subpkgdir"$_includedir/rados
- mv "$pkgdir"$_includedir/rados/librados.h "$subpkgdir"$_includedir
- mv "$pkgdir"$_includedir/rados/librados.hpp "$subpkgdir"$_includedir
- mv "$pkgdir"$_includedir/rados/buffer.h "$subpkgdir"$_includedir
- mv "$pkgdir"$_includedir/rados/buffer_fwd.h "$subpkgdir"$_includedir
- mv "$pkgdir"$_includedir/rados/page.h "$subpkgdir"$_includedir
- mv "$pkgdir"$_includedir/rados/crc32c.h "$subpkgdir"$_includedir
- mv "$pkgdir"$_includedir/rados/rados_types.h "$subpkgdir"$_includedir
- mv "$pkgdir"$_includedir/rados/rados_types.hpp "$subpkgdir"$_includedir
- mv "$pkgdir"$_includedir/rados/memory.h "$subpkgdir"$_includedir
- mv "$pkgdir"$_libdir/librados.so "$subpkgdir"$_libdir
- mv "$pkgdir"$_bindir/librados-config "$subpkgdir"$_bindir
+
+ _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"
- mkdir -p "$subpkgdir"$_libdir
- mv "$pkgdir"$_libdir/librgw.so.* "$subpkgdir"$_libdir
+
+ _pkg $_libdir librgw.so.*
}
librgw_dev() {
pkgdesc="RADOS gateway client library headers"
depends="librados"
- mkdir -p "$subpkgdir"$_includedir/rados
- mv "$pkgdir"$_includedir/rados/librgw.h "$subpkgdir"$_includedir/rados
- mv "$pkgdir"$_includedir/rados/rgw_file.h "$subpkgdir"$_includedir/rados
- mv "$pkgdir"$_libdir/librgw.so "$subpkgdir"$_libdir
+ _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"
- mkdir -p "$subpkgdir"$_python_sitelib
- mv "$pkgdir"$_python_sitelib/rados.so "$subpkgdir"$_python_sitelib
- mv "$pkgdir"$_python_sitelib/rados-*.egg-info "$subpkgdir"$_python_sitelib
+
+ _pkg $_python_sitelib rados.so rados-*.egg-info
}
libradosstriper() {
pkgdesc="RADOS striping library"
depends="librados"
- mkdir -p "$subpkgdir"$_libdir
- mv "$pkgdir"$_libdir/libradosstriper.so.* "$subpkgdir"$_libdir
+
+ _pkg $_libdir libradosstriper.so.*
}
libradosstriper_dev() {
pkgdesc="RADOS striping library headers"
depends="libradosstriper librados-dev"
- mkdir -p "$subpkgdir"$_includedir/radosstriper
- mv "$pkgdir"$_includedir/radosstriper "$subpkgdir"$_includedir/radosstriper
- mv "$pkgdir"$_libdir/libradosstriper.so "$subpkgdir"$_libdir
+
+ _pkg $_includedir/radosstriper libradosstriper.h libradosstriper.hpp
+ _pkg $_libdir libradosstriper.so
}
librbd() {
pkgdesc="RADOS block device client library"
depends="librados"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/librbd.so.* "$subpkgdir"/usr/lib
- # TODO: look into this
- #mkdir -p /usr/lib64/qemu/
- #ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
+ _pkg $_libdir librbd.so.*
}
librbd_dev() {
pkgdesc="RADOS block device client library headers"
depends="librbd librados-dev"
- mkdir -p "$subpkgdir"/usr/include/rbd
- mv "$pkgdir"/usr/include/rbd "$subpkgdir"/usr/include
- mv "$pkgdir"/usr/lib/librbd.so "$subpkgdir"/usr/lib
+
+ _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"
- mkdir -p "$subpkgdir"$_python_sitelib
- mv "$pkgdir"$_python_sitelib/rbd.so "$subpkgdir"$_python_sitelib
- mv "$pkgdir"$_python_sitelib/rbd-*.egg-info "$subpkgdir"$_python_sitelib
+
+ _pkg $_python_sitelib rbd.so rbd-*.egg-info
}
libcephfs() {
pkgdesc="Ceph distributed file system client library"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/libcephfs.so.* "$subpkgdir"/usr/lib
+
+ _pkg $_libdir libcephfs.so.*
}
libcephfs_dev() {
pkgdesc="Ceph distributed file system client library headers"
depends="libcephfs librados-devel"
- mkdir -p "$subpkgdir"/usr/include/cephfs
- mv "$pkgdir"/usr/include/cephfs "$subpkgdir"/usr/include
- mv "$pkgdir"/usr/lib/libcephfs.so "$subpkgdir"/usr/lib
+
+ _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"
- mkdir -p "$subpkgdir"$_python_sitelib
- mv "$pkgdir"$_python_sitelib/cephfs.so "$subpkgdir"$_python_sitelib
- mv "$pkgdir"$_python_sitelib/cephfs-*.egg-info "$subpkgdir"$_python_sitelib
- mv "$pkgdir"$_python_sitelib/ceph_volume_client.py* "$subpkgdir"$_python_sitelib
+
+ _pkg $_python_sitelib cephfs.so cephfs-*.egg-info ceph_volume_client.py*
}
ceph_test() {
- depends="ceph-common"
- mkdir -p "$subpkgdir"$_bindir
- for file in \
+ pkgdesc="Ceph benchmarks and test tools"
+ depends="ceph-common xmlstarlet"
+
+ _pkg $_bindir ceph-client-debug \
ceph_bench_log \
ceph_kvstorebench \
ceph_multi_stress_watch \
@@ -502,21 +440,37 @@ ceph_test() {
ceph-monstore-tool \
ceph-osdomap-tool \
ceph-kvstore-tool \
- ceph-debugpack \
- ceph-client-debug \
- ; do \
- mv "$pkgdir"$_bindir/$file "$subpkgdir"$_bindir
- done
+ ceph-debugpack
- mkdir -p "$subpkgdir"$_libdir
- mv "$pkgdir"$_libdir/ceph/ceph-monstore-update-crush.sh "$subpkgdir"$_libdir
+ _pkg $_libdir ceph/ceph-monstore-update-crush.sh
}
bash_completion() {
depends="bash-completion"
pkgdesc="Bash completions for Ceph"
- mkdir -p "$subpkgdir"$_sysconfdir/bash_completion.d
- mv "$pkgdir"$_sysconfdir/bash_completion.d/* "$subpkgdir"$_sysconfdir/bash_completion.d
+ _pkg $_sysconfdir/bash_completion.d ceph rados radosgw-admin rbd
}
-sha512sums="d8bc28a25b9444134527f22856a6f0ea97b21a6100b0576a092d8988da0f191aca1e59bd14129361aee53f3032295169117ff02207e2ff361bb526461b9c5462 ceph-11.0.1-beta1.tar.bz2
-a1843f78a2fa68d1a77e3b3c90581d5a96fb378267216584b2668fb4143ddaa4cd5c9d66ff2135aff44d488bca7a0cad23a8b3d782bd01342e515e3ec7c6403d make-sure-PATH_MAX-is-defined.patch"
+
+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
+ for _file in $files; do
+ mv "$pkgdir"$path/$_file "$subpkgdir"$path
+ done
+}
+
+sha512sums="9c1c6d211bfc1e5f59e3f0115c09c7f2d8a279eda6ac9ad4b5d3533fe7c6a43d983b20a60a2597fa1340bc94521fb44125c276f18ae9870bc08ff0b02d842a1d ceph_11.1.1.orig.tar.gz
+e1becd813ed3f28e2e4a6bef78b3b5117c1c0bb9cabe0ba9c912e0a20b551b6b2667495cddb94acd64192e287144911ff1c11e0d636fe04cc458146cfb0daca8 allperms.patch"
diff --git a/testing/ceph/allperms.patch b/testing/ceph/allperms.patch
new file mode 100644
index 0000000000..a5ce1c031d
--- /dev/null
+++ b/testing/ceph/allperms.patch
@@ -0,0 +1,13 @@
+--- ceph-11.1.1/src/test/libcephfs/test.cc.orig 2017-01-16 00:17:44.154815630 +0000
++++ ceph-11.1.1/src/test/libcephfs/test.cc 2017-01-16 00:18:09.642520993 +0000
+@@ -31,6 +31,10 @@
+ #include <map>
+ #include <vector>
+
++#ifndef ALLPERMS
++#define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
++#endif
++
+ TEST(LibCephFS, OpenEmptyComponent) {
+
+ pid_t mypid = getpid();