diff --git a/extra/ceph/PKGBUILD b/extra/ceph/PKGBUILD new file mode 100644 index 000000000..4bd902098 --- /dev/null +++ b/extra/ceph/PKGBUILD @@ -0,0 +1,87 @@ +# $Id$ +# Maintainer: Sébastien "Seblu" Luttringer + +# ALARM: Kevin Mihelich +# - patch to remove neon detection in configure + +pkgname=ceph +pkgver=0.94.3 +pkgrel=2 +pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system' +arch=('x86_64' 'i686') +url='http://ceph.com/' +license=('GPL') +makedepends=('boost' 'systemd' 'xfsprogs') +depends=('boost-libs' + 'curl' + 'expat' + 'fcgi' + 'fuse' + 'gcc-libs' + 'glibc' + 'gperftools' + 'keyutils' + 'leveldb' + 'libaio' + 'libatomic_ops' + 'libedit' + 'libsystemd' + 'libutil-linux' + 'ncurses' + 'nss' + 'python2' + 'snappy') +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' + 'no-neon.patch') +md5sums=('ccbaba6cad56cf71719661a0cdcc6ad6' + '9104b5b90349d2aa7802eb89158456e8' + '63a584aa2a4e2b0efbee4e8fd32593f0' + 'd2411c41208d95743baa6d899cc1e0b0' + '7bc1737bb952b08db8e9a0780aee21d8') + +prepare() { +# patch -p1 -d $pkgname-$pkgver < 01-boost-158.patch + patch -p1 -d $pkgname-$pkgver -i ../no-neon.patch +} + +build() { + cd $pkgname-$pkgver + export PYTHON=/usr/bin/python2 + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-radosgw + make +} + +package() { + make -C $pkgname-$pkgver 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 -d -m 755 usr/share/bash-completion + mv etc/bash_completion.d usr/share/bash-completion/completions + + # fix python2 shebang, did not do it in prepare() anymore because it + # confuse automake + find . -type f -exec \ + sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \; +} + +# vim:set ts=2 sw=2 et: diff --git a/extra/ceph/ceph-mds@.service b/extra/ceph/ceph-mds@.service new file mode 100644 index 000000000..636c0d8f5 --- /dev/null +++ b/extra/ceph/ceph-mds@.service @@ -0,0 +1,9 @@ +[Unit] +Description=Ceph MDS %i +After=network.target + +[Service] +ExecStart=/usr/bin/ceph-mds -f -i %i + +[Install] +WantedBy=multi-user.target diff --git a/extra/ceph/ceph-mon@.service b/extra/ceph/ceph-mon@.service new file mode 100644 index 000000000..397842552 --- /dev/null +++ b/extra/ceph/ceph-mon@.service @@ -0,0 +1,9 @@ +[Unit] +Description=Ceph MON %i +After=network.target + +[Service] +ExecStart=/usr/bin/ceph-mon -f -i %i + +[Install] +WantedBy=multi-user.target diff --git a/extra/ceph/ceph-osd@.service b/extra/ceph/ceph-osd@.service new file mode 100644 index 000000000..d0dc2ff76 --- /dev/null +++ b/extra/ceph/ceph-osd@.service @@ -0,0 +1,9 @@ +[Unit] +Description=Ceph OSD %i +After=network.target + +[Service] +ExecStart=/usr/bin/ceph-osd -f -i %i + +[Install] +WantedBy=multi-user.target diff --git a/extra/ceph/no-neon.patch b/extra/ceph/no-neon.patch new file mode 100644 index 000000000..5c4677644 --- /dev/null +++ b/extra/ceph/no-neon.patch @@ -0,0 +1,118 @@ +diff -urN a/configure b/configure +--- a/configure 2015-08-26 11:51:18.000000000 -0600 ++++ b/configure 2015-09-17 20:46:42.152578212 -0600 +@@ -20782,112 +20782,8 @@ + + fi + +-# Find supported SIMD / NEON / SSE extensions supported by the compiler +- +- +- +- case $target_cpu in +- arm*) +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -mfpu=neon" >&5 +-$as_echo_n "checking whether C compiler accepts -mfpu=neon... " >&6; } +-if ${ax_cv_check_cflags___mfpu_neon+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- +- ax_check_save_flags=$CFLAGS +- CFLAGS="$CFLAGS -mfpu=neon" +- cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : +- ax_cv_check_cflags___mfpu_neon=yes +-else +- ax_cv_check_cflags___mfpu_neon=no +-fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +- CFLAGS=$ax_check_save_flags +-fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___mfpu_neon" >&5 +-$as_echo "$ax_cv_check_cflags___mfpu_neon" >&6; } +-if test x"$ax_cv_check_cflags___mfpu_neon" = xyes; then : +- ax_cv_support_neon_ext=yes +-else +- : +-fi +- +- if test x"$ax_cv_support_neon_ext" = x"yes"; then +- ARM_NEON_FLAGS="-mfpu=neon -DARM_NEON" +- +- ARM_FLAGS="$ARM_FLAGS $ARM_NEON_FLAGS" +- +-$as_echo "#define HAVE_NEON /**/" >>confdefs.h +- +- fi +- ;; +- aarch64*) +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -march=armv8-a+simd" >&5 +-$as_echo_n "checking whether C compiler accepts -march=armv8-a+simd... " >&6; } +-if ${ax_cv_check_cflags___march_armv8_apsimd+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- +- ax_check_save_flags=$CFLAGS +- CFLAGS="$CFLAGS -march=armv8-a+simd" +- cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +- +-int +-main () +-{ +- +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : +- ax_cv_check_cflags___march_armv8_apsimd=yes +-else +- ax_cv_check_cflags___march_armv8_apsimd=no +-fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +- CFLAGS=$ax_check_save_flags +-fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___march_armv8_apsimd" >&5 +-$as_echo "$ax_cv_check_cflags___march_armv8_apsimd" >&6; } +-if test x"$ax_cv_check_cflags___march_armv8_apsimd" = xyes; then : +- ax_cv_support_neon_ext=yes +-else +- : +-fi +- +- if test x"$ax_cv_support_neon_ext" = x"yes"; then +- ARM_NEON_FLAGS="-march=armv8-a+simd -DARCH_AARCH64 -DARM_NEON" +- +- ARM_FLAGS="$ARM_FLAGS $ARM_NEON_FLAGS" +- +-$as_echo "#define HAVE_NEON /**/" >>confdefs.h +- +- fi +- ;; +- esac +- +- +- +- if test "x$ax_cv_support_neon_ext" = "xyes"; then +- HAVE_NEON_TRUE= +- HAVE_NEON_FALSE='#' +-else +- HAVE_NEON_TRUE='#' +- HAVE_NEON_FALSE= +-fi ++HAVE_NEON_TRUE='#' ++HAVE_NEON_FALSE= + + +