[arch-commits] Commit in ceph/trunk (11 files)

Thore Bödecker foxxx0 at archlinux.org
Sun Nov 22 16:28:55 UTC 2020


    Date: Sunday, November 22, 2020 @ 16:28:55
  Author: foxxx0
Revision: 759220

upgpkg: ceph 15.2.6-1

update to upstream release 15.2.6
+ fixes FS#64041
+ fixes FS#67047
+ fixes FS#68387

Added:
  ceph/trunk/ceph-12.2.4-boost-build-none-options.patch
  ceph/trunk/ceph-13.2.0-cflags.patch
  ceph/trunk/ceph-13.2.2-dont-install-sysvinit-script.patch
  ceph/trunk/ceph-14.2.0-cflags.patch
  ceph/trunk/ceph-14.2.0-cython-0.29.patch
  ceph/trunk/ceph-14.2.0-link-crc32-statically.patch
  ceph/trunk/ceph-15.2.0-rocksdb-cmake.patch
  ceph/trunk/ceph-15.2.4-system-uring.patch
  ceph/trunk/ceph-15.2.5-missing-includes.patch
  ceph/trunk/glibc2.32-strsignal-compat-backported.patch
Modified:
  ceph/trunk/PKGBUILD

------------------------------------------------+
 PKGBUILD                                       |  142 ++++++++++++-----------
 ceph-12.2.4-boost-build-none-options.patch     |   26 ++++
 ceph-13.2.0-cflags.patch                       |   26 ++++
 ceph-13.2.2-dont-install-sysvinit-script.patch |   15 ++
 ceph-14.2.0-cflags.patch                       |   13 ++
 ceph-14.2.0-cython-0.29.patch                  |   17 ++
 ceph-14.2.0-link-crc32-statically.patch        |   11 +
 ceph-15.2.0-rocksdb-cmake.patch                |   15 ++
 ceph-15.2.4-system-uring.patch                 |   66 ++++++++++
 ceph-15.2.5-missing-includes.patch             |   12 +
 glibc2.32-strsignal-compat-backported.patch    |   63 ++++++++++
 11 files changed, 340 insertions(+), 66 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-11-22 16:28:35 UTC (rev 759219)
+++ PKGBUILD	2020-11-22 16:28:55 UTC (rev 759220)
@@ -4,28 +4,28 @@
 pkgbase='ceph'
 pkgname=('ceph' 'ceph-libs' 'ceph-mgr')
 _zstdver=1.4.5
-pkgver=14.2.8
+pkgver=15.2.6
 pkgrel=1
 pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system'
 arch=('x86_64')
 url='https://ceph.com/'
 license=('GPL')
-makedepends=("zstd=${_zstdver}" 'bc' 'boost' 'boost-libs' 'cmake' 'coffeescript'
+makedepends=("zstd=${_zstdver}" 'bash' 'bc' 'boost' 'boost-libs' 'bzip2' 'c-ares' 'cmake' 'coreutils' 'coffeescript'
              'cpio' 'crypto++' 'cryptsetup' 'cunit' 'curl' 'cython' 'expat'
-             'fcgi' 'fontconfig' 'fuse2' 'gcc' 'gcc-libs' 'git' 'glibc' 'gmock'
-             'gperf' 'gperftools' 'gptfdisk' 'gtest' 'inetutils' 'java-runtime'
+             'fcgi' 'fontconfig' 'fuse2' 'fuse3' 'fmt' 'gcc' 'gcc-libs' 'git' 'glibc' 'gmock' 'gnutls'
+             'gperf' 'gperftools' 'gptfdisk' 'gtest' 'hwloc' 'inetutils' 'java-runtime'
              'jq' 'jre11-openjdk-headless' 'junit' 'keyutils' 'leveldb' 'libaio'
              'libatomic_ops' 'libcap' 'libcap-ng' 'libcroco' 'libcurl-compat'
-             'libedit' 'libgudev' 'librabbitmq-c' 'libtool' 'util-linux-libs'
-             'libuv' 'libxml2' 'lsb-release' 'lz4' 'ncurses'
-             'nss' 'oath-toolkit' 'openssl' 'parted' 'pcre' 'pcre2' 'pkgconf'
+             'libedit' 'libgudev' 'libnl' 'librabbitmq-c' 'libtool' 'util-linux'
+             'libuv' 'libxml2' 'librdkafka' 'libpciaccess' 'lsb-release' 'lz4' 'ncurses'
+             'nss' 'numactl' 'oath-toolkit' 'openssl' 'parted' 'pcre' 'pcre2' 'pkgconf' 'protobuf'
              'procps-ng' 'python-astroid' 'python-attrs' 'python-bcrypt'
-             'python-cheroot' 'python-cherrypy' 'python-coverage'
+             'python-cheroot' 'python-cherrypy' 'python-coverage' 'python-dateutil'
              'python-elasticsearch' 'python-flask' 'python-flask-restful'
              'python-google-api-python-client' 'python-google-auth'
              'python-google-auth-httplib2' 'python-grpcio' 'python-isort'
              'python-jinja' 'python-lazy-object-proxy' 'python-mccabe'
-             'python-isodate' 'python-defusedxml' 'python-pkgconfig'
+             'python-isodate' 'python-defusedxml' 'python-pkgconfig' 'python-protobuf'
              'python-lxml' 'python-xmlsec' 'python-yaml'
              'python-more-itertools' 'python-numpy' 'python-pbr' 'python-pecan'
              'python-pip' 'python-pluggy' 'python-portend' 'python-prettytable'
@@ -35,28 +35,40 @@
              'python-setuptools' 'python-six' 'python-sphinx' 'python-tempora'
              'python-virtualenv' 'python-werkzeug' 'python-wrapt' 'rabbitmq'
              'sed' 'snappy' 'socat' 'systemd' 'systemd-libs' 'valgrind'
-             'xfsprogs' 'xmlstarlet' 'xxhash' 'yasm' 'zlib' )
+             'xfsprogs' 'xmlstarlet' 'xmlsec' 'xxhash' 'yaml-cpp' 'yasm' 'zlib' )
 checkdepends=('python-mock' 'python-nose' 'python-pycodestyle' 'python-pylint'
               'python-pytest' 'python-pytest-cov')
 options=('emptydirs')
-source=("https://download.ceph.com/tarballs/${pkgbase}-${pkgver}.tar.gz"
-        'ceph.sysusers'
-        'remove-distro-version-detection.patch'
-        'disable-empty-readable.sh-test.patch'
-        'use-threadsafe-death-tests-objectstore-memstore.patch'
-        'use-system-zstd-and-fix-zstd-1.4.0-compatbility.patch'
-        'suppress-pylint-warnings.patch'
-        'fix-mgr-dashboard-frontend-unittests-dist-stuff.patch'
-        "zstd-${_zstdver}.tar.gz::https://github.com/facebook/zstd/archive/v${_zstdver}.tar.gz")
-sha512sums=('38b0c6df58579377528c8f8e06d0cbc40f471f6eb2fb4a05b395f6fddbd3f2117674545b2147d8730973b01967ddcd4322a769ba03f9c625417ed35cc39f195a'
+source=(
+  "https://download.ceph.com/tarballs/${pkgbase}-${pkgver}.tar.gz"
+  'ceph.sysusers'
+  "zstd-${_zstdver}.tar.gz::https://github.com/facebook/zstd/archive/v${_zstdver}.tar.gz"
+  'glibc2.32-strsignal-compat-backported.patch'
+  'ceph-14.2.0-cflags.patch'
+  'ceph-12.2.4-boost-build-none-options.patch'
+  'ceph-13.2.0-cflags.patch'
+  'ceph-13.2.2-dont-install-sysvinit-script.patch'
+  'ceph-14.2.0-link-crc32-statically.patch'
+  'ceph-14.2.0-cython-0.29.patch'
+  'ceph-15.2.0-rocksdb-cmake.patch'
+  'ceph-15.2.4-system-uring.patch'
+  'ceph-15.2.5-missing-includes.patch'
+  'disable-empty-readable.sh-test.patch'
+)
+sha512sums=('0bbbbc532fb9f29437c094a86a1e58040f03b679e4d52ea9cc752ecf411c594c8ec37dc5e9f0ee47712d32b93b4e60b0f3fded280867d41c41b8db806b375e4e'
             '4354001c1abd9a0c385ba7bd529e3638fb6660b6a88d4e49706d4ac21c81b8e829303a20fb5445730bdac18c4865efb10bc809c1cd56d743c12aa9a52e160049'
-            '02c9e8fd3c23fb4c9c4c576ee6d06e8525ca31decfd964fb7231e73c98fe2987a483dda680969752186f0918f47d9af4fb09a4901e5319077f45d870906716da'
-            '2234d005df71b3b6013e6b76ad07a5791e3af7efec5f41c78eb1a9c92a22a67f0be9560be59b52534e90bfe251bcf32c33d5d40163f3f8f7e7420691f0f4a222'
-            'a74aea7c0b0d1883c874f889c184bd2c766fa578d6ca0cbe5eaada840281bb947b3d80f142b30473058cd2652d2967d241ade6914d6be50e93e91728a31733c8'
-            '4345fc2f422c7c1910bfd4068ad39511fa63d8c1e4fc04af416bb0f3869e43327d4a4bfc980d5abf273693a532ac153ed1e4c03e033a127692c1254b99092b8a'
-            '4afd5c3b49a839531921e80b1204ef5b496531a31b3de13042bfcbb548d736851ef7698e41bc94a9bed356e7c2cab6bf30bc711796249cf10ee791974033c29b'
-            '6265e083e0e8cba481741c7492a47e8144381287c2cbaef220a64bd889d8bac43cb5cc3efb01600cf785d585c950982a908deed10bedf0688c5cd2015e004c1f'
-            'b03c497c3e0590c3d384cb856e3024f144b2bfac0d805d80e68deafa612c68237f12a2d657416d476a28059e80936c79f099fc42331464b417593895ea214387')
+            'b03c497c3e0590c3d384cb856e3024f144b2bfac0d805d80e68deafa612c68237f12a2d657416d476a28059e80936c79f099fc42331464b417593895ea214387'
+            'f4f725db5ce8ff01088557891382f28b014a18accbca40b9939899e611377dc71bc94aa47333bbff544b65a7f7cb680bac4a1359481afe24354a0b5c4a9469e4'
+            '9e6bb46d5bbdc5d93f4f026b2a8d6bdb692d9ea6e7018c1bb0188d95ea8574c76238d968b340fd67ddaa3d8183b310e393e3549dc3a63a795fde696413b0ca94'
+            '6ff46a90d76f667fa23be0f9eb1ed2fb7e30af9a2621aec19944d0a22a431a0f5721603c588286e483ff55c14aac920adfccb039c9678a87cc59640dd70367ae'
+            '8ec0d668fefee12d2c7f5b5297dd81fc6a559f5823d069e6395d9b4240110eb8f95049d3054697a459948c1f3784b4450539849cf9d7f3b1aa1c7fbd96c475df'
+            'ea069b75b786c22166c609b127b512802cc5c6e9512d792d7b7b34d276f5b86d57c8c35cfc7b5c855a59c0ba87ba1aabe2ca26da72b26bff46b6ba8410ddb27e'
+            '3efe70f826ebc207f1ce8744483c9a82ebbf8f3cfa81c9cbb3152b40f5b540cc9cc21e6bd3370197bee9a27a01c3e3725754d044069bb760c3dbfbc97fe4276d'
+            '82c1608928ee669ef60b8930ce82c443152c446e669e7bde9ce32f78571afb19a9620c3818b69ac8cb3ea33e7d7ac40f77c89162c71b19b157336d907fa23e3d'
+            '20256de5c3227caa149f8285bcc90fcbd67be8cefa568fb72ad0d43688f1f62db7c7fc231dfd4ecf2dd11be68bf1ccc284ebbc691a82a26f3968200f12c82097'
+            '8258661e56b5360f4260fdd29b07bac4d415068a112b61ca8c55c529fb1593d8d61a0d59a4eec8f1567b97167c058082198d008f55f8ee701cb46489df5f7823'
+            '84de66f64ea96cd59b40dfb5b8c5d093fe49df1139b45ad9d1bd6b9ebd2f1200b6e931adcf032639a4995af322cf05c1ef9050eb1cb6673e29e040d4e348b3d5'
+            '2234d005df71b3b6013e6b76ad07a5791e3af7efec5f41c78eb1a9c92a22a67f0be9560be59b52534e90bfe251bcf32c33d5d40163f3f8f7e7420691f0f4a222')
 
 
 # -fno-plt causes linker errors (undefined reference to internal methods)
@@ -64,22 +76,16 @@
 # https://github.com/intel/media-driver/commit/d95d8f7ab7ac94a2e0f4ee6a4b4794898dc2d3b7
 # as of today (2019-07-12) the upstream maintainers do not consider this a bug in their code
 # (IMHO rightfully so) and thus we strip the option here
-CFLAGS="${CFLAGS/-fno-plt/}"
-CXXFLAGS="${CXXFLAGS/-fno-plt/}"
+export CFLAGS="${CFLAGS/-fno-plt/}"
+export CXXFLAGS="${CXXFLAGS/-fno-plt/}"
 
 
 prepare() {
   cd "${srcdir}/${pkgbase}-${pkgver}"
 
-  # the src/pybind/mgr/dashboard/run-frontend-unittests.sh helper will incorrectly
-  # rebuild the static assets to frontend/dist/ causing failures in run-tox-mgr-dashboard
-  # and in the final package
-  # with fix-mgr-dashboard-frontend-unittests-dist-stuff.patch we comment out
-  # the npm build and i18n commands of this helper and just use the remainder to run the actual tests
-
   # apply patches from the source array
   local filename
-  for filename in "${source[@]}"; do
+  for filename in "${source[@]%%::*}"; do
     if [[ "${filename}" =~ \.patch$ ]]; then
       echo "Applying patch ${filename##*/}"
       patch -p1 -N -i "${srcdir}/${filename##*/}"
@@ -92,6 +98,13 @@
   sed -i '/#ifndef CEPH_TYPES_H/i#define BOOST_ALLOW_DEPRECATED_HEADERS' \
     src/include/types.h
 
+  # fix boost stuff for system-boost
+  find . -name '*.cmake' -or -name 'CMakeLists.txt' -print0 | xargs --null \
+    sed -r \
+    -e 's|Boost::|boost_|g' \
+    -e 's|Boost_|boost_|g' \
+    -e 's|[Bb]oost_boost|boost_system|g' -i || exit 1
+
   # remove bundled zstd and replace with newer release
   rm -rf src/zstd
   ln -sf "${srcdir}/zstd-${_zstdver}" src/zstd
@@ -99,26 +112,22 @@
   # remove tests that require root privileges
   rm src/test/cli/ceph-authtool/cap*.t
 
-  # disable certain pylint test cases (we don't are about them for packaging)
-  sed -i 's/,py3-lint//' src/pybind/mgr/dashboard/run-tox.sh
-
-
-  # 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
+  # disable/remove broken tests
+  sed -i '/add_ceph_test(smoke.sh/d' src/test/CMakeLists.txt
+  sed -i '/add_ceph_test(safe-to-destroy.sh/d' src/test/osd/CMakeLists.txt
 }
 
 build() {
   cd "${srcdir}/${pkgbase}-${pkgver}"
 
-  mkdir -p build
-  cd build
-
+  export CFLAGS+=" ${CPPFLAGS}"
+  export CXXFLAGS+=" ${CPPFLAGS}"
   export PYTHON_INCLUDE_DIR="$(python -c "from sysconfig import get_path; print(get_path('include'))")"
+  export CMAKE_BUILD_TYPE='RelWithDebInfo'
+  export CMAKE_WARN_UNUSED_CLI=no
 
   cmake \
+    -B build \
     -DCMAKE_INSTALL_PREFIX=/usr \
     -DCMAKE_INSTALL_SYSCONFDIR=/etc \
     -DCMAKE_INSTALL_SBINDIR=/usr/bin \
@@ -127,7 +136,6 @@
     -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib \
     -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=/usr/lib/systemd/system \
     -DCMAKE_VERBOSE_MAKEFILE=ON \
-    -DCMAKE_BUILD_TYPE=RelWithDebInf \
     -DENABLE_GIT_VERSION=ON \
     -DWITH_PYTHON2=OFF \
     -DWITH_PYTHON3=ON \
@@ -155,22 +163,22 @@
     -DWITH_RADOSGW_BEAST_OPENSSL=ON \
     -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \
     -DWITH_SYSTEMD=ON \
-    -DWITH_SYSTEM_BOOST=OFF \
+    -DWITH_SYSTEM_BOOST=ON \
     -DWITH_BOOST_CONTEXT=ON \
     -DWITH_SYSTEM_GTEST=OFF \
     -DWITH_SYSTEM_NPM=OFF \
     -DENABLE_SHARED=ON \
     -DWITH_TESTS=ON \
-    ..
+    -Wno-dev
 
-  VERBOSE=1 make all
+  VERBOSE=1 make -C build all
 }
 
 check() {
-  cd "${srcdir}/${pkgbase}-${pkgver}/build"
+  cd "${srcdir}/${pkgbase}-${pkgver}"
 
   export CTEST_PARALLEL_LEVEL="8"
-  VERBOSE=1 make check
+  VERBOSE=1 make -C build check
 
   # sometimes processes are not properly terminated...
   for process in ceph-mon ceph-mgr ceph-osd; do
@@ -179,13 +187,13 @@
 }
 
 package_ceph-libs() {
-  depends=('boost-libs' 'curl' 'glibc' 'keyutils' 'util-linux-libs' 'lz4' 'nss'
+  depends=('boost-libs' 'curl' 'glibc' 'keyutils' 'libutil-linux' 'bzip2' 'lz4' 'nss'
            'oath-toolkit' 'python' 'snappy' 'systemd-libs')
 
-  cd "${srcdir}/${pkgbase}-${pkgver}/build"
+  cd "${srcdir}/${pkgbase}-${pkgver}"
 
   # main install
-  VERBOSE=1 make DESTDIR="${pkgdir}" install
+  VERBOSE=1 make DESTDIR="${pkgdir}" -C build install
 
   # remove stuff that goes into the ceph package
   rm -rf "${pkgdir}"/usr/lib/{ceph/mgr,systemd,sysusers.d,tmpfiles.d}
@@ -198,15 +206,17 @@
 
 package_ceph() {
   depends=("ceph-libs=${pkgver}-${pkgrel}"
-           'boost-libs' 'curl' 'fuse2' 'glibc' 'gperftools' 'java-runtime'
-           'keyutils' 'leveldb' 'libaio' 'util-linux-libs' 'lsb-release' 'ncurses'
+           'boost-libs' 'curl' 'fuse2' 'fuse3' 'fmt' 'glibc' 'gperftools' 'java-runtime'
+           'keyutils' 'leveldb' 'libaio' 'libutil-linux' 'librdkafka'
+           'lsb-release' 'ncurses'
            'nss' 'oath-toolkit' 'python' 'python-bcrypt' 'python-setuptools'
-           'python-cmd2' 'snappy' 'systemd-libs' 'xfsprogs')
+           'python-prettytable' 'python-cmd2' 'python-dateutil' 'snappy' 'sudo' 'systemd-libs'
+           'python-flask' 'python-pecan' 'python-pyopenssl' 'python-requests' 'python-werkzeug' 'xfsprogs')
 
-  cd "${srcdir}/${pkgbase}-${pkgver}/build"
+  cd "${srcdir}/${pkgbase}-${pkgver}"
 
   # main install
-  VERBOSE=1 make DESTDIR="${pkgdir}" install
+  VERBOSE=1 make DESTDIR="${pkgdir}" -C build install
 
   # fix sbin dir (cmake opt seems to have no effect)
   mv "${pkgdir}"/usr/sbin/* "${pkgdir}/usr/bin/"
@@ -263,8 +273,8 @@
   depends=("ceph=${pkgver}-${pkgrel}" "ceph-libs=${pkgver}-${pkgrel}"
            'bash' 'boost-libs' 'coffeescript' 'curl' 'gperftools' 'nodejs' 'nss'
            'python' 'python-cherrypy' 'python-flask-restful' 'python-pecan'
-           'python-pyjwt' 'python-routes' 'python-requests' 'python-pyopenssl'
-           'python-prettytable' 'python-yaml')
+           'python-pyjwt' 'python-routes' 'python-jsonpatch' 'python-more-itertools' 'python-numpy'
+           'python-yaml' 'python-pyaml' 'python-scipy' 'python-six')
   optdepends=('python-influxdb: influx module'
               'python-kubernetes: rook module'
               'python-prometheus_client: prometheus module'
@@ -271,10 +281,10 @@
               'python-remoto: ssh module')
   conflicts=('ceph<14.2.1-1')
 
-  cd "${srcdir}/${pkgbase}-${pkgver}/build"
+  cd "${srcdir}/${pkgbase}-${pkgver}"
 
   # main install
-  VERBOSE=1 make DESTDIR="${pkgdir}" install
+  VERBOSE=1 make DESTDIR="${pkgdir}" -C build install
 
   # fix sbin dir (cmake opt seems to have no effect)
   mv "${pkgdir}"/usr/sbin/* "${pkgdir}/usr/bin/"

Added: ceph-12.2.4-boost-build-none-options.patch
===================================================================
--- ceph-12.2.4-boost-build-none-options.patch	                        (rev 0)
+++ ceph-12.2.4-boost-build-none-options.patch	2020-11-22 16:28:55 UTC (rev 759220)
@@ -0,0 +1,26 @@
+diff --git a/src/boost/tools/build/src/tools/features/debug-feature.jam b/src/boost/tools/build/src/tools/features/debug-feature.jam
+index 04958f9a..38b6acf1 100644
+--- a/src/boost/tools/build/src/tools/features/debug-feature.jam
++++ b/src/boost/tools/build/src/tools/features/debug-feature.jam
+@@ -8,7 +8,7 @@
+ import feature ;
+ 
+ feature.feature debug-symbols
+-    : on off
++    : on off none
+     : propagated ;
+ 
+ feature.feature profiling
+diff --git a/src/boost/tools/build/src/tools/features/optimization-feature.jam b/src/boost/tools/build/src/tools/features/optimization-feature.jam
+index 761f76f1..fb2a5dec 100644
+--- a/src/boost/tools/build/src/tools/features/optimization-feature.jam
++++ b/src/boost/tools/build/src/tools/features/optimization-feature.jam
+@@ -8,7 +8,7 @@
+ import feature ;
+ 
+ feature.feature optimization
+-    : off speed space
++    : off none speed space
+     : propagated ;
+ 
+ feature.feature inlining

Added: ceph-13.2.0-cflags.patch
===================================================================
--- ceph-13.2.0-cflags.patch	                        (rev 0)
+++ ceph-13.2.0-cflags.patch	2020-11-22 16:28:55 UTC (rev 759220)
@@ -0,0 +1,26 @@
+diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
+index d6572115a4..cc0bdddc9f 100644
+--- a/cmake/modules/BuildBoost.cmake
++++ b/cmake/modules/BuildBoost.cmake
+@@ -62,7 +62,7 @@ function(do_build_boost version)
+   else()
+     list(APPEND boost_features "address-model=32")
+   endif()
+-  set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
++  set(BOOST_CXXFLAGS "${CMAKE_CXX_FLAGS} -fPIC -w") # check on arm, etc <---XXX
+   list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
+ 
+   list(FIND Boost_BUILD_COMPONENTS "python" with_python)
+diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
+index 5a80aa539c..8d6ff5c8f0 100644
+--- a/src/compressor/zstd/CMakeLists.txt
++++ b/src/compressor/zstd/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ # zstd
+ 
+ # libzstd - build it statically
+-set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable -O3")
++set(ZSTD_C_FLAGS "-fPIC -Wno-unused-variable $ENV{CFLAGS} -O3")
+ 
+ include(ExternalProject)
+ ExternalProject_Add(zstd_ext

Added: ceph-13.2.2-dont-install-sysvinit-script.patch
===================================================================
--- ceph-13.2.2-dont-install-sysvinit-script.patch	                        (rev 0)
+++ ceph-13.2.2-dont-install-sysvinit-script.patch	2020-11-22 16:28:55 UTC (rev 759220)
@@ -0,0 +1,15 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 874eabfaa1..e337f4cf8e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -601,10 +601,6 @@ install(PROGRAMS
+   ${CMAKE_SOURCE_DIR}/src/ceph-run
+   ${CMAKE_SOURCE_DIR}/src/ceph-clsinfo
+   DESTINATION bin)
+-install(PROGRAMS
+-  ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/init-ceph
+-  DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/init.d
+-  RENAME ceph)
+ 
+ install(FILES
+   ${CMAKE_SOURCE_DIR}/share/id_rsa_drop.ceph.com

Added: ceph-14.2.0-cflags.patch
===================================================================
--- ceph-14.2.0-cflags.patch	                        (rev 0)
+++ ceph-14.2.0-cflags.patch	2020-11-22 16:28:55 UTC (rev 759220)
@@ -0,0 +1,13 @@
+diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
+index 5697dff85f..7fdcfe4112 100644
+--- a/cmake/modules/Distutils.cmake
++++ b/cmake/modules/Distutils.cmake
+@@ -61,7 +61,7 @@ function(distutils_add_cython_module name src)
+     CC="${PY_CC}"
+     CXX="${PY_CXX}"
+     LDSHARED="${PY_LDSHARED}"
+-    OPT=\"-DNDEBUG -g -fwrapv -O2 -w\"
++    OPT=\"-DNDEBUG -g -fwrapv -w\"
+     LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+     CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
+     CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}

Added: ceph-14.2.0-cython-0.29.patch
===================================================================
--- ceph-14.2.0-cython-0.29.patch	                        (rev 0)
+++ ceph-14.2.0-cython-0.29.patch	2020-11-22 16:28:55 UTC (rev 759220)
@@ -0,0 +1,17 @@
+--- ceph-13.2.1/cmake/modules/Distutils.cmake.old	2018-07-26 17:39:56.000000000 -0000
++++ ceph-13.2.1/cmake/modules/Distutils.cmake	2018-12-24 05:43:51.566174070 -0000
+@@ -58,8 +62,13 @@
+ function(distutils_install_cython_module name)
+   get_property(compiler_launcher GLOBAL PROPERTY RULE_LAUNCH_COMPILE)
+   get_property(link_launcher GLOBAL PROPERTY RULE_LAUNCH_LINK)
+-  set(PY_CC "${compiler_launcher} ${CMAKE_C_COMPILER}")
++  string(REPLACE " " ";" cflags ${CMAKE_C_FLAGS})
++  list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w)
++  list(APPEND cflags -D'void0=dead_function\(void\)')
++  list(APPEND cflags -D'__Pyx_check_single_interpreter\(ARG\)=ARG \#\# 0')
++  string(REPLACE ";" " " cflags "${cflags}")
++  set(PY_CC "${compiler_launcher} ${CMAKE_C_COMPILER} ${cflags}")
+   set(PY_LDSHARED "${link_launcher} ${CMAKE_C_COMPILER} -shared")
+   install(CODE "
+     set(ENV{CC} \"${PY_CC}\")
+     set(ENV{LDSHARED} \"${PY_LDSHARED}\")

Added: ceph-14.2.0-link-crc32-statically.patch
===================================================================
--- ceph-14.2.0-link-crc32-statically.patch	                        (rev 0)
+++ ceph-14.2.0-link-crc32-statically.patch	2020-11-22 16:28:55 UTC (rev 759220)
@@ -0,0 +1,11 @@
+--- ceph-14.2.0.orig/src/common/CMakeLists.txt	2019-03-18 04:08:29.000000000 -0600
++++ ceph-14.2.0/src/common/CMakeLists.txt	2019-03-21 18:42:32.903182824 -0600
+@@ -165,7 +165,7 @@
+     crc32c_aarch64.c)
+ endif(HAVE_INTEL)
+ 
+-add_library(crc32 ${crc32_srcs})
++add_library(crc32 STATIC ${crc32_srcs})
+ if(HAVE_ARMV8_CRC)
+   set_target_properties(crc32 PROPERTIES
+     COMPILE_FLAGS "${CMAKE_C_FLAGS} ${ARMV8_CRC_COMPILE_FLAGS}")

Added: ceph-15.2.0-rocksdb-cmake.patch
===================================================================
--- ceph-15.2.0-rocksdb-cmake.patch	                        (rev 0)
+++ ceph-15.2.0-rocksdb-cmake.patch	2020-11-22 16:28:55 UTC (rev 759220)
@@ -0,0 +1,15 @@
+diff --git a/cmake/modules/BuildRocksDB.cmake b/cmake/modules/BuildRocksDB.cmake
+index de9748878b..4b86b36d35 100644
+--- a/cmake/modules/BuildRocksDB.cmake
++++ b/cmake/modules/BuildRocksDB.cmake
+@@ -6,10 +6,6 @@ function(build_rocksdb)
+   # CMAKE_PREFIX_PATH, for which reason we'll have to use some other separator.
+   string(REPLACE ";" "!" CMAKE_PREFIX_PATH_ALT_SEP "${CMAKE_PREFIX_PATH}")
+   list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_ALT_SEP})
+-  if(CMAKE_TOOLCHAIN_FILE)
+-    list(APPEND rocksdb_CMAKE_ARGS
+-         -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE)
+-  endif()
+ 
+   if(ALLOCATOR STREQUAL "jemalloc")
+     list(APPEND rocksdb_CMAKE_ARGS -DWITH_JEMALLOC=ON)

Added: ceph-15.2.4-system-uring.patch
===================================================================
--- ceph-15.2.4-system-uring.patch	                        (rev 0)
+++ ceph-15.2.4-system-uring.patch	2020-11-22 16:28:55 UTC (rev 759220)
@@ -0,0 +1,66 @@
+diff --git a/src/os/CMakeLists.txt b/src/os/CMakeLists.txt
+index 760244b9b4..7f83923671 100644
+--- a/src/os/CMakeLists.txt
++++ b/src/os/CMakeLists.txt
+@@ -134,27 +134,6 @@ if(WITH_EVENTTRACE)
+ endif()
+ 
+ if(WITH_LIBURING)
+-  include(ExternalProject)
+-  if("${CMAKE_GENERATOR}" MATCHES "Make")
+-    set(make_cmd "$(MAKE)")
+-  else()
+-    set(make_cmd "make")
+-  endif()
+-  ExternalProject_Add(liburing_ext
+-    DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/src/
+-    GIT_REPOSITORY http://git.kernel.dk/liburing
+-    GIT_TAG "4e360f71131918c36774f51688e5c65dea8d43f2"
+-    SOURCE_DIR ${CMAKE_BINARY_DIR}/src/liburing
+-    CONFIGURE_COMMAND <SOURCE_DIR>/configure
+-    BUILD_COMMAND env CC=${CMAKE_C_COMPILER} ${make_cmd} -C src -s
+-    BUILD_IN_SOURCE 1
+-    INSTALL_COMMAND "")
+-  unset(make_cmd)
+-  add_library(liburing STATIC IMPORTED GLOBAL)
+-  add_dependencies(liburing liburing_ext)
+-  set_target_properties(liburing PROPERTIES
+-    IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+-    IMPORTED_LOCATION "${CMAKE_BINARY_DIR}/src/liburing/src/liburing.a")
+-  target_link_libraries(os liburing)
+-  target_include_directories(os SYSTEM PRIVATE "${CMAKE_BINARY_DIR}/src/liburing/src/include")
++  pkg_check_modules(LIBURING REQUIRED IMPORTED_TARGET liburing)
++  target_link_libraries(os uring)
+ endif(WITH_LIBURING)
+diff --git a/src/os/bluestore/io_uring.cc b/src/os/bluestore/io_uring.cc
+index 54fa0f9535..4ba83cf172 100644
+--- a/src/os/bluestore/io_uring.cc
++++ b/src/os/bluestore/io_uring.cc
+@@ -7,6 +7,8 @@
+ 
+ #include "liburing.h"
+ #include <sys/epoll.h>
++#include <unistd.h>
++#include <sys/syscall.h>
+ 
+ /* Options */
+ 
+@@ -134,8 +136,7 @@ int ioring_queue_t::init(std::vector<int> &fds)
+   if (ret < 0)
+     return ret;
+ 
+-  ret = io_uring_register(d->io_uring.ring_fd, IORING_REGISTER_FILES,
+-			  &fds[0], fds.size());
++  ret = io_uring_register_files(&d->io_uring, &fds[0], fds.size());
+   if (ret < 0) {
+     ret = -errno;
+     goto close_ring_fd;
+@@ -214,7 +215,7 @@ bool ioring_queue_t::supported()
+   struct io_uring_params p;
+ 
+   memset(&p, 0, sizeof(p));
+-  int fd = io_uring_setup(16, &p);
++  int fd = syscall(SYS_io_uring_setup, 16, &p);
+   if (fd < 0)
+     return false;
+ 

Added: ceph-15.2.5-missing-includes.patch
===================================================================
--- ceph-15.2.5-missing-includes.patch	                        (rev 0)
+++ ceph-15.2.5-missing-includes.patch	2020-11-22 16:28:55 UTC (rev 759220)
@@ -0,0 +1,12 @@
+diff --git a/src/tools/rbd/action/Bench.cc b/src/tools/rbd/action/Bench.cc
+index aa6edbc18b..90c551c179 100644
+--- a/src/tools/rbd/action/Bench.cc
++++ b/src/tools/rbd/action/Bench.cc
+@@ -9,6 +9,7 @@
+ #include "common/ceph_mutex.h"
+ #include "include/types.h"
+ #include "global/signal_handler.h"
++#include <atomic>
+ #include <iostream>
+ #include <boost/accumulators/accumulators.hpp>
+ #include <boost/accumulators/statistics/stats.hpp>

Added: glibc2.32-strsignal-compat-backported.patch
===================================================================
--- glibc2.32-strsignal-compat-backported.patch	                        (rev 0)
+++ glibc2.32-strsignal-compat-backported.patch	2020-11-22 16:28:55 UTC (rev 759220)
@@ -0,0 +1,63 @@
+From b9b6faf66ae67648626470cb4fc3f0850ac4d842 Mon Sep 17 00:00:00 2001
+From: David Disseldorp <ddiss at suse.de>
+Date: Tue, 1 Sep 2020 13:49:21 +0200
+Subject: [PATCH] cmake: detect and use sigdescr_np() if available
+
+sys_siglist is deprecated with glibc 2.32. A new thread-safe and
+async-signal safe sigdescr_np() function is provided, so use it if
+available.
+
+Fixes: https://tracker.ceph.com/issues/47187
+Signed-off-by: David Disseldorp <ddiss at suse.de>
+---
+ cmake/modules/CephChecks.cmake | 1 +
+ src/global/signal_handler.h    | 8 +++++---
+ src/include/config-h.in.cmake  | 3 +++
+ 3 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/cmake/modules/CephChecks.cmake b/cmake/modules/CephChecks.cmake
+index 23687283a7c6..ca86dcbc73de 100644
+--- a/cmake/modules/CephChecks.cmake
++++ b/cmake/modules/CephChecks.cmake
+@@ -24,6 +24,7 @@ check_function_exists(strerror_r HAVE_Strerror_R)
+ check_function_exists(name_to_handle_at HAVE_NAME_TO_HANDLE_AT)
+ check_function_exists(pipe2 HAVE_PIPE2)
+ check_function_exists(accept4 HAVE_ACCEPT4)
++check_function_exists(sigdescr_np HAVE_SIGDESCR_NP)
+ 
+ include(CMakePushCheckState)
+ cmake_push_check_state(RESET)
+diff --git a/src/global/signal_handler.h b/src/global/signal_handler.h
+index 476724201aa9..c101b2e28733 100644
+--- a/src/global/signal_handler.h
++++ b/src/global/signal_handler.h
+@@ -20,10 +20,12 @@
+ 
+ typedef void (*signal_handler_t)(int);
+ 
+-#ifndef HAVE_REENTRANT_STRSIGNAL
+-# define sig_str(signum) sys_siglist[signum]
+-#else
++#ifdef HAVE_SIGDESCR_NP
++# define sig_str(signum) sigdescr_np(signum)
++#elif HAVE_REENTRANT_STRSIGNAL
+ # define sig_str(signum) strsignal(signum)
++#else
++# define sig_str(signum) sys_siglist[signum]
+ #endif
+ 
+ void install_sighandler(int signum, signal_handler_t handler, int flags);
+diff --git a/src/include/config-h.in.cmake b/src/include/config-h.in.cmake
+index 1ea3703f620c..59bd4273511a 100644
+--- a/src/include/config-h.in.cmake
++++ b/src/include/config-h.in.cmake
+@@ -220,6 +220,9 @@
+ /* Define to 1 if you have sched.h. */
+ #cmakedefine HAVE_SCHED 1
+ 
++/* Define to 1 if you have sigdescr_np. */
++#cmakedefine HAVE_SIGDESCR_NP 1
++
+ /* Support SSE (Streaming SIMD Extensions) instructions */
+ #cmakedefine HAVE_SSE
+ 



More information about the arch-commits mailing list