From 9789687018176dc8becd3cc319b6033f59dfd349 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Sat, 9 Dec 2017 18:15:01 +0000 Subject: [PATCH] extra -> community/ceph to 12.2.2-1 --- community/ceph/0001-no-neon.patch | 28 ++ community/ceph/PKGBUILD | 189 ++++++++++++ community/ceph/ceph.sysusers | 1 + .../fix-ceph_disk-python-interpreter.patch | 8 + .../ceph/fix-or-disable-broken-tests.patch | 282 ++++++++++++++++++ community/ceph/fix-python2-paths.patch | 52 ++++ community/ceph/fix-sphinx-binary-name.patch | 11 + .../remove-distro-version-detection.patch | 21 ++ extra/ceph/01-ceph-detec-init.patch | 69 ----- extra/ceph/PKGBUILD | 106 ------- extra/ceph/ceph.sysusers | 1 - extra/ceph/no-neon.diff | 55 ---- 12 files changed, 592 insertions(+), 231 deletions(-) create mode 100644 community/ceph/0001-no-neon.patch create mode 100644 community/ceph/PKGBUILD create mode 100644 community/ceph/ceph.sysusers create mode 100644 community/ceph/fix-ceph_disk-python-interpreter.patch create mode 100644 community/ceph/fix-or-disable-broken-tests.patch create mode 100644 community/ceph/fix-python2-paths.patch create mode 100644 community/ceph/fix-sphinx-binary-name.patch create mode 100644 community/ceph/remove-distro-version-detection.patch delete mode 100644 extra/ceph/01-ceph-detec-init.patch delete mode 100644 extra/ceph/PKGBUILD delete mode 100644 extra/ceph/ceph.sysusers delete mode 100644 extra/ceph/no-neon.diff diff --git a/community/ceph/0001-no-neon.patch b/community/ceph/0001-no-neon.patch new file mode 100644 index 000000000..527864fcc --- /dev/null +++ b/community/ceph/0001-no-neon.patch @@ -0,0 +1,28 @@ +From 649bae1e1e80fd2a7a4a0e7ad45b981749d5a2cc Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich +Date: Sat, 9 Dec 2017 10:20:06 -0700 +Subject: [PATCH] no neon + +--- + cmake/modules/SIMDExt.cmake | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/cmake/modules/SIMDExt.cmake b/cmake/modules/SIMDExt.cmake +index 5330835aa1..0708867de5 100644 +--- a/cmake/modules/SIMDExt.cmake ++++ b/cmake/modules/SIMDExt.cmake +@@ -68,10 +68,7 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64") + + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM") + set(HAVE_ARM 1) +- CHECK_C_COMPILER_FLAG(-mfpu=neon HAVE_ARM_NEON) +- if(HAVE_ARM_NEON) +- set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mfpu=neon") +- endif() ++ set(HAVE_ARM_NEON 0) + + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|amd64|x86_64|AMD64") + set(HAVE_INTEL 1) +-- +2.14.1 + diff --git a/community/ceph/PKGBUILD b/community/ceph/PKGBUILD new file mode 100644 index 000000000..68ccca8b8 --- /dev/null +++ b/community/ceph/PKGBUILD @@ -0,0 +1,189 @@ +# Maintainer: Sébastien "Seblu" Luttringer +# Contributor: Thore Bödecker + +# ALARM: Kevin Mihelich +# - patch to remove neon detection in cmake +# - make -j3, RAM constraints + +highmem=1 + +pkgbase='ceph' +pkgname=('ceph' 'ceph-libs') +pkgver=12.2.2 +pkgrel=1 +pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system' +arch=('x86_64') +url='https://ceph.com/' +license=('GPL') +makedepends=('bc' 'boost' 'boost-libs' 'cmake' 'cpio' 'crypto++' 'curl' 'cython' + 'cython2' 'expat' 'fcgi' 'fuse2' 'gcc-libs' 'git' 'glibc' 'gperf' 'gperftools' + 'gptfdisk' 'inetutils' 'jq' 'junit' 'keyutils' 'leveldb' 'libaio' + 'libatomic_ops' 'libedit' 'libsystemd' 'libutil-linux' 'libxml2' 'lsb-release' + 'lz4' 'ncurses' 'nss' 'parted' 'pcre' 'procps-ng' 'python2-cherrypy' + 'python2-jinja' 'python2-nose' 'python2-pecan' 'python2-pip' + 'python2-prettytable' 'python2-pyopenssl' 'python2-setuptools' + 'python2-sphinx' 'python2-tox' 'python2-virtualenv' 'python2-werkzeug' 'sed' + 'snappy' 'socat' 'systemd' 'valgrind' 'xfsprogs' 'xmlstarlet' 'yasm' + 'zlib' 'zstd') +options=('emptydirs') +source=("https://download.ceph.com/tarballs/${pkgbase}-${pkgver}.tar.gz" + 'ceph.sysusers' + '0001-no-neon.patch' + 'fix-ceph_disk-python-interpreter.patch' + 'fix-or-disable-broken-tests.patch' + 'fix-python2-paths.patch' + 'remove-distro-version-detection.patch') +sha512sums=('89b166dc4b58e0110ebe0147eef9f47e1090ccee01702b3f72cfbdca856d02bf03b2663de9e88c84b21a2a61f8f92211e217a05b8bdcf7d5de3158adbe49db88' + '4354001c1abd9a0c385ba7bd529e3638fb6660b6a88d4e49706d4ac21c81b8e829303a20fb5445730bdac18c4865efb10bc809c1cd56d743c12aa9a52e160049' + '603a360657b8f095fc1de995df19794d9ea7094560480a16f7199bac0cd372313216ad93c6c67a42dd4083240829fd6561545b89891966c7cb27f2f6c15e8a61' + '7abd94a333fb0d6c9f7156d69ed6d4bf123f0f3030407f4347209d677b282e5023664d43e74a21a27b7856d3493ae469a17ea8a810331c7266018cc34eee4841' + '40446e298ab6b735b149d26ac26d273d6e159c319bb79f112614f1d4933a5a2684007fc9a1d660c5d4a17075d8bac59019c6cc7e66d64d4e240a1a61454800ef' + 'd5d9e8123833212f6cf0ecef209a5dd9b9a8ec70d780b5140884dc9f87690ec305fb2569c5d1da2b28deb05bd03caecc534acc9dc5ce7ec75e2580df4b5b2063' + 'e2ed33e2ac37bfdb9597083388e1a87f10051e976033055d440b1a4bc2bd11148c29128fb9841771ca983c12fb36b343bcc04219dea87199321ceea9aa18b3cc') + +prepare() { + cd "${srcdir}/${pkgbase}-${pkgver}" + # apply patch from the source array (should be a pacman feature) + local filename + for filename in "${source[@]}"; do + if [[ "$filename" =~ \.patch$ ]]; then + msg2 "Applying patch ${filename##*/}" + patch -p1 -N -i "$srcdir/${filename##*/}" + fi + done + + # remove tests that require root privileges + rm src/test/cli/ceph-authtool/cap*.t + + # remove broken tests + rm src/test/cli/crushtool/build.t + rm -rf qa/btrfs + rm src/btrfs_ioc_test.c + + # this test will try to perform btrfs operations when a btrfs mount + # is active on the build host, which will fail + if mount | grep 'type btrfs' &>/dev/null; then + sed -i '/run-tox-ceph-disk/d' src/test/CMakeLists.txt + fi +} + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + mkdir -p build + cd build + + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_SYSCONFDIR=/etc \ + -DCMAKE_INSTALL_SBINDIR=/usr/bin \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib \ + -DWITH_BABELTRACE=OFF \ + -DWITH_CEPHFS=ON \ + -DWITH_FUSE=ON \ + -DWITH_LTTNG=OFF \ + -DWITH_LZ4=ON \ + -DWITH_MGR=ON \ + -DWITH_NSS=ON \ + -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 \ + -DWITH_RADOSGW=ON \ + -DWITH_RADOSGW_BEAST_FRONTEND=ON \ + -DWITH_RDMA=OFF \ + -DWITH_SSL=ON \ + -DWITH_SYSTEM_BOOST=ON \ + -DWITH_SYSTEMD=ON \ + -DWITH_TESTS=ON \ + -DWITH_XFS=ON \ + -DENABLE_SHARED=ON \ + .. + + make -j3 all +} + +check() { + cd "${srcdir}/${pkgbase}-${pkgver}/build" + + export CTEST_PARALLEL_LEVEL="$(nproc)" + make check + + # sometimes processes are not properly terminated... + for process in ceph-mon ceph-mgr ceph-osd; do + pkill -9 "$process" || true + done +} + +package_ceph-libs() { + depends=('boost-libs' 'curl' 'glibc' 'keyutils' 'leveldb' 'libaio' + 'libutil-linux' 'nss' 'python2' 'xfsprogs') + + cd "${srcdir}/${pkgbase}-${pkgver}/build" + + # main install + make DESTDIR="$pkgdir" install + + # remove stuff that goes into the ceph package + rm -rf "${pkgdir}"/usr/lib/{ceph/mgr,systemd,sysusers.d,tmpfiles.d} + rm -rf "${pkgdir}/usr/share" + rm -rf "${pkgdir}/usr/sbin" + rm -rf "${pkgdir}/usr/bin" + rm -rf "${pkgdir}/etc" + rm -rf "${pkgdir}/var" +} + +package_ceph() { + depends=('ceph-libs' 'boost-libs' 'curl' 'fuse2' 'glibc' 'gperftools' + 'keyutils' 'leveldb' 'libaio' 'libsystemd' 'libutil-linux' + 'lsb-release' 'ncurses' 'nss' 'python2' 'python2-cherrypy' + 'python2-jinja' 'python2-pecan' 'python2-prettytable' 'python2-pyopenssl' + 'python2-setuptools' 'python2-werkzeug' 'snappy' 'xfsprogs') + + cd "${srcdir}/${pkgbase}-${pkgver}/build" + + # main install + make DESTDIR="$pkgdir" install + + # remove stuff that is in the ceph-libs package + find "${pkgdir}/usr/lib" -maxdepth 1 -type f -delete + find "${pkgdir}/usr/lib" -maxdepth 1 -type l -delete + find "${pkgdir}/usr/lib/ceph" -maxdepth 1 -type f -delete + find "${pkgdir}/usr/lib/ceph" -maxdepth 1 -type l -delete + rm -rf "${pkgdir}"/usr/lib/{ceph/{compressor,crypto,erasure-code},python2.7,rados-classes} + rm -rf "${pkgdir}/usr/include" + + # install tmpfiles.d and sysusers.d stuff + install -Dm644 "${srcdir}/${pkgbase}-${pkgver}/systemd/ceph.tmpfiles.d" \ + "${pkgdir}/usr/lib/tmpfiles.d/${pkgbase}.conf" + install -Dm644 "${srcdir}/ceph.sysusers" \ + "${pkgdir}/usr/lib/sysusers.d/${pkgbase}.conf" + + # remove debian init script + rm -rf "${pkgdir}/etc/init.d" + + # fix sbin dir (cmake opt seems to have no effect) + mv "${pkgdir}"/usr/sbin/* "${pkgdir}/usr/bin/" + rm -rf "${pkgdir}/usr/sbin" + + # remove drop.ceph.com ssh stuff + rm -f "${pkgdir}/usr/share/ceph/{{known_hosts,id_rsa}_drop.ceph.com,.pub}" + + # fix bash completions path + install -d -m 755 "${pkgdir}/usr/share/bash-completion" + mv "$pkgdir"/{etc/bash_completion.d,usr/share/bash-completion/completions} + + # fix EnvironmentFile location in systemd service files + sed -i 's|/etc/sysconfig/|/etc/conf.d/|g' "${pkgdir}"/usr/lib/systemd/system/*.service + + # prepare some paths and set correct permissions + install -D -d -m750 -o 0 -g 340 "${pkgdir}/etc/ceph" + install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/log/ceph" + install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph" + install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/bootstrap-mds" + install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/bootstrap-osd" + install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/bootstrap-rgw" + install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/mon" + install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/mgr" + install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/osd" +} + +# vim:set ts=2 sw=2 et: diff --git a/community/ceph/ceph.sysusers b/community/ceph/ceph.sysusers new file mode 100644 index 000000000..0cf6e7a6b --- /dev/null +++ b/community/ceph/ceph.sysusers @@ -0,0 +1 @@ +u ceph 340 - /run/ceph diff --git a/community/ceph/fix-ceph_disk-python-interpreter.patch b/community/ceph/fix-ceph_disk-python-interpreter.patch new file mode 100644 index 000000000..0d06ae432 --- /dev/null +++ b/community/ceph/fix-ceph_disk-python-interpreter.patch @@ -0,0 +1,8 @@ +--- a/src/ceph-disk/ceph_disk/main.py 2017-08-28 18:30:20.000000000 +0200 ++++ b/src/ceph-disk/ceph_disk/main.py 2017-09-21 13:50:39.373573382 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python2 + # + # Copyright (C) 2015, 2016, 2017 Red Hat + # Copyright (C) 2014 Inktank diff --git a/community/ceph/fix-or-disable-broken-tests.patch b/community/ceph/fix-or-disable-broken-tests.patch new file mode 100644 index 000000000..4ff808969 --- /dev/null +++ b/community/ceph/fix-or-disable-broken-tests.patch @@ -0,0 +1,282 @@ +--- a/src/test/common/test_util.cc 2017-09-18 23:14:01.782825030 +0200 ++++ b/src/test/common/test_util.cc 2017-09-19 10:27:45.926925114 +0200 +@@ -48,7 +48,7 @@ + + + ASSERT_TRUE(sys_info.find("distro") != sys_info.end()); +- ASSERT_TRUE(sys_info.find("distro_version") != sys_info.end()); ++ //ASSERT_TRUE(sys_info.find("distro_version") != sys_info.end()); + ASSERT_TRUE(sys_info.find("distro_description") != sys_info.end()); + + cct->put(); +--- a/src/script/subman 2017-08-28 18:30:20.000000000 +0200 ++++ b/src/script/subman 2017-09-19 13:09:03.417286215 +0200 +@@ -11,7 +11,7 @@ + for disk in disks: + for partition in disk.get('partition', []): + if partition.get('type') == 'data': +- df = subprocess.check_output("df --output=used " + partition['path'], shell=True) ++ df = subprocess.check_output("df --output=used " + partition['path'], shell=True).decode('utf-8') + used += int(re.findall('\d+', df)[0]) + + facts_file = os.environ.get("CEPH_FACTS_FILE", "/etc/rhsm/facts/ceph_usage.facts") +--- a/src/test/CMakeLists.txt 2017-08-28 18:30:20.000000000 +0200 ++++ b/src/test/CMakeLists.txt 2017-09-21 17:50:12.074504293 +0200 +@@ -572,7 +572,6 @@ + #add_ceph_test(test_pidfile.sh ${CMAKE_CURRENT_SOURCE_DIR}/test_pidfile.sh) + + add_ceph_test(test_subman.sh ${CMAKE_CURRENT_SOURCE_DIR}/test_subman.sh) +-add_ceph_test(smoke.sh ${CMAKE_CURRENT_SOURCE_DIR}/smoke.sh) + add_ceph_test(unittest_bufferlist.sh ${CMAKE_SOURCE_DIR}/src/unittest_bufferlist.sh) + + add_test(NAME run-tox-ceph-disk COMMAND bash ${CMAKE_SOURCE_DIR}/src/ceph-disk/run-tox.sh) +--- a/src/test/common/CMakeLists.txt 2017-08-28 18:30:20.000000000 +0200 ++++ b/src/test/common/CMakeLists.txt 2017-09-21 17:50:30.375079349 +0200 +@@ -42,13 +42,6 @@ + add_ceph_unittest(unittest_prioritized_queue ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest_prioritized_queue) + target_link_libraries(unittest_prioritized_queue global ${BLKID_LIBRARIES}) + +-# unittest_mclock_priority_queue +-add_executable(unittest_mclock_priority_queue EXCLUDE_FROM_ALL +- test_mclock_priority_queue.cc +- ) +-add_ceph_unittest(unittest_mclock_priority_queue ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest_mclock_priority_queue) +-target_link_libraries(unittest_mclock_priority_queue global ${BLKID_LIBRARIES} dmclock) +- + # unittest_str_map + add_executable(unittest_str_map + test_str_map.cc +--- a/src/test/encoding/CMakeLists.txt 2017-08-28 18:30:20.000000000 +0200 ++++ b/src/test/encoding/CMakeLists.txt 2017-09-21 17:50:42.202117682 +0200 +@@ -1,4 +1,3 @@ + # scripts +-add_ceph_test(check-generated.sh ${CMAKE_CURRENT_SOURCE_DIR}/check-generated.sh) + add_ceph_test(readable.sh ${CMAKE_CURRENT_SOURCE_DIR}/readable.sh) + +--- a/src/test/run-cli-tests 2017-09-26 18:27:07.000000000 +0200 ++++ b/src/test/run-cli-tests 2017-10-08 16:28:48.574708891 +0200 +@@ -1,7 +1,7 @@ + #!/bin/sh + set -e + +-if ! command -v virtualenv >/dev/null; then ++if ! command -v virtualenv2 >/dev/null; then + echo "$0: virtualenv not installed, skipping python-using tests." 1>&2 + exit 1 + fi +@@ -30,7 +30,7 @@ + # patched cram to support that. See upstream ticket at + # https://bitbucket.org/brodie/cram/issue/9/allow-read-only-directories-for-t + # -- tv@inktank.com +- virtualenv "$VENV" && $VENV/bin/pip --log "$VENV"/log.txt install "$SRCDIR/downloads/cram-0.5.0ceph.2011-01-14.tar.gz" ++ virtualenv2 "$VENV" && $VENV/bin/pip --log "$VENV"/log.txt install "$SRCDIR/downloads/cram-0.5.0ceph.2011-01-14.tar.gz" + fi + + SRCDIR_ABS="$(readlink -f "$SRCDIR")" +--- a/src/test/pybind/test_ceph_argparse.py 2017-09-26 18:27:07.000000000 +0200 ++++ b/src/test/pybind/test_ceph_argparse.py 2017-10-08 16:50:49.060831801 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env nosetests ++#!/usr/bin/env nosetests2 + # -*- mode:python; tab-width:4; indent-tabs-mode:t; coding:utf-8 -*- + # vim: ts=4 sw=4 smarttab expandtab fileencoding=utf-8 + # +--- a/src/test/pybind/test_ceph_daemon.py 2017-09-26 18:27:07.000000000 +0200 ++++ b/src/test/pybind/test_ceph_daemon.py 2017-10-08 16:50:58.341131927 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env nosetests ++#!/usr/bin/env nosetests2 + # -*- mode:python; tab-width:4; indent-tabs-mode:t -*- + # vim: ts=4 sw=4 smarttab expandtab + # +--- a/qa/standalone/ceph-helpers.sh 2017-09-26 18:27:07.000000000 +0200 ++++ b/qa/standalone/ceph-helpers.sh 2017-10-10 16:41:58.095364616 +0200 +@@ -158,7 +158,7 @@ + kill_daemons $dir KILL + if [ `uname` != FreeBSD ] \ + && [ $(stat -f -c '%T' .) == "btrfs" ]; then +- __teardown_btrfs $dir ++ true + fi + local cores="no" + local pattern="$(sysctl -n $KERNCORE)" +@@ -194,12 +194,7 @@ + } + + function __teardown_btrfs() { +- local btrfs_base_dir=$1 +- local btrfs_root=$(df -P . | tail -1 | awk '{print $NF}') +- local btrfs_dirs=$(cd $btrfs_base_dir; sudo btrfs subvolume list . -t | awk '/^[0-9]/ {print $4}' | grep "$btrfs_base_dir/$btrfs_dir") +- for subvolume in $btrfs_dirs; do +- sudo btrfs subvolume delete $btrfs_root/$subvolume +- done ++ true + } + + function test_teardown() { +--- a/src/ceph-disk/run-tox.sh 2017-09-26 18:27:07.000000000 +0200 ++++ b/src/ceph-disk/run-tox.sh 2017-10-10 18:52:33.542561990 +0200 +@@ -30,4 +30,4 @@ + fi + + source ${CEPH_DISK_VIRTUALENV}/bin/activate +-tox -c ${TOX_PATH} ++tox2 -c ${TOX_PATH} +--- a/qa/workunits/rbd/run_devstack_tempest.sh 2017-09-26 18:27:07.000000000 +0200 ++++ b/qa/workunits/rbd/run_devstack_tempest.sh 2017-10-10 18:53:33.564468674 +0200 +@@ -119,4 +119,4 @@ + chmod -R o+rx ${STACK_OPT_PATH}/devstack/files + + cd ${STACK_OPT_PATH}/tempest +-sudo -H -u ${TEMPEST_USER} tox -eall-plugin -- '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario)|(^cinder\.tests.tempest))' --concurrency=3 ++sudo -H -u ${TEMPEST_USER} tox2 -eall-plugin -- '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario)|(^cinder\.tests.tempest))' --concurrency=3 +--- a/src/test/filestore/TestFileStore.cc 2017-09-26 18:27:07.000000000 +0200 ++++ b/src/test/filestore/TestFileStore.cc 2017-10-10 20:31:36.325983555 +0200 +@@ -36,13 +36,6 @@ + ASSERT_EQ(pm["filestore_backend"], "generic"); + } + #if defined(__linux__) +- { +- map pm; +- FileStore fs(g_ceph_context, "a", "b"); +- TestFileStore::create_backend(fs, BTRFS_SUPER_MAGIC); +- fs.collect_metadata(&pm); +- ASSERT_EQ(pm["filestore_backend"], "btrfs"); +- } + # ifdef HAVE_LIBXFS + { + map pm; +--- a/src/test/cli/osdmaptool/ceph.conf.withracks 2017-09-26 18:27:07.000000000 +0200 ++++ b/src/test/cli/osdmaptool/ceph.conf.withracks 2017-10-10 21:30:49.230389707 +0200 +@@ -42,8 +42,8 @@ + keyring = /mnt/osd.$id/keyring + osd data = /mnt/osd.$id + osd journal = /dev/disk/by-label/osd.$id.journal +- osd mkfs type = btrfs +- osd mount options btrfs = rw,noatime ++ osd mkfs type = xfs ++ osd mount options xfs = rw,noatime + devs = /dev/disk/by-label/osd.$id.data + ; temp sage + debug osd = 20 +--- a/src/spdk/test/iscsi_tgt/filesystem/filesystem.sh 2017-04-13 06:05:24.000000000 +0200 ++++ b/src/spdk/test/iscsi_tgt/filesystem/filesystem.sh 2017-10-10 21:33:09.084930640 +0200 +@@ -61,7 +61,7 @@ + parted -s /dev/$dev mkpart primary '0%' '100%' + sleep 1 + +-for fstype in "ext4" "btrfs" "xfs"; do ++for fstype in "ext4" "xfs"; do + + if [ "$fstype" == "ext4" ]; then + mkfs.${fstype} -F /dev/${dev}1 +--- a/src/spdk/test/nvmf/filesystem/filesystem.sh 2017-04-13 06:05:24.000000000 +0200 ++++ b/src/spdk/test/nvmf/filesystem/filesystem.sh 2017-10-10 21:33:26.258820759 +0200 +@@ -48,7 +48,7 @@ + timing_exit parted + sleep 1 + +- for fstype in "ext4" "btrfs" "xfs"; do ++ for fstype in "ext4" "xfs"; do + timing_enter $fstype + if [ $fstype = ext4 ]; then + force=-F +--- a/src/ceph.conf.twoosds 2017-09-26 18:27:07.000000000 +0200 ++++ b/src/ceph.conf.twoosds 2017-10-10 21:34:13.160340506 +0200 +@@ -72,8 +72,8 @@ + ; osd journal = /mnt/osd$id/journal + ; osd journal size = 1000 + osd journal = "/dev/disk/by-path/pci-0000:05:02.0-scsi-6:0:0:0" +- osd mkfs type = btrfs +- osd mount options btrfs = "flushoncommit,usertrans" ++ osd mkfs type = xfs ++ osd mount options xfs = "flushoncommit,usertrans" + ; filestore max sync interval = 1 + + devs = "/dev/disk/by-path/pci-0000:05:01.0-scsi-2:0:0:0" +--- a/src/ceph-disk/tests/ceph-disk.sh 2017-09-26 18:27:07.000000000 +0200 ++++ b/src/ceph-disk/tests/ceph-disk.sh 2017-10-10 21:35:26.386044372 +0200 +@@ -72,8 +72,7 @@ + kill_daemons $dir + if [ `uname` != FreeBSD ] && \ + [ $(stat -f -c '%T' .) == "btrfs" ]; then +- rm -fr $dir/*/*db +- __teardown_btrfs $dir ++ true + fi + grep " $(pwd)/$dir/" < ${PROCDIR}/proc/mounts | while read mounted rest ; do + umount $mounted +--- a/qa/run_xfstests.sh 2017-09-26 18:27:07.000000000 +0200 ++++ b/qa/run_xfstests.sh 2017-10-10 22:18:49.663141392 +0200 +@@ -81,7 +81,7 @@ + arg_count 1 $# + + case "$1" in +- xfs|ext4|btrfs) return 0 ;; ++ xfs|ext4) return 0 ;; + *) return 1 ;; + esac + } +@@ -120,7 +120,7 @@ + echo " -c or --count" >&2 + echo " iteration count (1 or more)" >&2 + echo " -f or --fs-type" >&2 +- echo " one of: xfs, ext4, btrfs" >&2 ++ echo " one of: xfs, ext4" >&2 + echo " (default fs-type: xfs)" >&2 + echo " -r or --randomize" >&2 + echo " randomize test order" >&2 +@@ -132,7 +132,7 @@ + echo " name of file with list of tests to skip" >&2 + echo " tests:" >&2 + echo " list of test numbers, e.g.:" >&2 +- echo " generic/001 xfs/008 shared/032 btrfs/009" >&2 ++ echo " generic/001 xfs/008 shared/032" >&2 + echo " or possibly an xfstests test group, e.g.:" >&2 + echo " -g quick" >&2 + echo " (default tests: -g auto)" >&2 +@@ -235,7 +235,6 @@ + case "${FSTYP}" in + xfs) options="-f" ;; + ext4) options="-F" ;; +- btrfs) options="-f" ;; + esac + + "mkfs.${FSTYP}" ${options} "${dev}" || +--- a/qa/run_xfstests-obsolete.sh 2017-09-26 18:27:07.000000000 +0200 ++++ b/qa/run_xfstests-obsolete.sh 2017-10-10 22:19:27.027675395 +0200 +@@ -125,7 +125,7 @@ + arg_count 1 $# + + case "$1" in +- xfs|ext4|btrfs) return 0 ;; ++ xfs|ext4) return 0 ;; + *) return 1 ;; + esac + } +@@ -157,7 +157,7 @@ + echo " -c or --count" >&2 + echo " iteration count (1 or more)" >&2 + echo " -f or --fs-type" >&2 +- echo " one of: xfs, ext4, btrfs" >&2 ++ echo " one of: xfs, ext4" >&2 + echo " (default fs-type: xfs)" >&2 + echo " -s or --scratch-dev (REQUIRED)" >&2 + echo " name of device used for scratch filesystem" >&2 +@@ -262,7 +262,7 @@ + # Filesystem-specific mkfs options--set if not supplied + export XFS_MKFS_OPTIONS="${XFS_MKFS_OPTIONS:--f -l su=65536}" + export EXT4_MKFS_OPTIONS="${EXT4_MKFS_OPTIONS:--F}" +-export BTRFS_MKFS_OPTION # No defaults ++unset BTRFS_MKFS_OPTION # No defaults + + XFSTESTS_DIR="/var/lib/xfstests" # Where the tests live + +@@ -348,7 +348,6 @@ + case "${FSTYP}" in + xfs) options="${XFS_MKFS_OPTIONS}" ;; + ext4) options="${EXT4_MKFS_OPTIONS}" ;; +- btrfs) options="${BTRFS_MKFS_OPTIONS}" ;; + esac + + "mkfs.${FSTYP}" ${options} "${dev}" || diff --git a/community/ceph/fix-python2-paths.patch b/community/ceph/fix-python2-paths.patch new file mode 100644 index 000000000..9fee3c2b5 --- /dev/null +++ b/community/ceph/fix-python2-paths.patch @@ -0,0 +1,52 @@ +--- a/CMakeLists.txt 2017-09-26 18:27:07.000000000 +0200 ++++ b/CMakeLists.txt 2017-10-06 14:10:11.032378659 +0200 +@@ -63,7 +63,7 @@ + option(WITH_MANPAGE "Build man pages." ON) + if(WITH_MANPAGE) + find_program(SPHINX_BUILD +- sphinx-build) ++ sphinx-build2) + if(NOT SPHINX_BUILD) + message(FATAL_ERROR "Can't find sphinx-build.") + endif(NOT SPHINX_BUILD) +--- a/src/tools/setup-virtualenv.sh 2017-09-26 18:27:07.000000000 +0200 ++++ b/src/tools/setup-virtualenv.sh 2017-10-06 15:02:01.736664556 +0200 +@@ -18,10 +18,10 @@ + DIR=$1 + rm -fr $DIR + mkdir -p $DIR +-virtualenv --python python2.7 $DIR ++virtualenv2 --python python2.7 $DIR + . $DIR/bin/activate + +-if pip --help | grep -q disable-pip-version-check; then ++if pip2 --help | grep -q disable-pip-version-check; then + DISABLE_PIP_VERSION_CHECK=--disable-pip-version-check + else + DISABLE_PIP_VERSION_CHECK= +@@ -29,12 +29,12 @@ + + # older versions of pip will not install wrap_console scripts + # when using wheel packages +-pip $DISABLE_PIP_VERSION_CHECK --log $DIR/log.txt install --upgrade 'pip >= 6.1' ++pip2 $DISABLE_PIP_VERSION_CHECK --log $DIR/log.txt install --upgrade 'pip >= 6.1' + + # workaround of https://github.com/pypa/setuptools/issues/1042 +-pip $DISABLE_PIP_VERSION_CHECK --log $DIR/log.txt install --upgrade "setuptools < 36" ++pip2 $DISABLE_PIP_VERSION_CHECK --log $DIR/log.txt install --upgrade "setuptools < 36" + +-if pip --help | grep -q disable-pip-version-check; then ++if pip2 --help | grep -q disable-pip-version-check; then + DISABLE_PIP_VERSION_CHECK=--disable-pip-version-check + else + DISABLE_PIP_VERSION_CHECK= +@@ -44,7 +44,7 @@ + export NO_INDEX=--no-index + fi + +-pip $DISABLE_PIP_VERSION_CHECK --log $DIR/log.txt install $NO_INDEX --use-wheel --find-links=file://$(pwd)/wheelhouse 'tox >=1.9' ++pip2 $DISABLE_PIP_VERSION_CHECK --log $DIR/log.txt install $NO_INDEX --use-wheel --find-links=file://$(pwd)/wheelhouse 'tox >=1.9' + if test -f requirements.txt ; then +- pip $DISABLE_PIP_VERSION_CHECK --log $DIR/log.txt install $NO_INDEX --use-wheel --find-links=file://$(pwd)/wheelhouse -r requirements.txt ++ pip2 $DISABLE_PIP_VERSION_CHECK --log $DIR/log.txt install $NO_INDEX --use-wheel --find-links=file://$(pwd)/wheelhouse -r requirements.txt + fi diff --git a/community/ceph/fix-sphinx-binary-name.patch b/community/ceph/fix-sphinx-binary-name.patch new file mode 100644 index 000000000..66e37df8b --- /dev/null +++ b/community/ceph/fix-sphinx-binary-name.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt 2017-09-26 18:27:07.000000000 +0200 ++++ b/CMakeLists.txt 2017-10-06 14:10:11.032378659 +0200 +@@ -63,7 +63,7 @@ + option(WITH_MANPAGE "Build man pages." ON) + if(WITH_MANPAGE) + find_program(SPHINX_BUILD +- sphinx-build) ++ sphinx-build2) + if(NOT SPHINX_BUILD) + message(FATAL_ERROR "Can't find sphinx-build.") + endif(NOT SPHINX_BUILD) diff --git a/community/ceph/remove-distro-version-detection.patch b/community/ceph/remove-distro-version-detection.patch new file mode 100644 index 000000000..bd2093be2 --- /dev/null +++ b/community/ceph/remove-distro-version-detection.patch @@ -0,0 +1,21 @@ +--- a/src/common/util.cc 2017-09-26 18:27:07.000000000 +0200 ++++ b/src/common/util.cc 2017-10-05 15:58:14.852647976 +0200 +@@ -158,8 +158,7 @@ + { + static const map kvm = { + { "distro", "ID=" }, +- { "distro_description", "PRETTY_NAME=" }, +- { "distro_version", "VERSION_ID=" } ++ { "distro_description", "PRETTY_NAME=" } + }; + + FILE *fp = fopen("/etc/os-release", "r"); +@@ -182,7 +181,7 @@ + lderr(cct) << "distro_detect - /etc/os-release is required" << dendl; + } + +- for (const char* rk: {"distro", "distro_version"}) { ++ for (const char* rk: {"distro"}) { + if (m->find(rk) == m->end()) + lderr(cct) << "distro_detect - can't detect " << rk << dendl; + } diff --git a/extra/ceph/01-ceph-detec-init.patch b/extra/ceph/01-ceph-detec-init.patch deleted file mode 100644 index 42b44065f..000000000 --- a/extra/ceph/01-ceph-detec-init.patch +++ /dev/null @@ -1,69 +0,0 @@ -commit c19cb3cd2756ba830edd92158a2913beaa6e24aa -Author: Sébastien Luttringer -Date: Sun Mar 26 16:35:13 2017 +0200 - - Arch support - -diff --git a/src/ceph-detect-init/ceph_detect_init/__init__.py b/src/ceph-detect-init/ceph_detect_init/__init__.py -index a2bcc7cf27..ca2f2d7975 100644 ---- a/src/ceph-detect-init/ceph_detect_init/__init__.py -+++ b/src/ceph-detect-init/ceph_detect_init/__init__.py -@@ -13,6 +13,7 @@ - # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - # GNU Library Public License for more details. - # -+from ceph_detect_init import arch - from ceph_detect_init import centos - from ceph_detect_init import debian - from ceph_detect_init import exc -@@ -21,6 +22,7 @@ from ceph_detect_init import rhel - from ceph_detect_init import suse - import logging - import platform -+import os - - - def get(use_rhceph=False): -@@ -49,6 +51,7 @@ def _get_distro(distro, use_rhceph=False): - - distro = _normalized_distro_name(distro) - distributions = { -+ 'arch': arch, - 'debian': debian, - 'ubuntu': debian, - 'linuxmint': debian, -@@ -75,6 +78,8 @@ def _normalized_distro_name(distro): - return 'suse' - elif distro.startswith('centos'): - return 'centos' -+ elif distro.startswith('arch'): -+ return 'arch' - return distro - - -@@ -103,6 +108,8 @@ def platform_information(): - else: - codename = major - -+ elif os.path.exists("/etc/arch-release"): -+ return ("arch", None, "arch") - return ( - str(distro).rstrip(), - str(release).rstrip(), -diff --git a/src/ceph-detect-init/ceph_detect_init/arch/__init__.py b/src/ceph-detect-init/ceph_detect_init/arch/__init__.py -new file mode 100644 -index 0000000000..425ce50bb2 ---- /dev/null -+++ b/src/ceph-detect-init/ceph_detect_init/arch/__init__.py -@@ -0,0 +1,11 @@ -+distro = None -+release = None -+codename = None -+ -+ -+def choose_init(): -+ """Select a init system -+ -+ Returns the name of a init system (upstart, sysvinit ...). -+ """ -+ return 'systemd' diff --git a/extra/ceph/PKGBUILD b/extra/ceph/PKGBUILD deleted file mode 100644 index af8fcb353..000000000 --- a/extra/ceph/PKGBUILD +++ /dev/null @@ -1,106 +0,0 @@ -# $Id$ -# Maintainer: Sébastien "Seblu" Luttringer - -# ALARM: Kevin Mihelich -# - patch to remove neon detection in configure -# - add 32bit ARM to the xfs.h fix -# - make -j3, RAM constraints - -highmem=1 - -pkgname=ceph -pkgver=10.2.9 -pkgrel=1 -pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system' -arch=('x86_64' 'i686') -url='https://ceph.com/' -license=('GPL') -makedepends=('boost' 'systemd' 'xfsprogs' 'python2-sphinx' 'cython2' 'sed') -depends=('boost-libs' 'curl' 'expat' 'fcgi' 'fuse2' 'gcc-libs' 'glibc' - 'gperftools' 'keyutils' 'leveldb' 'libaio' 'libatomic_ops' 'libedit' - 'libsystemd' 'libutil-linux' 'ncurses' 'nss' 'python2' 'snappy' - 'python2-setuptools' 'xfsprogs') -options=('emptydirs') -source=("https://download.ceph.com/tarballs/$pkgname-$pkgver.tar.gz" - 'ceph.sysusers' - '01-ceph-detec-init.patch' - 'no-neon.diff') -md5sums=('eff6db61b3befb686e0693befa1f076a' - 'b3e24e3aa005a657ab475f84bfe3291a' - 'da25c78ae413dc134cc99fe9818f6ff1' - 'd75fe7ff3125dd2df43fee6410700dda') - -prepare() { - cd $pkgname-$pkgver - # apply patch from the source array (should be a pacman feature) - local filename - for filename in "${source[@]}"; do - if [[ "$filename" =~ \.patch$ ]]; then - msg2 "Applying patch ${filename##*/}" - patch -p1 -N -i "$srcdir/${filename##*/}" - fi - done - : -} - -build() { - cd $pkgname-$pkgver - # fix xfs.h failure in configure on i686 - [[ $CARCH == i686 || $CARCH == arm || $CARCH == armv6h || $CARCH == armv7h ]] && export CXXFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64" - # don't use autotools for ceph-disk, ceph-detect and tests - sed -ri 's,include (ceph-disk|ceph-detect-init|test)/Makefile.am,,' src/Makefile.am - # regen configure - ./autogen.sh - # fix python-config binary name - sed -i 's,python-config,python2-config,g' configure - # drop neon checks - patch -p1 -i ../no-neon.diff - ./configure \ - --prefix=/usr \ - --sbindir=/usr/bin \ - --libexecdir=/usr/lib \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --with-man-pages \ - --without-radosgw \ - --without-openldap \ - PYTHON=/usr/bin/python2 \ - CYTHON_CHECK=yes \ - PYTHON_CONFIG_CHECK=yes \ - SPHINX_BUILD=sphinx-build2 - make -j3 -} - -package() { - cd $pkgname-$pkgver - - # main install - make DESTDIR="$pkgdir" install - - # ceph-disk - pushd src/ceph-disk - python2 setup.py install --root "$pkgdir" --prefix=/usr - popd - - # ceph-detect-init - pushd src/ceph-detect-init - python2 setup.py install --root "$pkgdir" --prefix=/usr - popd - - # systemd stuff - install -Dm644 systemd/ceph.tmpfiles.d "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" - install -Dm644 "$srcdir"/ceph.sysusers "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" - - # fix bash completions path - msg2 'Fix bash completion path' - install -d -m 755 "$pkgdir"/usr/share/bash-completion - mv "$pkgdir"/{etc/bash_completion.d,usr/share/bash-completion/completions} - - # fix python2 shebang, did not do it in prepare() anymore because it - # confuse automake - msg2 'Fix python2 shebang' - find "$pkgdir" -type f -executable -exec \ - sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \; -} - -# vim:set ts=2 sw=2 et: diff --git a/extra/ceph/ceph.sysusers b/extra/ceph/ceph.sysusers deleted file mode 100644 index 01dea498c..000000000 --- a/extra/ceph/ceph.sysusers +++ /dev/null @@ -1 +0,0 @@ -u ceph - - /run/ceph diff --git a/extra/ceph/no-neon.diff b/extra/ceph/no-neon.diff deleted file mode 100644 index c610d5440..000000000 --- a/extra/ceph/no-neon.diff +++ /dev/null @@ -1,55 +0,0 @@ -diff -urN a/configure b/configure ---- a/configure 2016-12-09 13:09:49.000000000 -0700 -+++ b/configure 2017-03-31 18:28:40.998404499 -0600 -@@ -22270,51 +22270,6 @@ - - - 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" >&5 - $as_echo_n "checking whether C compiler accepts -march=armv8-a... " >&6; }