From 19ea44eae5f06d18dcf8b35d73912bdb939db439 Mon Sep 17 00:00:00 2001 From: Chaoting Liu Date: Fri, 2 Jun 2017 15:06:03 +0100 Subject: [PATCH] ceph: update to 12.0.3 - remove now-upstreamed systemd service units - upstream switch to cmake - new dependencies: python2-sphinx, python2-cython - add check() function --- ceph/PKGBUILD | 71 ++++++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/ceph/PKGBUILD b/ceph/PKGBUILD index 62f1041ca..0c5400ac8 100644 --- a/ceph/PKGBUILD +++ b/ceph/PKGBUILD @@ -1,20 +1,18 @@ # Contributor: Sébastien "Seblu" Luttringer pkgname=ceph -pkgver=0.94.5 -pkgrel=2 +pkgver=12.0.3 +pkgrel=1 pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system' arch=('x86_64') url='http://ceph.com/' license=('GPL') -makedepends=('boost' 'systemd' 'xfsprogs') +makedepends=('boost' 'xfsprogs' 'python2-sphinx') depends=('boost-libs' 'curl' 'expat' 'fcgi' 'fuse' - 'gcc-libs' - 'glibc' 'gperftools' 'keyutils' 'leveldb' @@ -26,51 +24,54 @@ depends=('boost-libs' 'ncurses' 'nss' 'python2' - 'snappy') + 'snappy' + 'python2-cython') optdepends=('xfsprogs: support xfs backend') options=('emptydirs') -source=("http://ceph.com/download/$pkgname-$pkgver.tar.bz2" - 'ceph-osd@.service' - 'ceph-mon@.service' - 'ceph-mds@.service') -md5sums=('e7c35581f8d36d34f7cde16a862e54fb' - '9104b5b90349d2aa7802eb89158456e8' - '63a584aa2a4e2b0efbee4e8fd32593f0' - 'd2411c41208d95743baa6d899cc1e0b0') +source=("https://download.ceph.com/tarballs/$pkgname-$pkgver.tar.gz") +sha256sums=('b0f2655c826bcba12c25828a8434f4e3d4cfdf41b5f59999da54132b96521de7') -#prepare() { -# patch -p1 -d $pkgname-$pkgver < 01-boost-158.patch -#} +prepare() { + [[ -d build ]] && rm -rfv build + mkdir build + # we install python2 version sphinx-build as sphinx-build2, which is not recognized by the script + sed 's,sphinx-build,sphinx-build2,g' -i $pkgname-$pkgver/CMakeLists.txt +} build() { - cd $pkgname-$pkgver - export PYTHON=/usr/bin/python2 - ./configure \ - --prefix=/usr \ - --sbindir=/usr/bin \ - --libexecdir=/usr/lib \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --with-radosgw + cd build + cmake -DCMAKE_BUILD_TYPE="Release" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_FULL_SBINDIR=/usr/bin \ + -DCMAKE_INSTALL_FULL_LIBDIR=/usr/lib \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib \ + -DCMAKE_INSTALL_SYSCONFDIR=/etc \ + -DWITH_SYSTEMD=ON \ + -DWITH_LTTNG=OFF \ + -DHAVE_BABELTRACE=OFF \ + ../$pkgname-$pkgver + # FIXME: LTTng and Babeltrace are modules we didn't import yet make } +check() { + cd build + make test +} + package() { - make -C $pkgname-$pkgver DESTDIR="$pkgdir" install + make -C build DESTDIR="$pkgdir" install cd "$pkgdir" - # systemd - install -dm755 usr/lib/{systemd/system,udev/rules.d} - install -Dm644 "$srcdir"/ceph-{osd,mon,mds}@.service usr/lib/systemd/system - install -Dm644 "$srcdir"/$pkgname-$pkgver/udev/* usr/lib/udev/rules.d - - # fix directories path - mv sbin/* usr/bin - rmdir sbin + # install bash-completions to /usr/share install -d -m 755 usr/share/bash-completion mv etc/bash_completion.d usr/share/bash-completion/completions + # remove upstart scripts + rm -rf etc/init.d + # fix python2 shebang, did not do it in prepare() anymore because it # confuse automake find . -type f -exec \