All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ceph: Upgrade to 16.2.1
@ 2021-04-23 17:01 Saul Wold
  2021-04-25 19:43 ` [meta-virtualization] " Bruce Ashfield
  0 siblings, 1 reply; 4+ messages in thread
From: Saul Wold @ 2021-04-23 17:01 UTC (permalink / raw)
  To: meta-virtualization

This updates the Ceph version to 16.2.1 which required a couple
changes to base code via a rebased patch which also disabled the
sanity check due to it not working correctly, but the actual
compile worked.  Also added a new patch to add soversion information
for the new libcephsqlite library so it would be packaged correctly

Added fixex for new python script to adjust #! from the native path
and moved the ceph-python package in order for it to get the correct
set of files before the ceph package.

Signed-off-by: Saul Wold <saul.wold@windriver.com>
---
 ...-add-missing-include-for-atomic-bool.patch |  25 ----
 ...h-fix-build-errors-for-cross-compile.patch | 125 ++++++++++++------
 ...0001-cmake-add-support-for-python3.9.patch |  30 -----
 ...001-fix-host-library-paths-were-used.patch |  58 ++++----
 ...ite-Add-library-soversion-properties.patch |  31 +++++
 .../ceph/{ceph_15.2.9.bb => ceph_16.2.1.bb}   |  84 +++++++++---
 6 files changed, 211 insertions(+), 142 deletions(-)
 delete mode 100644 recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
 delete mode 100644 recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
 create mode 100644 recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
 rename recipes-extended/ceph/{ceph_15.2.9.bb => ceph_16.2.1.bb} (64%)

diff --git a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch b/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
deleted file mode 100644
index ffcbc58..0000000
--- a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 502be73be3c3645094525aa552f5e53d8782a004 Mon Sep 17 00:00:00 2001
-From: Sakib Sajal <sakib.sajal@windriver.com>
-Date: Fri, 28 Aug 2020 19:36:19 -0400
-Subject: [PATCH] add missing include for atomic<bool>
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- src/tools/rbd/action/Bench.cc | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/tools/rbd/action/Bench.cc b/src/tools/rbd/action/Bench.cc
-index aa6edbc1..90c551c1 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>
--- 
-2.27.0
-
diff --git a/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch b/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch
index 4d54549..00c7e5b 100644
--- a/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch
+++ b/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch
@@ -1,10 +1,15 @@
-From 4712fe18405ffea31405308357a8e7fca358bcce Mon Sep 17 00:00:00 2001
+From 2a3ccc8079040a7e783b8a9091618878e7cf0719 Mon Sep 17 00:00:00 2001
 From: Dengke Du <dengke.du@windriver.com>
 Date: Mon, 11 Mar 2019 09:14:09 +0800
 Subject: [PATCH] ceph: fix build errors for cross compile
 
 1. set the cross compile sysroot to find the rocksdb library
 2. correct the install path for library in Distutils.cmake
+3. remove / disable the sanity_check(), for some reasong the
+   sanity check gets the wrong settings and will not link 
+   correctly, but the actual build works correctly, this needs
+   more investigation later, earlier versions of the patch also
+   removed it but no comment on why. (sgw)
 
 Upstream-Status: Inappropriate [oe specific]
 
@@ -14,18 +19,20 @@ Adjust context for v14.2.3
 
 Signed-off-by: He Zhe <zhe.he@windriver.com>
 Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
+Signed-off-by: Saul Wold <saul.wold@windriver.com>
+
 ---
  cmake/modules/Distutils.cmake      | 25 +++++--------------------
  cmake/modules/FindRocksDB.cmake    |  4 ++--
  src/compressor/zstd/CMakeLists.txt |  2 +-
- src/pybind/cephfs/setup.py         |  8 --------
- src/pybind/rados/setup.py          |  8 --------
- src/pybind/rbd/setup.py            |  8 --------
- src/pybind/rgw/setup.py            |  8 --------
- 7 files changed, 8 insertions(+), 55 deletions(-)
+ src/pybind/cephfs/setup.py         | 18 +++++-------------
+ src/pybind/rados/setup.py          | 11 ++---------
+ src/pybind/rbd/setup.py            | 18 +++++-------------
+ src/pybind/rgw/setup.py            | 18 +++++-------------
+ 7 files changed, 25 insertions(+), 71 deletions(-)
 
 diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
-index 5fe929499d..802eb37e32 100644
+index ff01aaf81..18656c5a5 100644
 --- a/cmake/modules/Distutils.cmake
 +++ b/cmake/modules/Distutils.cmake
 @@ -18,17 +18,8 @@ function(distutils_install_module name)
@@ -39,9 +46,9 @@ index 5fe929499d..802eb37e32 100644
 -      list(APPEND options
 -        --root=\$ENV{DESTDIR}
 -        --single-version-externally-managed)
--      if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\")
--        list(APPEND options --install-script=${DU_INSTALL_SCRIPT})
--      endif()
+-    endif()
+-    if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\")
+-      list(APPEND options --install-script=${DU_INSTALL_SCRIPT})
 -    endif()
 +    list(APPEND options --root=${CMAKE_DESTDIR})
 +    list(APPEND options --install-lib=${PYTHON_SITEPACKAGES_DIR})
@@ -51,7 +58,7 @@ index 5fe929499d..802eb37e32 100644
 @@ -50,7 +41,7 @@ function(distutils_add_cython_module target name src)
    # Note: no quotes, otherwise distutils will execute "/usr/bin/ccache gcc"
    # CMake's implicit conversion between strings and lists is wonderful, isn't it?
-   string(REPLACE " " ";" cflags ${CMAKE_C_FLAGS})
+   set(cflags ${COMPILE_OPTIONS})
 -  list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w)
 +  list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w --sysroot=${CMAKE_SYSROOT})
    # This little bit of magic wipes out __Pyx_check_single_interpreter()
@@ -75,7 +82,7 @@ index 5fe929499d..802eb37e32 100644
         COMMAND
             ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py
 diff --git a/cmake/modules/FindRocksDB.cmake b/cmake/modules/FindRocksDB.cmake
-index c5dd3dfaf6..be38597af2 100644
+index c5dd3dfaf..be38597af 100644
 --- a/cmake/modules/FindRocksDB.cmake
 +++ b/cmake/modules/FindRocksDB.cmake
 @@ -9,9 +9,9 @@
@@ -91,7 +98,7 @@ index c5dd3dfaf6..be38597af2 100644
  if(ROCKSDB_INCLUDE_DIR AND EXISTS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h")
    foreach(ver "MAJOR" "MINOR" "PATCH")
 diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
-index a5ebdaf538..a234068150 100644
+index b53b0d944..4955711a9 100644
 --- a/src/compressor/zstd/CMakeLists.txt
 +++ b/src/compressor/zstd/CMakeLists.txt
 @@ -9,7 +9,7 @@ ExternalProject_Add(zstd_ext
@@ -104,81 +111,111 @@ index a5ebdaf538..a234068150 100644
               -G${CMAKE_GENERATOR}
    BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzstd
 diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py
-index 19ae6c329a..c9a25ccfff 100755
+index c3d40df05..24c26c3ed 100755
 --- a/src/pybind/cephfs/setup.py
 +++ b/src/pybind/cephfs/setup.py
-@@ -135,14 +135,6 @@ def check_sanity():
+@@ -137,19 +137,11 @@ def check_sanity():
      finally:
          shutil.rmtree(tmp_dir)
  
 -
--if 'BUILD_DOC' in os.environ.keys():
--    pass
+-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
+-    ext_args = {}
+-    cython_constants = dict(BUILD_DOC=True)
+-    cythonize_args = dict(compile_time_env=cython_constants)
 -elif check_sanity():
--    pass
+-    ext_args = get_python_flags(['cephfs'])
+-    cython_constants = dict(BUILD_DOC=False)
+-    include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
+-    cythonize_args = dict(compile_time_env=cython_constants,
+-                          include_path=include_path)
 -else:
 -    sys.exit(1)
--
++ext_args = get_python_flags(['cephfs'])
++cython_constants = dict(BUILD_DOC=False)
++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
++cythonize_args = dict(compile_time_env=cython_constants,
++                      include_path=include_path)
+ 
  cmdclass = {}
  try:
-     from Cython.Build import cythonize
 diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py
-index e2c5696404..4e99d26721 100755
+index 0d1047825..cff85a063 100755
 --- a/src/pybind/rados/setup.py
 +++ b/src/pybind/rados/setup.py
-@@ -134,14 +134,6 @@ def check_sanity():
+@@ -131,15 +131,8 @@ def check_sanity():
      finally:
          shutil.rmtree(tmp_dir)
  
 -
--if 'BUILD_DOC' in os.environ.keys():
--    pass
+-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
+-    ext_args = {}
+-    cython_constants = dict(BUILD_DOC=True)
 -elif check_sanity():
--    pass
+-    ext_args = get_python_flags(['rados'])
+-    cython_constants = dict(BUILD_DOC=False)
 -else:
 -    sys.exit(1)
--
++ext_args = get_python_flags(['rados'])
++cython_constants = dict(BUILD_DOC=False)
+ 
  cmdclass = {}
  try:
-     from Cython.Build import cythonize
 diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py
-index 634484f140..f5bbbdab4f 100755
+index 73ea4555f..e7f57ddb5 100755
 --- a/src/pybind/rbd/setup.py
 +++ b/src/pybind/rbd/setup.py
-@@ -133,14 +133,6 @@ def check_sanity():
+@@ -135,19 +135,11 @@ def check_sanity():
      finally:
          shutil.rmtree(tmp_dir)
  
 -
--if 'BUILD_DOC' in os.environ.keys():
--    pass
+-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
+-    ext_args = {}
+-    cython_constants = dict(BUILD_DOC=True)
+-    cythonize_args = dict(compile_time_env=cython_constants)
 -elif check_sanity():
--    pass
+-    ext_args = get_python_flags(['rados', 'rbd'])
+-    cython_constants = dict(BUILD_DOC=False)
+-    include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
+-    cythonize_args = dict(compile_time_env=cython_constants,
+-                          include_path=include_path)
 -else:
 -    sys.exit(1)
--
++ext_args = get_python_flags(['rados', 'rbd'])
++cython_constants = dict(BUILD_DOC=False)
++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
++cythonize_args = dict(compile_time_env=cython_constants,
++                      include_path=include_path)
+ 
  cmdclass = {}
  try:
-     from Cython.Build import cythonize
 diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py
-index eb1591a460..b9f2428cf9 100755
+index 663604e8f..489c9ba1f 100755
 --- a/src/pybind/rgw/setup.py
 +++ b/src/pybind/rgw/setup.py
-@@ -134,14 +134,6 @@ def check_sanity():
+@@ -135,19 +135,11 @@ def check_sanity():
      finally:
          shutil.rmtree(tmp_dir)
  
 -
--if 'BUILD_DOC' in os.environ.keys():
--    pass
+-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
+-    ext_args = {}
+-    cython_constants = dict(BUILD_DOC=True)
+-    cythonize_args = dict(compile_time_env=cython_constants)
 -elif check_sanity():
--    pass
+-    ext_args = get_python_flags(['rados', 'rgw'])
+-    cython_constants = dict(BUILD_DOC=False)
+-    include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
+-    cythonize_args = dict(compile_time_env=cython_constants,
+-                          include_path=include_path)
 -else:
 -    sys.exit(1)
--
++ext_args = get_python_flags(['rados', 'rgw'])
++cython_constants = dict(BUILD_DOC=False)
++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
++cythonize_args = dict(compile_time_env=cython_constants,
++                      include_path=include_path)
+ 
  cmdclass = {}
  try:
-     from Cython.Build import cythonize
--- 
-2.20.1
-
diff --git a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch b/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
deleted file mode 100644
index d9116c4..0000000
--- a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 1060f2e4362ebd6db23870d442dcd158d219ee92 Mon Sep 17 00:00:00 2001
-From: Yanfei Xu <yanfei.xu@windriver.com>
-Date: Tue, 10 Nov 2020 17:17:30 +0800
-Subject: [PATCH] cmake: add support for python3.9
-
-add support for python3.9.
-
-Upstream-Status: Pending
-
-Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
----
- cmake/modules/FindPython/Support.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/FindPython/Support.cmake b/cmake/modules/FindPython/Support.cmake
-index 6584699b79..c05bbe3306 100644
---- a/cmake/modules/FindPython/Support.cmake
-+++ b/cmake/modules/FindPython/Support.cmake
-@@ -17,7 +17,7 @@ if (NOT DEFINED _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
-   message (FATAL_ERROR "FindPython: INTERNAL ERROR")
- endif()
- if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 3)
--  set(_${_PYTHON_PREFIX}_VERSIONS 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
-+  set(_${_PYTHON_PREFIX}_VERSIONS 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
- elseif (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 2)
-   set(_${_PYTHON_PREFIX}_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
- else()
--- 
-2.18.2
-
diff --git a/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch b/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch
index 310bfa4..1062ae7 100644
--- a/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch
+++ b/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch
@@ -1,4 +1,4 @@
-From bbf1cba8feb0e43492a1f6a6b31d024117cad262 Mon Sep 17 00:00:00 2001
+From a7f56278dd4762c56cccd559e260e51092763cac Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Mon, 13 Apr 2020 23:35:41 -0700
 Subject: [PATCH] fix host library paths were used
@@ -8,6 +8,7 @@ Test the existence of recipe-sysrooot, add it back if lost
 Upstream-Status: Inappropriate [oe specific]
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
 ---
  src/pybind/cephfs/setup.py | 6 +++++-
  src/pybind/rados/setup.py  | 6 +++++-
@@ -16,11 +17,11 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
  4 files changed, 20 insertions(+), 4 deletions(-)
 
 diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py
-index c9a25ccf..972f936c 100755
+index 87cdeb473..5144c8441 100755
 --- a/src/pybind/cephfs/setup.py
 +++ b/src/pybind/cephfs/setup.py
-@@ -63,9 +63,13 @@ def get_python_flags(libs):
-                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
+@@ -65,10 +65,14 @@ def get_python_flags(libs):
+                filter(lambda lib: lib.startswith('-l'), py_libs)]
      compiler = new_compiler()
      distutils.sysconfig.customize_compiler(compiler)
 +    libpl = distutils.sysconfig.get_config_var('LIBPL')
@@ -29,17 +30,18 @@ index c9a25ccf..972f936c 100755
 +        libpl = sysroot + libpl
      return dict(
          include_dirs=[distutils.sysconfig.get_python_inc()],
--        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
-+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
-         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
+         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
+-        libraries=libs + py_libs,
++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
          extra_compile_args=filter_unsupported_flags(
              compiler.compiler[0],
+             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
 diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py
-index 4e99d267..de24f766 100755
+index feafb605d..82aff5154 100755
 --- a/src/pybind/rados/setup.py
 +++ b/src/pybind/rados/setup.py
-@@ -66,9 +66,13 @@ def get_python_flags(libs):
-                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
+@@ -63,10 +63,14 @@ def get_python_flags(libs):
+                filter(lambda lib: lib.startswith('-l'), py_libs)]
      compiler = new_compiler()
      distutils.sysconfig.customize_compiler(compiler)
 +    libpl = distutils.sysconfig.get_config_var('LIBPL')
@@ -48,17 +50,18 @@ index 4e99d267..de24f766 100755
 +        libpl = sysroot + libpl
      return dict(
          include_dirs=[distutils.sysconfig.get_python_inc()],
--        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
-+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
-         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
+         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
+-        libraries=libs + py_libs,
++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
          extra_compile_args=filter_unsupported_flags(
              compiler.compiler[0],
+             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
 diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py
-index f5bbbdab..a1f70e1d 100755
+index b9c6a78d2..4ef714f8d 100755
 --- a/src/pybind/rbd/setup.py
 +++ b/src/pybind/rbd/setup.py
-@@ -63,9 +63,13 @@ def get_python_flags(libs):
-                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
+@@ -65,10 +65,14 @@ def get_python_flags(libs):
+                filter(lambda lib: lib.startswith('-l'), py_libs)]
      compiler = new_compiler()
      distutils.sysconfig.customize_compiler(compiler)
 +    libpl = distutils.sysconfig.get_config_var('LIBPL')
@@ -67,17 +70,18 @@ index f5bbbdab..a1f70e1d 100755
 +        libpl = sysroot + libpl
      return dict(
          include_dirs=[distutils.sysconfig.get_python_inc()],
--        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
-+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
-         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
+         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
+-        libraries=libs + py_libs,
++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
          extra_compile_args=filter_unsupported_flags(
              compiler.compiler[0],
+             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
 diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py
-index b9f2428c..f5119f73 100755
+index 695038c0e..2521f0cbb 100755
 --- a/src/pybind/rgw/setup.py
 +++ b/src/pybind/rgw/setup.py
-@@ -64,9 +64,13 @@ def get_python_flags(libs):
-                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
+@@ -65,10 +65,14 @@ def get_python_flags(libs):
+                filter(lambda lib: lib.startswith('-l'), py_libs)]
      compiler = new_compiler()
      distutils.sysconfig.customize_compiler(compiler)
 +    libpl = distutils.sysconfig.get_config_var('LIBPL')
@@ -86,11 +90,9 @@ index b9f2428c..f5119f73 100755
 +        libpl = sysroot + libpl
      return dict(
          include_dirs=[distutils.sysconfig.get_python_inc()],
--        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
-+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
-         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
+         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
+-        libraries=libs + py_libs,
++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
          extra_compile_args=filter_unsupported_flags(
              compiler.compiler[0],
--- 
-2.21.0
-
+             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
diff --git a/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch b/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
new file mode 100644
index 0000000..2c9cd11
--- /dev/null
+++ b/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
@@ -0,0 +1,31 @@
+From ce36ce7d1c0f954d1532a759f4d7b09d87287dac Mon Sep 17 00:00:00 2001
+From: Saul Wold <saul.wold@windriver.com>
+Date: Thu, 22 Apr 2021 08:05:57 -0700
+Subject: [PATCH] libcephsqlite: Add library soversion properties
+
+This additional properties are needed to ensure the library
+is installed with an soversion so that when the library is
+packaged it gets packaged corectly in the ceph package and
+ceph-dev package as the link.
+
+Upstream-Status: pending
+Signed-off-by: Saul Wold <saul.wold@windriver.com>
+---
+ src/CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 37db48f86..8dc7bdb56 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -804,6 +804,10 @@ if(WITH_LIBCEPHSQLITE)
+   set(cephsqlite_srcs libcephsqlite.cc SimpleRADOSStriper.cc)
+   add_library(cephsqlite ${CEPH_SHARED} ${cephsqlite_srcs})
+   target_link_libraries(cephsqlite PRIVATE cls_lock_client librados ceph-common SQLite3::SQLite3 ${EXTRALIBS})
++  set_target_properties(cephsqlite PROPERTIES
++    OUTPUT_NAME cephsqlite
++    VERSION 1.0.0
++    SOVERSION 1)
+   install(TARGETS cephsqlite DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif(WITH_LIBCEPHSQLITE)
+ 
diff --git a/recipes-extended/ceph/ceph_15.2.9.bb b/recipes-extended/ceph/ceph_16.2.1.bb
similarity index 64%
rename from recipes-extended/ceph/ceph_15.2.9.bb
rename to recipes-extended/ceph/ceph_16.2.1.bb
index 0d821f0..ec62c7b 100644
--- a/recipes-extended/ceph/ceph_15.2.9.bb
+++ b/recipes-extended/ceph/ceph_16.2.1.bb
@@ -1,26 +1,80 @@
+# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'.
+# The following is the difference between the old and the new license text.
+# Please update the LICENSE value if needed, and summarize the changes in
+# the commit message via 'License-Update:' tag.
+# (example: 'License-Update: copyright years updated.')
+#
+# The changes:
+#
+# --- COPYING
+# +++ COPYING
+# @@ -7,6 +7,11 @@
+#  Copyright: (c) 2004-2010 by Sage Weil <sage@newdream.net>
+#  License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3)
+#  
+# +Files: cmake/modules/FindPython*
+# +Copyright:
+# +    Copyright 2000-2020 Kitware, Inc. and Contributors
+# +License: BSD 3-clause
+# +
+#  Files: cmake/modules/FindLTTngUST.cmake
+#  Copyright:
+#      Copyright 2016 Kitware, Inc.
+# @@ -31,6 +36,10 @@
+#  Files: src/include/ceph_hash.cc
+#  Copyright: None
+#  License: Public domain
+# +
+# +Files: src/include/rados.h, except ceph_stable_mod(), which is public domain
+# +Copyright: the authors
+# +License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3)
+#  
+#  Files: src/common/bloom_filter.hpp
+#  Copyright: Copyright (C) 2000 Arash Partow <arash@partow.net>
+# @@ -191,4 +200,17 @@
+#  
+#  Files: src/include/function2.hpp
+#  Copyright: 2015-2018, Denis Blank
+# -License: Boost Software License, Version 1.0+License: Boost Software License, Version 1.0
+# +
+# +Files: src/include/expected.hpp
+# +Copyright: 2017, Simon Brand
+# +License: CC0
+# +
+# +Files: src/include/uses_allocator.h
+# +Copyright: 2016, Pablo Halpern <phalpern@halpernwightsoftware.com>
+# +License: Boost Software License, Version 1.0
+# +
+# +Files: src/common/async/bind_allocator.h
+# +Copyright: 2020 Red Hat <contact@redhat.com>
+# +           2003-2019 Christopher M. Kohlhoff <chris@kohlhoff.com>
+# +License: Boost Software License, Version 1.0
+# 
+#
+
 SUMMARY = "User space components of the Ceph file system"
 LICENSE = "LGPLv2.1 & GPLv2 & Apache-2.0 & MIT"
 LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 \
                     file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://COPYING;md5=4eb012c221c5fd4b760029a2981a6754 \
-"
-inherit cmake python3native python3-dir systemd
+                    file://COPYING;md5=d140fb1fedb53047f0d0830883e7af9f \
+                    "
+#inherit cmake setuptools3 systemd
+inherit cmake distutils3-base systemd
+
 # Disable python pybind support for ceph temporary, when corss compiling pybind,
 # pybind mix cmake and python setup environment, would case a lot of errors.
 
+SRC_URI[sha256sum] = "30ff943287361b4c3f0a9bf8bcd4399751b91434eec7d602ce6e93c42c741be3"
 SRC_URI = "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \
            file://0001-ceph-fix-build-errors-for-cross-compile.patch \
            file://0001-fix-host-library-paths-were-used.patch \
            file://ceph.conf \
-           file://0001-add-missing-include-for-atomic-bool.patch \
-           file://0001-cmake-add-support-for-python3.9.patch \
-"
+           file://0001-libcephsqlite-Add-library-soversion-properties.patch \
+           "
 
-SRC_URI[md5sum] = "5a949b91199efe130bfe2e57f200eacd"
-SRC_URI[sha256sum] = "ea7fa2be68b3570c5c3aa02774dca27de20b6f20a8498f65e5c4ef375a209ace"
-SRC_URI[sha1sum] = "0503649d7c7d9268cb61b03bbe839106988f87d7"
-SRC_URI[sha384sum] = "57208c126ea8e640c3979073fd64ce58606f17b4b7ed2e005b0792bdfd51b13391af325658d0f68f961f94175d93e891"
-SRC_URI[sha512sum] = "1f55b0a13bf06df782831d0c9d5f8617c22442ab97fb186e6ccb08183e02bf1756caf8633fa6b1cf156c3fb7b1bdff90a60a1249adfad0b9450036e2329bf8ff"
+SRC_URI[sha1sum] = "f8cc85e4cc519d7e469a0c3c8327bd1675f0b287"
+SRC_URI[sha384sum] = "29a75a733e5ae8039a5ad603558a9707e36b8c337419039ee97351cdbad57875fa57a365fcde29124cee72734608e245"
+SRC_URI[sha512sum] = "aeb9a91c33221c64ea24603dc88cab346bf0abdf0d41ff85c2e1cf134130737ec1fab1246be0a2fa3af8a655ae1dabb69688855f229f54438e60cb8098175b8e"
 
 DEPENDS = "boost bzip2 curl expat gperf-native \
            keyutils libaio libibverbs lz4 \
@@ -28,6 +82,7 @@ DEPENDS = "boost bzip2 curl expat gperf-native \
            oath openldap openssl \
            python3 python3-cython-native rabbitmq-c rocksdb snappy udev \
            valgrind xfsprogs zlib \
+           lua cryptsetup \
 "
 SYSTEMD_SERVICE_${PN} = " \
         ceph-radosgw@.service \
@@ -116,7 +171,7 @@ FILES_${PN} += "\
 		${libdir}/rados-classes/*.so.* \
 		${libdir}/ceph/compressor/*.so \
 		${libdir}/rados-classes/*.so \
-		${libdir}/ceph/*.so \
+	 	${libdir}/ceph/*.so \
 "
 
 FILES_${PN} += " \
@@ -133,11 +188,10 @@ RDEPENDS_${PN} += "\
 		python3-modules \
 		python3-prettytable \
 		${PN}-python \
+                gawk \
 "
 COMPATIBLE_HOST = "(x86_64).*"
-PACKAGES += " \
-	${PN}-python \
-"
+PACKAGE_BEFORE_PN += "${PN}-python"
 INSANE_SKIP_${PN}-python += "ldflags"
 INSANE_SKIP_${PN} += "dev-so"
 CCACHE_DISABLE = "1"
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [meta-virtualization] [PATCH] ceph: Upgrade to 16.2.1
  2021-04-23 17:01 [PATCH] ceph: Upgrade to 16.2.1 Saul Wold
@ 2021-04-25 19:43 ` Bruce Ashfield
  2021-04-25 19:44   ` Bruce Ashfield
  0 siblings, 1 reply; 4+ messages in thread
From: Bruce Ashfield @ 2021-04-25 19:43 UTC (permalink / raw)
  To: Saul Wold; +Cc: meta-virtualization

I had to adjust the hashes to get this to download, and once I did
that, I had to limit the build to avoid OOM, and then ran into this:

24 -Wpessimizing-move -Wredundant-move -Wstrict-null-sentinel
-Woverloaded-virtual -fno-new-ttp-matching -fstack-protector-strong
-fdiagnostics-color=auto -std=c++17 -o
CMakeFiles/rgw_common.dir/rgw_string.cc.o -c
/opt/poky/build/tmp/work/core2-64-poky-

linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.cc

| In file included from
/opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.cc:4:

| /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.h:
In member function 'bool ltstr_nocase::operator()(const string&, const
string&) const':

| /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.h:18:23:
error: invalid use of incomplete type 'const string' {aka 'const class
std::__cxx11::basic_string<char>'}

|    18 |     return strcasecmp(s1.c_str(), s2.c_str()) < 0;

|       |                       ^~

| In file included from
/opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/recipe-sysroot/usr/include/c++/10.3.0/iosfwd:39,

|                  from
/opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/recipe-sysroot/usr/include/c++/10.3.0/string_view:40,

|                  from
/opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.h:10,

|                  from
/opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.cc:4:

| /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/recipe-sysroot/usr/include/c++/10.3.0/bits/stringfwd.h:74:11:
note: declaration of 'std::string' {aka 'class
std::__cxx11::basic_string<char>'}

It still may be the OOM kicking in, but this looked like a legit issue.

I pushed my staging branch to meta-virtualization master/ceph so you
can have a look.

Bruce

On Fri, Apr 23, 2021 at 1:01 PM Saul Wold <Saul.Wold@windriver.com> wrote:
>
> This updates the Ceph version to 16.2.1 which required a couple
> changes to base code via a rebased patch which also disabled the
> sanity check due to it not working correctly, but the actual
> compile worked.  Also added a new patch to add soversion information
> for the new libcephsqlite library so it would be packaged correctly
>
> Added fixex for new python script to adjust #! from the native path
> and moved the ceph-python package in order for it to get the correct
> set of files before the ceph package.
>
> Signed-off-by: Saul Wold <saul.wold@windriver.com>
> ---
>  ...-add-missing-include-for-atomic-bool.patch |  25 ----
>  ...h-fix-build-errors-for-cross-compile.patch | 125 ++++++++++++------
>  ...0001-cmake-add-support-for-python3.9.patch |  30 -----
>  ...001-fix-host-library-paths-were-used.patch |  58 ++++----
>  ...ite-Add-library-soversion-properties.patch |  31 +++++
>  .../ceph/{ceph_15.2.9.bb => ceph_16.2.1.bb}   |  84 +++++++++---
>  6 files changed, 211 insertions(+), 142 deletions(-)
>  delete mode 100644 recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
>  delete mode 100644 recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
>  create mode 100644 recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
>  rename recipes-extended/ceph/{ceph_15.2.9.bb => ceph_16.2.1.bb} (64%)
>
> diff --git a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch b/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
> deleted file mode 100644
> index ffcbc58..0000000
> --- a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
> +++ /dev/null
> @@ -1,25 +0,0 @@
> -From 502be73be3c3645094525aa552f5e53d8782a004 Mon Sep 17 00:00:00 2001
> -From: Sakib Sajal <sakib.sajal@windriver.com>
> -Date: Fri, 28 Aug 2020 19:36:19 -0400
> -Subject: [PATCH] add missing include for atomic<bool>
> -
> -Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
> ----
> - src/tools/rbd/action/Bench.cc | 1 +
> - 1 file changed, 1 insertion(+)
> -
> -diff --git a/src/tools/rbd/action/Bench.cc b/src/tools/rbd/action/Bench.cc
> -index aa6edbc1..90c551c1 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>
> ---
> -2.27.0
> -
> diff --git a/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch b/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch
> index 4d54549..00c7e5b 100644
> --- a/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch
> +++ b/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch
> @@ -1,10 +1,15 @@
> -From 4712fe18405ffea31405308357a8e7fca358bcce Mon Sep 17 00:00:00 2001
> +From 2a3ccc8079040a7e783b8a9091618878e7cf0719 Mon Sep 17 00:00:00 2001
>  From: Dengke Du <dengke.du@windriver.com>
>  Date: Mon, 11 Mar 2019 09:14:09 +0800
>  Subject: [PATCH] ceph: fix build errors for cross compile
>
>  1. set the cross compile sysroot to find the rocksdb library
>  2. correct the install path for library in Distutils.cmake
> +3. remove / disable the sanity_check(), for some reasong the
> +   sanity check gets the wrong settings and will not link
> +   correctly, but the actual build works correctly, this needs
> +   more investigation later, earlier versions of the patch also
> +   removed it but no comment on why. (sgw)
>
>  Upstream-Status: Inappropriate [oe specific]
>
> @@ -14,18 +19,20 @@ Adjust context for v14.2.3
>
>  Signed-off-by: He Zhe <zhe.he@windriver.com>
>  Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
> +Signed-off-by: Saul Wold <saul.wold@windriver.com>
> +
>  ---
>   cmake/modules/Distutils.cmake      | 25 +++++--------------------
>   cmake/modules/FindRocksDB.cmake    |  4 ++--
>   src/compressor/zstd/CMakeLists.txt |  2 +-
> - src/pybind/cephfs/setup.py         |  8 --------
> - src/pybind/rados/setup.py          |  8 --------
> - src/pybind/rbd/setup.py            |  8 --------
> - src/pybind/rgw/setup.py            |  8 --------
> - 7 files changed, 8 insertions(+), 55 deletions(-)
> + src/pybind/cephfs/setup.py         | 18 +++++-------------
> + src/pybind/rados/setup.py          | 11 ++---------
> + src/pybind/rbd/setup.py            | 18 +++++-------------
> + src/pybind/rgw/setup.py            | 18 +++++-------------
> + 7 files changed, 25 insertions(+), 71 deletions(-)
>
>  diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
> -index 5fe929499d..802eb37e32 100644
> +index ff01aaf81..18656c5a5 100644
>  --- a/cmake/modules/Distutils.cmake
>  +++ b/cmake/modules/Distutils.cmake
>  @@ -18,17 +18,8 @@ function(distutils_install_module name)
> @@ -39,9 +46,9 @@ index 5fe929499d..802eb37e32 100644
>  -      list(APPEND options
>  -        --root=\$ENV{DESTDIR}
>  -        --single-version-externally-managed)
> --      if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\")
> --        list(APPEND options --install-script=${DU_INSTALL_SCRIPT})
> --      endif()
> +-    endif()
> +-    if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\")
> +-      list(APPEND options --install-script=${DU_INSTALL_SCRIPT})
>  -    endif()
>  +    list(APPEND options --root=${CMAKE_DESTDIR})
>  +    list(APPEND options --install-lib=${PYTHON_SITEPACKAGES_DIR})
> @@ -51,7 +58,7 @@ index 5fe929499d..802eb37e32 100644
>  @@ -50,7 +41,7 @@ function(distutils_add_cython_module target name src)
>     # Note: no quotes, otherwise distutils will execute "/usr/bin/ccache gcc"
>     # CMake's implicit conversion between strings and lists is wonderful, isn't it?
> -   string(REPLACE " " ";" cflags ${CMAKE_C_FLAGS})
> +   set(cflags ${COMPILE_OPTIONS})
>  -  list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w)
>  +  list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w --sysroot=${CMAKE_SYSROOT})
>     # This little bit of magic wipes out __Pyx_check_single_interpreter()
> @@ -75,7 +82,7 @@ index 5fe929499d..802eb37e32 100644
>          COMMAND
>              ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py
>  diff --git a/cmake/modules/FindRocksDB.cmake b/cmake/modules/FindRocksDB.cmake
> -index c5dd3dfaf6..be38597af2 100644
> +index c5dd3dfaf..be38597af 100644
>  --- a/cmake/modules/FindRocksDB.cmake
>  +++ b/cmake/modules/FindRocksDB.cmake
>  @@ -9,9 +9,9 @@
> @@ -91,7 +98,7 @@ index c5dd3dfaf6..be38597af2 100644
>   if(ROCKSDB_INCLUDE_DIR AND EXISTS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h")
>     foreach(ver "MAJOR" "MINOR" "PATCH")
>  diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
> -index a5ebdaf538..a234068150 100644
> +index b53b0d944..4955711a9 100644
>  --- a/src/compressor/zstd/CMakeLists.txt
>  +++ b/src/compressor/zstd/CMakeLists.txt
>  @@ -9,7 +9,7 @@ ExternalProject_Add(zstd_ext
> @@ -104,81 +111,111 @@ index a5ebdaf538..a234068150 100644
>                -G${CMAKE_GENERATOR}
>     BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzstd
>  diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py
> -index 19ae6c329a..c9a25ccfff 100755
> +index c3d40df05..24c26c3ed 100755
>  --- a/src/pybind/cephfs/setup.py
>  +++ b/src/pybind/cephfs/setup.py
> -@@ -135,14 +135,6 @@ def check_sanity():
> +@@ -137,19 +137,11 @@ def check_sanity():
>       finally:
>           shutil.rmtree(tmp_dir)
>
>  -
> --if 'BUILD_DOC' in os.environ.keys():
> --    pass
> +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
> +-    ext_args = {}
> +-    cython_constants = dict(BUILD_DOC=True)
> +-    cythonize_args = dict(compile_time_env=cython_constants)
>  -elif check_sanity():
> --    pass
> +-    ext_args = get_python_flags(['cephfs'])
> +-    cython_constants = dict(BUILD_DOC=False)
> +-    include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
> +-    cythonize_args = dict(compile_time_env=cython_constants,
> +-                          include_path=include_path)
>  -else:
>  -    sys.exit(1)
> --
> ++ext_args = get_python_flags(['cephfs'])
> ++cython_constants = dict(BUILD_DOC=False)
> ++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
> ++cythonize_args = dict(compile_time_env=cython_constants,
> ++                      include_path=include_path)
> +
>   cmdclass = {}
>   try:
> -     from Cython.Build import cythonize
>  diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py
> -index e2c5696404..4e99d26721 100755
> +index 0d1047825..cff85a063 100755
>  --- a/src/pybind/rados/setup.py
>  +++ b/src/pybind/rados/setup.py
> -@@ -134,14 +134,6 @@ def check_sanity():
> +@@ -131,15 +131,8 @@ def check_sanity():
>       finally:
>           shutil.rmtree(tmp_dir)
>
>  -
> --if 'BUILD_DOC' in os.environ.keys():
> --    pass
> +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
> +-    ext_args = {}
> +-    cython_constants = dict(BUILD_DOC=True)
>  -elif check_sanity():
> --    pass
> +-    ext_args = get_python_flags(['rados'])
> +-    cython_constants = dict(BUILD_DOC=False)
>  -else:
>  -    sys.exit(1)
> --
> ++ext_args = get_python_flags(['rados'])
> ++cython_constants = dict(BUILD_DOC=False)
> +
>   cmdclass = {}
>   try:
> -     from Cython.Build import cythonize
>  diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py
> -index 634484f140..f5bbbdab4f 100755
> +index 73ea4555f..e7f57ddb5 100755
>  --- a/src/pybind/rbd/setup.py
>  +++ b/src/pybind/rbd/setup.py
> -@@ -133,14 +133,6 @@ def check_sanity():
> +@@ -135,19 +135,11 @@ def check_sanity():
>       finally:
>           shutil.rmtree(tmp_dir)
>
>  -
> --if 'BUILD_DOC' in os.environ.keys():
> --    pass
> +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
> +-    ext_args = {}
> +-    cython_constants = dict(BUILD_DOC=True)
> +-    cythonize_args = dict(compile_time_env=cython_constants)
>  -elif check_sanity():
> --    pass
> +-    ext_args = get_python_flags(['rados', 'rbd'])
> +-    cython_constants = dict(BUILD_DOC=False)
> +-    include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
> +-    cythonize_args = dict(compile_time_env=cython_constants,
> +-                          include_path=include_path)
>  -else:
>  -    sys.exit(1)
> --
> ++ext_args = get_python_flags(['rados', 'rbd'])
> ++cython_constants = dict(BUILD_DOC=False)
> ++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
> ++cythonize_args = dict(compile_time_env=cython_constants,
> ++                      include_path=include_path)
> +
>   cmdclass = {}
>   try:
> -     from Cython.Build import cythonize
>  diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py
> -index eb1591a460..b9f2428cf9 100755
> +index 663604e8f..489c9ba1f 100755
>  --- a/src/pybind/rgw/setup.py
>  +++ b/src/pybind/rgw/setup.py
> -@@ -134,14 +134,6 @@ def check_sanity():
> +@@ -135,19 +135,11 @@ def check_sanity():
>       finally:
>           shutil.rmtree(tmp_dir)
>
>  -
> --if 'BUILD_DOC' in os.environ.keys():
> --    pass
> +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
> +-    ext_args = {}
> +-    cython_constants = dict(BUILD_DOC=True)
> +-    cythonize_args = dict(compile_time_env=cython_constants)
>  -elif check_sanity():
> --    pass
> +-    ext_args = get_python_flags(['rados', 'rgw'])
> +-    cython_constants = dict(BUILD_DOC=False)
> +-    include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
> +-    cythonize_args = dict(compile_time_env=cython_constants,
> +-                          include_path=include_path)
>  -else:
>  -    sys.exit(1)
> --
> ++ext_args = get_python_flags(['rados', 'rgw'])
> ++cython_constants = dict(BUILD_DOC=False)
> ++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
> ++cythonize_args = dict(compile_time_env=cython_constants,
> ++                      include_path=include_path)
> +
>   cmdclass = {}
>   try:
> -     from Cython.Build import cythonize
> ---
> -2.20.1
> -
> diff --git a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch b/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
> deleted file mode 100644
> index d9116c4..0000000
> --- a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -From 1060f2e4362ebd6db23870d442dcd158d219ee92 Mon Sep 17 00:00:00 2001
> -From: Yanfei Xu <yanfei.xu@windriver.com>
> -Date: Tue, 10 Nov 2020 17:17:30 +0800
> -Subject: [PATCH] cmake: add support for python3.9
> -
> -add support for python3.9.
> -
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
> ----
> - cmake/modules/FindPython/Support.cmake | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/cmake/modules/FindPython/Support.cmake b/cmake/modules/FindPython/Support.cmake
> -index 6584699b79..c05bbe3306 100644
> ---- a/cmake/modules/FindPython/Support.cmake
> -+++ b/cmake/modules/FindPython/Support.cmake
> -@@ -17,7 +17,7 @@ if (NOT DEFINED _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
> -   message (FATAL_ERROR "FindPython: INTERNAL ERROR")
> - endif()
> - if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 3)
> --  set(_${_PYTHON_PREFIX}_VERSIONS 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
> -+  set(_${_PYTHON_PREFIX}_VERSIONS 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
> - elseif (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 2)
> -   set(_${_PYTHON_PREFIX}_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
> - else()
> ---
> -2.18.2
> -
> diff --git a/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch b/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch
> index 310bfa4..1062ae7 100644
> --- a/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch
> +++ b/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch
> @@ -1,4 +1,4 @@
> -From bbf1cba8feb0e43492a1f6a6b31d024117cad262 Mon Sep 17 00:00:00 2001
> +From a7f56278dd4762c56cccd559e260e51092763cac Mon Sep 17 00:00:00 2001
>  From: Hongxu Jia <hongxu.jia@windriver.com>
>  Date: Mon, 13 Apr 2020 23:35:41 -0700
>  Subject: [PATCH] fix host library paths were used
> @@ -8,6 +8,7 @@ Test the existence of recipe-sysrooot, add it back if lost
>  Upstream-Status: Inappropriate [oe specific]
>
>  Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> +
>  ---
>   src/pybind/cephfs/setup.py | 6 +++++-
>   src/pybind/rados/setup.py  | 6 +++++-
> @@ -16,11 +17,11 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>   4 files changed, 20 insertions(+), 4 deletions(-)
>
>  diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py
> -index c9a25ccf..972f936c 100755
> +index 87cdeb473..5144c8441 100755
>  --- a/src/pybind/cephfs/setup.py
>  +++ b/src/pybind/cephfs/setup.py
> -@@ -63,9 +63,13 @@ def get_python_flags(libs):
> -                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
> +@@ -65,10 +65,14 @@ def get_python_flags(libs):
> +                filter(lambda lib: lib.startswith('-l'), py_libs)]
>       compiler = new_compiler()
>       distutils.sysconfig.customize_compiler(compiler)
>  +    libpl = distutils.sysconfig.get_config_var('LIBPL')
> @@ -29,17 +30,18 @@ index c9a25ccf..972f936c 100755
>  +        libpl = sysroot + libpl
>       return dict(
>           include_dirs=[distutils.sysconfig.get_python_inc()],
> --        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> -+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
> -         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
> +         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> +-        libraries=libs + py_libs,
> ++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
>           extra_compile_args=filter_unsupported_flags(
>               compiler.compiler[0],
> +             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
>  diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py
> -index 4e99d267..de24f766 100755
> +index feafb605d..82aff5154 100755
>  --- a/src/pybind/rados/setup.py
>  +++ b/src/pybind/rados/setup.py
> -@@ -66,9 +66,13 @@ def get_python_flags(libs):
> -                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
> +@@ -63,10 +63,14 @@ def get_python_flags(libs):
> +                filter(lambda lib: lib.startswith('-l'), py_libs)]
>       compiler = new_compiler()
>       distutils.sysconfig.customize_compiler(compiler)
>  +    libpl = distutils.sysconfig.get_config_var('LIBPL')
> @@ -48,17 +50,18 @@ index 4e99d267..de24f766 100755
>  +        libpl = sysroot + libpl
>       return dict(
>           include_dirs=[distutils.sysconfig.get_python_inc()],
> --        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> -+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
> -         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
> +         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> +-        libraries=libs + py_libs,
> ++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
>           extra_compile_args=filter_unsupported_flags(
>               compiler.compiler[0],
> +             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
>  diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py
> -index f5bbbdab..a1f70e1d 100755
> +index b9c6a78d2..4ef714f8d 100755
>  --- a/src/pybind/rbd/setup.py
>  +++ b/src/pybind/rbd/setup.py
> -@@ -63,9 +63,13 @@ def get_python_flags(libs):
> -                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
> +@@ -65,10 +65,14 @@ def get_python_flags(libs):
> +                filter(lambda lib: lib.startswith('-l'), py_libs)]
>       compiler = new_compiler()
>       distutils.sysconfig.customize_compiler(compiler)
>  +    libpl = distutils.sysconfig.get_config_var('LIBPL')
> @@ -67,17 +70,18 @@ index f5bbbdab..a1f70e1d 100755
>  +        libpl = sysroot + libpl
>       return dict(
>           include_dirs=[distutils.sysconfig.get_python_inc()],
> --        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> -+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
> -         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
> +         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> +-        libraries=libs + py_libs,
> ++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
>           extra_compile_args=filter_unsupported_flags(
>               compiler.compiler[0],
> +             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
>  diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py
> -index b9f2428c..f5119f73 100755
> +index 695038c0e..2521f0cbb 100755
>  --- a/src/pybind/rgw/setup.py
>  +++ b/src/pybind/rgw/setup.py
> -@@ -64,9 +64,13 @@ def get_python_flags(libs):
> -                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
> +@@ -65,10 +65,14 @@ def get_python_flags(libs):
> +                filter(lambda lib: lib.startswith('-l'), py_libs)]
>       compiler = new_compiler()
>       distutils.sysconfig.customize_compiler(compiler)
>  +    libpl = distutils.sysconfig.get_config_var('LIBPL')
> @@ -86,11 +90,9 @@ index b9f2428c..f5119f73 100755
>  +        libpl = sysroot + libpl
>       return dict(
>           include_dirs=[distutils.sysconfig.get_python_inc()],
> --        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> -+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
> -         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
> +         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> +-        libraries=libs + py_libs,
> ++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
>           extra_compile_args=filter_unsupported_flags(
>               compiler.compiler[0],
> ---
> -2.21.0
> -
> +             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
> diff --git a/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch b/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
> new file mode 100644
> index 0000000..2c9cd11
> --- /dev/null
> +++ b/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
> @@ -0,0 +1,31 @@
> +From ce36ce7d1c0f954d1532a759f4d7b09d87287dac Mon Sep 17 00:00:00 2001
> +From: Saul Wold <saul.wold@windriver.com>
> +Date: Thu, 22 Apr 2021 08:05:57 -0700
> +Subject: [PATCH] libcephsqlite: Add library soversion properties
> +
> +This additional properties are needed to ensure the library
> +is installed with an soversion so that when the library is
> +packaged it gets packaged corectly in the ceph package and
> +ceph-dev package as the link.
> +
> +Upstream-Status: pending
> +Signed-off-by: Saul Wold <saul.wold@windriver.com>
> +---
> + src/CMakeLists.txt | 4 ++++
> + 1 file changed, 4 insertions(+)
> +
> +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
> +index 37db48f86..8dc7bdb56 100644
> +--- a/src/CMakeLists.txt
> ++++ b/src/CMakeLists.txt
> +@@ -804,6 +804,10 @@ if(WITH_LIBCEPHSQLITE)
> +   set(cephsqlite_srcs libcephsqlite.cc SimpleRADOSStriper.cc)
> +   add_library(cephsqlite ${CEPH_SHARED} ${cephsqlite_srcs})
> +   target_link_libraries(cephsqlite PRIVATE cls_lock_client librados ceph-common SQLite3::SQLite3 ${EXTRALIBS})
> ++  set_target_properties(cephsqlite PROPERTIES
> ++    OUTPUT_NAME cephsqlite
> ++    VERSION 1.0.0
> ++    SOVERSION 1)
> +   install(TARGETS cephsqlite DESTINATION ${CMAKE_INSTALL_LIBDIR})
> + endif(WITH_LIBCEPHSQLITE)
> +
> diff --git a/recipes-extended/ceph/ceph_15.2.9.bb b/recipes-extended/ceph/ceph_16.2.1.bb
> similarity index 64%
> rename from recipes-extended/ceph/ceph_15.2.9.bb
> rename to recipes-extended/ceph/ceph_16.2.1.bb
> index 0d821f0..ec62c7b 100644
> --- a/recipes-extended/ceph/ceph_15.2.9.bb
> +++ b/recipes-extended/ceph/ceph_16.2.1.bb
> @@ -1,26 +1,80 @@
> +# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'.
> +# The following is the difference between the old and the new license text.
> +# Please update the LICENSE value if needed, and summarize the changes in
> +# the commit message via 'License-Update:' tag.
> +# (example: 'License-Update: copyright years updated.')
> +#
> +# The changes:
> +#
> +# --- COPYING
> +# +++ COPYING
> +# @@ -7,6 +7,11 @@
> +#  Copyright: (c) 2004-2010 by Sage Weil <sage@newdream.net>
> +#  License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3)
> +#
> +# +Files: cmake/modules/FindPython*
> +# +Copyright:
> +# +    Copyright 2000-2020 Kitware, Inc. and Contributors
> +# +License: BSD 3-clause
> +# +
> +#  Files: cmake/modules/FindLTTngUST.cmake
> +#  Copyright:
> +#      Copyright 2016 Kitware, Inc.
> +# @@ -31,6 +36,10 @@
> +#  Files: src/include/ceph_hash.cc
> +#  Copyright: None
> +#  License: Public domain
> +# +
> +# +Files: src/include/rados.h, except ceph_stable_mod(), which is public domain
> +# +Copyright: the authors
> +# +License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3)
> +#
> +#  Files: src/common/bloom_filter.hpp
> +#  Copyright: Copyright (C) 2000 Arash Partow <arash@partow.net>
> +# @@ -191,4 +200,17 @@
> +#
> +#  Files: src/include/function2.hpp
> +#  Copyright: 2015-2018, Denis Blank
> +# -License: Boost Software License, Version 1.0+License: Boost Software License, Version 1.0
> +# +
> +# +Files: src/include/expected.hpp
> +# +Copyright: 2017, Simon Brand
> +# +License: CC0
> +# +
> +# +Files: src/include/uses_allocator.h
> +# +Copyright: 2016, Pablo Halpern <phalpern@halpernwightsoftware.com>
> +# +License: Boost Software License, Version 1.0
> +# +
> +# +Files: src/common/async/bind_allocator.h
> +# +Copyright: 2020 Red Hat <contact@redhat.com>
> +# +           2003-2019 Christopher M. Kohlhoff <chris@kohlhoff.com>
> +# +License: Boost Software License, Version 1.0
> +#
> +#
> +
>  SUMMARY = "User space components of the Ceph file system"
>  LICENSE = "LGPLv2.1 & GPLv2 & Apache-2.0 & MIT"
>  LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 \
>                      file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> -                    file://COPYING;md5=4eb012c221c5fd4b760029a2981a6754 \
> -"
> -inherit cmake python3native python3-dir systemd
> +                    file://COPYING;md5=d140fb1fedb53047f0d0830883e7af9f \
> +                    "
> +#inherit cmake setuptools3 systemd
> +inherit cmake distutils3-base systemd
> +
>  # Disable python pybind support for ceph temporary, when corss compiling pybind,
>  # pybind mix cmake and python setup environment, would case a lot of errors.
>
> +SRC_URI[sha256sum] = "30ff943287361b4c3f0a9bf8bcd4399751b91434eec7d602ce6e93c42c741be3"
>  SRC_URI = "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \
>             file://0001-ceph-fix-build-errors-for-cross-compile.patch \
>             file://0001-fix-host-library-paths-were-used.patch \
>             file://ceph.conf \
> -           file://0001-add-missing-include-for-atomic-bool.patch \
> -           file://0001-cmake-add-support-for-python3.9.patch \
> -"
> +           file://0001-libcephsqlite-Add-library-soversion-properties.patch \
> +           "
>
> -SRC_URI[md5sum] = "5a949b91199efe130bfe2e57f200eacd"
> -SRC_URI[sha256sum] = "ea7fa2be68b3570c5c3aa02774dca27de20b6f20a8498f65e5c4ef375a209ace"
> -SRC_URI[sha1sum] = "0503649d7c7d9268cb61b03bbe839106988f87d7"
> -SRC_URI[sha384sum] = "57208c126ea8e640c3979073fd64ce58606f17b4b7ed2e005b0792bdfd51b13391af325658d0f68f961f94175d93e891"
> -SRC_URI[sha512sum] = "1f55b0a13bf06df782831d0c9d5f8617c22442ab97fb186e6ccb08183e02bf1756caf8633fa6b1cf156c3fb7b1bdff90a60a1249adfad0b9450036e2329bf8ff"
> +SRC_URI[sha1sum] = "f8cc85e4cc519d7e469a0c3c8327bd1675f0b287"
> +SRC_URI[sha384sum] = "29a75a733e5ae8039a5ad603558a9707e36b8c337419039ee97351cdbad57875fa57a365fcde29124cee72734608e245"
> +SRC_URI[sha512sum] = "aeb9a91c33221c64ea24603dc88cab346bf0abdf0d41ff85c2e1cf134130737ec1fab1246be0a2fa3af8a655ae1dabb69688855f229f54438e60cb8098175b8e"
>
>  DEPENDS = "boost bzip2 curl expat gperf-native \
>             keyutils libaio libibverbs lz4 \
> @@ -28,6 +82,7 @@ DEPENDS = "boost bzip2 curl expat gperf-native \
>             oath openldap openssl \
>             python3 python3-cython-native rabbitmq-c rocksdb snappy udev \
>             valgrind xfsprogs zlib \
> +           lua cryptsetup \
>  "
>  SYSTEMD_SERVICE_${PN} = " \
>          ceph-radosgw@.service \
> @@ -116,7 +171,7 @@ FILES_${PN} += "\
>                 ${libdir}/rados-classes/*.so.* \
>                 ${libdir}/ceph/compressor/*.so \
>                 ${libdir}/rados-classes/*.so \
> -               ${libdir}/ceph/*.so \
> +               ${libdir}/ceph/*.so \
>  "
>
>  FILES_${PN} += " \
> @@ -133,11 +188,10 @@ RDEPENDS_${PN} += "\
>                 python3-modules \
>                 python3-prettytable \
>                 ${PN}-python \
> +                gawk \
>  "
>  COMPATIBLE_HOST = "(x86_64).*"
> -PACKAGES += " \
> -       ${PN}-python \
> -"
> +PACKAGE_BEFORE_PN += "${PN}-python"
>  INSANE_SKIP_${PN}-python += "ldflags"
>  INSANE_SKIP_${PN} += "dev-so"
>  CCACHE_DISABLE = "1"
> --
> 2.25.1
>
>
> 
>


-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [meta-virtualization] [PATCH] ceph: Upgrade to 16.2.1
  2021-04-25 19:43 ` [meta-virtualization] " Bruce Ashfield
@ 2021-04-25 19:44   ` Bruce Ashfield
  2021-04-26 15:35     ` Saul Wold
  0 siblings, 1 reply; 4+ messages in thread
From: Bruce Ashfield @ 2021-04-25 19:44 UTC (permalink / raw)
  To: Saul Wold; +Cc: meta-virtualization

On Sun, Apr 25, 2021 at 3:43 PM Bruce Ashfield <bruce.ashfield@gmail.com> wrote:
>
> I had to adjust the hashes to get this to download, and once I did
> that, I had to limit the build to avoid OOM, and then ran into this:
>
> 24 -Wpessimizing-move -Wredundant-move -Wstrict-null-sentinel
> -Woverloaded-virtual -fno-new-ttp-matching -fstack-protector-strong
> -fdiagnostics-color=auto -std=c++17 -o
> CMakeFiles/rgw_common.dir/rgw_string.cc.o -c
> /opt/poky/build/tmp/work/core2-64-poky-
>
> linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.cc
>
> | In file included from
> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.cc:4:
>
> | /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.h:
> In member function 'bool ltstr_nocase::operator()(const string&, const
> string&) const':
>
> | /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.h:18:23:
> error: invalid use of incomplete type 'const string' {aka 'const class
> std::__cxx11::basic_string<char>'}
>
> |    18 |     return strcasecmp(s1.c_str(), s2.c_str()) < 0;
>
> |       |                       ^~
>
> | In file included from
> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/recipe-sysroot/usr/include/c++/10.3.0/iosfwd:39,
>
> |                  from
> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/recipe-sysroot/usr/include/c++/10.3.0/string_view:40,
>
> |                  from
> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.h:10,
>
> |                  from
> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.cc:4:
>
> | /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/recipe-sysroot/usr/include/c++/10.3.0/bits/stringfwd.h:74:11:
> note: declaration of 'std::string' {aka 'class
> std::__cxx11::basic_string<char>'}
>
> It still may be the OOM kicking in, but this looked like a legit issue.
>
> I pushed my staging branch to meta-virtualization master/ceph so you
> can have a look.

argh.  My bad, that should be "master-ceph"

Bruce

>
> Bruce
>
> On Fri, Apr 23, 2021 at 1:01 PM Saul Wold <Saul.Wold@windriver.com> wrote:
> >
> > This updates the Ceph version to 16.2.1 which required a couple
> > changes to base code via a rebased patch which also disabled the
> > sanity check due to it not working correctly, but the actual
> > compile worked.  Also added a new patch to add soversion information
> > for the new libcephsqlite library so it would be packaged correctly
> >
> > Added fixex for new python script to adjust #! from the native path
> > and moved the ceph-python package in order for it to get the correct
> > set of files before the ceph package.
> >
> > Signed-off-by: Saul Wold <saul.wold@windriver.com>
> > ---
> >  ...-add-missing-include-for-atomic-bool.patch |  25 ----
> >  ...h-fix-build-errors-for-cross-compile.patch | 125 ++++++++++++------
> >  ...0001-cmake-add-support-for-python3.9.patch |  30 -----
> >  ...001-fix-host-library-paths-were-used.patch |  58 ++++----
> >  ...ite-Add-library-soversion-properties.patch |  31 +++++
> >  .../ceph/{ceph_15.2.9.bb => ceph_16.2.1.bb}   |  84 +++++++++---
> >  6 files changed, 211 insertions(+), 142 deletions(-)
> >  delete mode 100644 recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
> >  delete mode 100644 recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
> >  create mode 100644 recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
> >  rename recipes-extended/ceph/{ceph_15.2.9.bb => ceph_16.2.1.bb} (64%)
> >
> > diff --git a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch b/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
> > deleted file mode 100644
> > index ffcbc58..0000000
> > --- a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
> > +++ /dev/null
> > @@ -1,25 +0,0 @@
> > -From 502be73be3c3645094525aa552f5e53d8782a004 Mon Sep 17 00:00:00 2001
> > -From: Sakib Sajal <sakib.sajal@windriver.com>
> > -Date: Fri, 28 Aug 2020 19:36:19 -0400
> > -Subject: [PATCH] add missing include for atomic<bool>
> > -
> > -Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
> > ----
> > - src/tools/rbd/action/Bench.cc | 1 +
> > - 1 file changed, 1 insertion(+)
> > -
> > -diff --git a/src/tools/rbd/action/Bench.cc b/src/tools/rbd/action/Bench.cc
> > -index aa6edbc1..90c551c1 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>
> > ---
> > -2.27.0
> > -
> > diff --git a/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch b/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch
> > index 4d54549..00c7e5b 100644
> > --- a/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch
> > +++ b/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch
> > @@ -1,10 +1,15 @@
> > -From 4712fe18405ffea31405308357a8e7fca358bcce Mon Sep 17 00:00:00 2001
> > +From 2a3ccc8079040a7e783b8a9091618878e7cf0719 Mon Sep 17 00:00:00 2001
> >  From: Dengke Du <dengke.du@windriver.com>
> >  Date: Mon, 11 Mar 2019 09:14:09 +0800
> >  Subject: [PATCH] ceph: fix build errors for cross compile
> >
> >  1. set the cross compile sysroot to find the rocksdb library
> >  2. correct the install path for library in Distutils.cmake
> > +3. remove / disable the sanity_check(), for some reasong the
> > +   sanity check gets the wrong settings and will not link
> > +   correctly, but the actual build works correctly, this needs
> > +   more investigation later, earlier versions of the patch also
> > +   removed it but no comment on why. (sgw)
> >
> >  Upstream-Status: Inappropriate [oe specific]
> >
> > @@ -14,18 +19,20 @@ Adjust context for v14.2.3
> >
> >  Signed-off-by: He Zhe <zhe.he@windriver.com>
> >  Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
> > +Signed-off-by: Saul Wold <saul.wold@windriver.com>
> > +
> >  ---
> >   cmake/modules/Distutils.cmake      | 25 +++++--------------------
> >   cmake/modules/FindRocksDB.cmake    |  4 ++--
> >   src/compressor/zstd/CMakeLists.txt |  2 +-
> > - src/pybind/cephfs/setup.py         |  8 --------
> > - src/pybind/rados/setup.py          |  8 --------
> > - src/pybind/rbd/setup.py            |  8 --------
> > - src/pybind/rgw/setup.py            |  8 --------
> > - 7 files changed, 8 insertions(+), 55 deletions(-)
> > + src/pybind/cephfs/setup.py         | 18 +++++-------------
> > + src/pybind/rados/setup.py          | 11 ++---------
> > + src/pybind/rbd/setup.py            | 18 +++++-------------
> > + src/pybind/rgw/setup.py            | 18 +++++-------------
> > + 7 files changed, 25 insertions(+), 71 deletions(-)
> >
> >  diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
> > -index 5fe929499d..802eb37e32 100644
> > +index ff01aaf81..18656c5a5 100644
> >  --- a/cmake/modules/Distutils.cmake
> >  +++ b/cmake/modules/Distutils.cmake
> >  @@ -18,17 +18,8 @@ function(distutils_install_module name)
> > @@ -39,9 +46,9 @@ index 5fe929499d..802eb37e32 100644
> >  -      list(APPEND options
> >  -        --root=\$ENV{DESTDIR}
> >  -        --single-version-externally-managed)
> > --      if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\")
> > --        list(APPEND options --install-script=${DU_INSTALL_SCRIPT})
> > --      endif()
> > +-    endif()
> > +-    if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\")
> > +-      list(APPEND options --install-script=${DU_INSTALL_SCRIPT})
> >  -    endif()
> >  +    list(APPEND options --root=${CMAKE_DESTDIR})
> >  +    list(APPEND options --install-lib=${PYTHON_SITEPACKAGES_DIR})
> > @@ -51,7 +58,7 @@ index 5fe929499d..802eb37e32 100644
> >  @@ -50,7 +41,7 @@ function(distutils_add_cython_module target name src)
> >     # Note: no quotes, otherwise distutils will execute "/usr/bin/ccache gcc"
> >     # CMake's implicit conversion between strings and lists is wonderful, isn't it?
> > -   string(REPLACE " " ";" cflags ${CMAKE_C_FLAGS})
> > +   set(cflags ${COMPILE_OPTIONS})
> >  -  list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w)
> >  +  list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w --sysroot=${CMAKE_SYSROOT})
> >     # This little bit of magic wipes out __Pyx_check_single_interpreter()
> > @@ -75,7 +82,7 @@ index 5fe929499d..802eb37e32 100644
> >          COMMAND
> >              ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py
> >  diff --git a/cmake/modules/FindRocksDB.cmake b/cmake/modules/FindRocksDB.cmake
> > -index c5dd3dfaf6..be38597af2 100644
> > +index c5dd3dfaf..be38597af 100644
> >  --- a/cmake/modules/FindRocksDB.cmake
> >  +++ b/cmake/modules/FindRocksDB.cmake
> >  @@ -9,9 +9,9 @@
> > @@ -91,7 +98,7 @@ index c5dd3dfaf6..be38597af2 100644
> >   if(ROCKSDB_INCLUDE_DIR AND EXISTS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h")
> >     foreach(ver "MAJOR" "MINOR" "PATCH")
> >  diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
> > -index a5ebdaf538..a234068150 100644
> > +index b53b0d944..4955711a9 100644
> >  --- a/src/compressor/zstd/CMakeLists.txt
> >  +++ b/src/compressor/zstd/CMakeLists.txt
> >  @@ -9,7 +9,7 @@ ExternalProject_Add(zstd_ext
> > @@ -104,81 +111,111 @@ index a5ebdaf538..a234068150 100644
> >                -G${CMAKE_GENERATOR}
> >     BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzstd
> >  diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py
> > -index 19ae6c329a..c9a25ccfff 100755
> > +index c3d40df05..24c26c3ed 100755
> >  --- a/src/pybind/cephfs/setup.py
> >  +++ b/src/pybind/cephfs/setup.py
> > -@@ -135,14 +135,6 @@ def check_sanity():
> > +@@ -137,19 +137,11 @@ def check_sanity():
> >       finally:
> >           shutil.rmtree(tmp_dir)
> >
> >  -
> > --if 'BUILD_DOC' in os.environ.keys():
> > --    pass
> > +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
> > +-    ext_args = {}
> > +-    cython_constants = dict(BUILD_DOC=True)
> > +-    cythonize_args = dict(compile_time_env=cython_constants)
> >  -elif check_sanity():
> > --    pass
> > +-    ext_args = get_python_flags(['cephfs'])
> > +-    cython_constants = dict(BUILD_DOC=False)
> > +-    include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
> > +-    cythonize_args = dict(compile_time_env=cython_constants,
> > +-                          include_path=include_path)
> >  -else:
> >  -    sys.exit(1)
> > --
> > ++ext_args = get_python_flags(['cephfs'])
> > ++cython_constants = dict(BUILD_DOC=False)
> > ++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
> > ++cythonize_args = dict(compile_time_env=cython_constants,
> > ++                      include_path=include_path)
> > +
> >   cmdclass = {}
> >   try:
> > -     from Cython.Build import cythonize
> >  diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py
> > -index e2c5696404..4e99d26721 100755
> > +index 0d1047825..cff85a063 100755
> >  --- a/src/pybind/rados/setup.py
> >  +++ b/src/pybind/rados/setup.py
> > -@@ -134,14 +134,6 @@ def check_sanity():
> > +@@ -131,15 +131,8 @@ def check_sanity():
> >       finally:
> >           shutil.rmtree(tmp_dir)
> >
> >  -
> > --if 'BUILD_DOC' in os.environ.keys():
> > --    pass
> > +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
> > +-    ext_args = {}
> > +-    cython_constants = dict(BUILD_DOC=True)
> >  -elif check_sanity():
> > --    pass
> > +-    ext_args = get_python_flags(['rados'])
> > +-    cython_constants = dict(BUILD_DOC=False)
> >  -else:
> >  -    sys.exit(1)
> > --
> > ++ext_args = get_python_flags(['rados'])
> > ++cython_constants = dict(BUILD_DOC=False)
> > +
> >   cmdclass = {}
> >   try:
> > -     from Cython.Build import cythonize
> >  diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py
> > -index 634484f140..f5bbbdab4f 100755
> > +index 73ea4555f..e7f57ddb5 100755
> >  --- a/src/pybind/rbd/setup.py
> >  +++ b/src/pybind/rbd/setup.py
> > -@@ -133,14 +133,6 @@ def check_sanity():
> > +@@ -135,19 +135,11 @@ def check_sanity():
> >       finally:
> >           shutil.rmtree(tmp_dir)
> >
> >  -
> > --if 'BUILD_DOC' in os.environ.keys():
> > --    pass
> > +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
> > +-    ext_args = {}
> > +-    cython_constants = dict(BUILD_DOC=True)
> > +-    cythonize_args = dict(compile_time_env=cython_constants)
> >  -elif check_sanity():
> > --    pass
> > +-    ext_args = get_python_flags(['rados', 'rbd'])
> > +-    cython_constants = dict(BUILD_DOC=False)
> > +-    include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
> > +-    cythonize_args = dict(compile_time_env=cython_constants,
> > +-                          include_path=include_path)
> >  -else:
> >  -    sys.exit(1)
> > --
> > ++ext_args = get_python_flags(['rados', 'rbd'])
> > ++cython_constants = dict(BUILD_DOC=False)
> > ++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
> > ++cythonize_args = dict(compile_time_env=cython_constants,
> > ++                      include_path=include_path)
> > +
> >   cmdclass = {}
> >   try:
> > -     from Cython.Build import cythonize
> >  diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py
> > -index eb1591a460..b9f2428cf9 100755
> > +index 663604e8f..489c9ba1f 100755
> >  --- a/src/pybind/rgw/setup.py
> >  +++ b/src/pybind/rgw/setup.py
> > -@@ -134,14 +134,6 @@ def check_sanity():
> > +@@ -135,19 +135,11 @@ def check_sanity():
> >       finally:
> >           shutil.rmtree(tmp_dir)
> >
> >  -
> > --if 'BUILD_DOC' in os.environ.keys():
> > --    pass
> > +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
> > +-    ext_args = {}
> > +-    cython_constants = dict(BUILD_DOC=True)
> > +-    cythonize_args = dict(compile_time_env=cython_constants)
> >  -elif check_sanity():
> > --    pass
> > +-    ext_args = get_python_flags(['rados', 'rgw'])
> > +-    cython_constants = dict(BUILD_DOC=False)
> > +-    include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
> > +-    cythonize_args = dict(compile_time_env=cython_constants,
> > +-                          include_path=include_path)
> >  -else:
> >  -    sys.exit(1)
> > --
> > ++ext_args = get_python_flags(['rados', 'rgw'])
> > ++cython_constants = dict(BUILD_DOC=False)
> > ++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
> > ++cythonize_args = dict(compile_time_env=cython_constants,
> > ++                      include_path=include_path)
> > +
> >   cmdclass = {}
> >   try:
> > -     from Cython.Build import cythonize
> > ---
> > -2.20.1
> > -
> > diff --git a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch b/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
> > deleted file mode 100644
> > index d9116c4..0000000
> > --- a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
> > +++ /dev/null
> > @@ -1,30 +0,0 @@
> > -From 1060f2e4362ebd6db23870d442dcd158d219ee92 Mon Sep 17 00:00:00 2001
> > -From: Yanfei Xu <yanfei.xu@windriver.com>
> > -Date: Tue, 10 Nov 2020 17:17:30 +0800
> > -Subject: [PATCH] cmake: add support for python3.9
> > -
> > -add support for python3.9.
> > -
> > -Upstream-Status: Pending
> > -
> > -Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
> > ----
> > - cmake/modules/FindPython/Support.cmake | 2 +-
> > - 1 file changed, 1 insertion(+), 1 deletion(-)
> > -
> > -diff --git a/cmake/modules/FindPython/Support.cmake b/cmake/modules/FindPython/Support.cmake
> > -index 6584699b79..c05bbe3306 100644
> > ---- a/cmake/modules/FindPython/Support.cmake
> > -+++ b/cmake/modules/FindPython/Support.cmake
> > -@@ -17,7 +17,7 @@ if (NOT DEFINED _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
> > -   message (FATAL_ERROR "FindPython: INTERNAL ERROR")
> > - endif()
> > - if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 3)
> > --  set(_${_PYTHON_PREFIX}_VERSIONS 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
> > -+  set(_${_PYTHON_PREFIX}_VERSIONS 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
> > - elseif (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 2)
> > -   set(_${_PYTHON_PREFIX}_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
> > - else()
> > ---
> > -2.18.2
> > -
> > diff --git a/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch b/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch
> > index 310bfa4..1062ae7 100644
> > --- a/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch
> > +++ b/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch
> > @@ -1,4 +1,4 @@
> > -From bbf1cba8feb0e43492a1f6a6b31d024117cad262 Mon Sep 17 00:00:00 2001
> > +From a7f56278dd4762c56cccd559e260e51092763cac Mon Sep 17 00:00:00 2001
> >  From: Hongxu Jia <hongxu.jia@windriver.com>
> >  Date: Mon, 13 Apr 2020 23:35:41 -0700
> >  Subject: [PATCH] fix host library paths were used
> > @@ -8,6 +8,7 @@ Test the existence of recipe-sysrooot, add it back if lost
> >  Upstream-Status: Inappropriate [oe specific]
> >
> >  Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> > +
> >  ---
> >   src/pybind/cephfs/setup.py | 6 +++++-
> >   src/pybind/rados/setup.py  | 6 +++++-
> > @@ -16,11 +17,11 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> >   4 files changed, 20 insertions(+), 4 deletions(-)
> >
> >  diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py
> > -index c9a25ccf..972f936c 100755
> > +index 87cdeb473..5144c8441 100755
> >  --- a/src/pybind/cephfs/setup.py
> >  +++ b/src/pybind/cephfs/setup.py
> > -@@ -63,9 +63,13 @@ def get_python_flags(libs):
> > -                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
> > +@@ -65,10 +65,14 @@ def get_python_flags(libs):
> > +                filter(lambda lib: lib.startswith('-l'), py_libs)]
> >       compiler = new_compiler()
> >       distutils.sysconfig.customize_compiler(compiler)
> >  +    libpl = distutils.sysconfig.get_config_var('LIBPL')
> > @@ -29,17 +30,18 @@ index c9a25ccf..972f936c 100755
> >  +        libpl = sysroot + libpl
> >       return dict(
> >           include_dirs=[distutils.sysconfig.get_python_inc()],
> > --        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> > -+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
> > -         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
> > +         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> > +-        libraries=libs + py_libs,
> > ++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
> >           extra_compile_args=filter_unsupported_flags(
> >               compiler.compiler[0],
> > +             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
> >  diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py
> > -index 4e99d267..de24f766 100755
> > +index feafb605d..82aff5154 100755
> >  --- a/src/pybind/rados/setup.py
> >  +++ b/src/pybind/rados/setup.py
> > -@@ -66,9 +66,13 @@ def get_python_flags(libs):
> > -                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
> > +@@ -63,10 +63,14 @@ def get_python_flags(libs):
> > +                filter(lambda lib: lib.startswith('-l'), py_libs)]
> >       compiler = new_compiler()
> >       distutils.sysconfig.customize_compiler(compiler)
> >  +    libpl = distutils.sysconfig.get_config_var('LIBPL')
> > @@ -48,17 +50,18 @@ index 4e99d267..de24f766 100755
> >  +        libpl = sysroot + libpl
> >       return dict(
> >           include_dirs=[distutils.sysconfig.get_python_inc()],
> > --        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> > -+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
> > -         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
> > +         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> > +-        libraries=libs + py_libs,
> > ++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
> >           extra_compile_args=filter_unsupported_flags(
> >               compiler.compiler[0],
> > +             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
> >  diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py
> > -index f5bbbdab..a1f70e1d 100755
> > +index b9c6a78d2..4ef714f8d 100755
> >  --- a/src/pybind/rbd/setup.py
> >  +++ b/src/pybind/rbd/setup.py
> > -@@ -63,9 +63,13 @@ def get_python_flags(libs):
> > -                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
> > +@@ -65,10 +65,14 @@ def get_python_flags(libs):
> > +                filter(lambda lib: lib.startswith('-l'), py_libs)]
> >       compiler = new_compiler()
> >       distutils.sysconfig.customize_compiler(compiler)
> >  +    libpl = distutils.sysconfig.get_config_var('LIBPL')
> > @@ -67,17 +70,18 @@ index f5bbbdab..a1f70e1d 100755
> >  +        libpl = sysroot + libpl
> >       return dict(
> >           include_dirs=[distutils.sysconfig.get_python_inc()],
> > --        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> > -+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
> > -         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
> > +         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> > +-        libraries=libs + py_libs,
> > ++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
> >           extra_compile_args=filter_unsupported_flags(
> >               compiler.compiler[0],
> > +             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
> >  diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py
> > -index b9f2428c..f5119f73 100755
> > +index 695038c0e..2521f0cbb 100755
> >  --- a/src/pybind/rgw/setup.py
> >  +++ b/src/pybind/rgw/setup.py
> > -@@ -64,9 +64,13 @@ def get_python_flags(libs):
> > -                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
> > +@@ -65,10 +65,14 @@ def get_python_flags(libs):
> > +                filter(lambda lib: lib.startswith('-l'), py_libs)]
> >       compiler = new_compiler()
> >       distutils.sysconfig.customize_compiler(compiler)
> >  +    libpl = distutils.sysconfig.get_config_var('LIBPL')
> > @@ -86,11 +90,9 @@ index b9f2428c..f5119f73 100755
> >  +        libpl = sysroot + libpl
> >       return dict(
> >           include_dirs=[distutils.sysconfig.get_python_inc()],
> > --        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> > -+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
> > -         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
> > +         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
> > +-        libraries=libs + py_libs,
> > ++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
> >           extra_compile_args=filter_unsupported_flags(
> >               compiler.compiler[0],
> > ---
> > -2.21.0
> > -
> > +             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
> > diff --git a/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch b/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
> > new file mode 100644
> > index 0000000..2c9cd11
> > --- /dev/null
> > +++ b/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
> > @@ -0,0 +1,31 @@
> > +From ce36ce7d1c0f954d1532a759f4d7b09d87287dac Mon Sep 17 00:00:00 2001
> > +From: Saul Wold <saul.wold@windriver.com>
> > +Date: Thu, 22 Apr 2021 08:05:57 -0700
> > +Subject: [PATCH] libcephsqlite: Add library soversion properties
> > +
> > +This additional properties are needed to ensure the library
> > +is installed with an soversion so that when the library is
> > +packaged it gets packaged corectly in the ceph package and
> > +ceph-dev package as the link.
> > +
> > +Upstream-Status: pending
> > +Signed-off-by: Saul Wold <saul.wold@windriver.com>
> > +---
> > + src/CMakeLists.txt | 4 ++++
> > + 1 file changed, 4 insertions(+)
> > +
> > +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
> > +index 37db48f86..8dc7bdb56 100644
> > +--- a/src/CMakeLists.txt
> > ++++ b/src/CMakeLists.txt
> > +@@ -804,6 +804,10 @@ if(WITH_LIBCEPHSQLITE)
> > +   set(cephsqlite_srcs libcephsqlite.cc SimpleRADOSStriper.cc)
> > +   add_library(cephsqlite ${CEPH_SHARED} ${cephsqlite_srcs})
> > +   target_link_libraries(cephsqlite PRIVATE cls_lock_client librados ceph-common SQLite3::SQLite3 ${EXTRALIBS})
> > ++  set_target_properties(cephsqlite PROPERTIES
> > ++    OUTPUT_NAME cephsqlite
> > ++    VERSION 1.0.0
> > ++    SOVERSION 1)
> > +   install(TARGETS cephsqlite DESTINATION ${CMAKE_INSTALL_LIBDIR})
> > + endif(WITH_LIBCEPHSQLITE)
> > +
> > diff --git a/recipes-extended/ceph/ceph_15.2.9.bb b/recipes-extended/ceph/ceph_16.2.1.bb
> > similarity index 64%
> > rename from recipes-extended/ceph/ceph_15.2.9.bb
> > rename to recipes-extended/ceph/ceph_16.2.1.bb
> > index 0d821f0..ec62c7b 100644
> > --- a/recipes-extended/ceph/ceph_15.2.9.bb
> > +++ b/recipes-extended/ceph/ceph_16.2.1.bb
> > @@ -1,26 +1,80 @@
> > +# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'.
> > +# The following is the difference between the old and the new license text.
> > +# Please update the LICENSE value if needed, and summarize the changes in
> > +# the commit message via 'License-Update:' tag.
> > +# (example: 'License-Update: copyright years updated.')
> > +#
> > +# The changes:
> > +#
> > +# --- COPYING
> > +# +++ COPYING
> > +# @@ -7,6 +7,11 @@
> > +#  Copyright: (c) 2004-2010 by Sage Weil <sage@newdream.net>
> > +#  License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3)
> > +#
> > +# +Files: cmake/modules/FindPython*
> > +# +Copyright:
> > +# +    Copyright 2000-2020 Kitware, Inc. and Contributors
> > +# +License: BSD 3-clause
> > +# +
> > +#  Files: cmake/modules/FindLTTngUST.cmake
> > +#  Copyright:
> > +#      Copyright 2016 Kitware, Inc.
> > +# @@ -31,6 +36,10 @@
> > +#  Files: src/include/ceph_hash.cc
> > +#  Copyright: None
> > +#  License: Public domain
> > +# +
> > +# +Files: src/include/rados.h, except ceph_stable_mod(), which is public domain
> > +# +Copyright: the authors
> > +# +License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3)
> > +#
> > +#  Files: src/common/bloom_filter.hpp
> > +#  Copyright: Copyright (C) 2000 Arash Partow <arash@partow.net>
> > +# @@ -191,4 +200,17 @@
> > +#
> > +#  Files: src/include/function2.hpp
> > +#  Copyright: 2015-2018, Denis Blank
> > +# -License: Boost Software License, Version 1.0+License: Boost Software License, Version 1.0
> > +# +
> > +# +Files: src/include/expected.hpp
> > +# +Copyright: 2017, Simon Brand
> > +# +License: CC0
> > +# +
> > +# +Files: src/include/uses_allocator.h
> > +# +Copyright: 2016, Pablo Halpern <phalpern@halpernwightsoftware.com>
> > +# +License: Boost Software License, Version 1.0
> > +# +
> > +# +Files: src/common/async/bind_allocator.h
> > +# +Copyright: 2020 Red Hat <contact@redhat.com>
> > +# +           2003-2019 Christopher M. Kohlhoff <chris@kohlhoff.com>
> > +# +License: Boost Software License, Version 1.0
> > +#
> > +#
> > +
> >  SUMMARY = "User space components of the Ceph file system"
> >  LICENSE = "LGPLv2.1 & GPLv2 & Apache-2.0 & MIT"
> >  LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 \
> >                      file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> > -                    file://COPYING;md5=4eb012c221c5fd4b760029a2981a6754 \
> > -"
> > -inherit cmake python3native python3-dir systemd
> > +                    file://COPYING;md5=d140fb1fedb53047f0d0830883e7af9f \
> > +                    "
> > +#inherit cmake setuptools3 systemd
> > +inherit cmake distutils3-base systemd
> > +
> >  # Disable python pybind support for ceph temporary, when corss compiling pybind,
> >  # pybind mix cmake and python setup environment, would case a lot of errors.
> >
> > +SRC_URI[sha256sum] = "30ff943287361b4c3f0a9bf8bcd4399751b91434eec7d602ce6e93c42c741be3"
> >  SRC_URI = "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \
> >             file://0001-ceph-fix-build-errors-for-cross-compile.patch \
> >             file://0001-fix-host-library-paths-were-used.patch \
> >             file://ceph.conf \
> > -           file://0001-add-missing-include-for-atomic-bool.patch \
> > -           file://0001-cmake-add-support-for-python3.9.patch \
> > -"
> > +           file://0001-libcephsqlite-Add-library-soversion-properties.patch \
> > +           "
> >
> > -SRC_URI[md5sum] = "5a949b91199efe130bfe2e57f200eacd"
> > -SRC_URI[sha256sum] = "ea7fa2be68b3570c5c3aa02774dca27de20b6f20a8498f65e5c4ef375a209ace"
> > -SRC_URI[sha1sum] = "0503649d7c7d9268cb61b03bbe839106988f87d7"
> > -SRC_URI[sha384sum] = "57208c126ea8e640c3979073fd64ce58606f17b4b7ed2e005b0792bdfd51b13391af325658d0f68f961f94175d93e891"
> > -SRC_URI[sha512sum] = "1f55b0a13bf06df782831d0c9d5f8617c22442ab97fb186e6ccb08183e02bf1756caf8633fa6b1cf156c3fb7b1bdff90a60a1249adfad0b9450036e2329bf8ff"
> > +SRC_URI[sha1sum] = "f8cc85e4cc519d7e469a0c3c8327bd1675f0b287"
> > +SRC_URI[sha384sum] = "29a75a733e5ae8039a5ad603558a9707e36b8c337419039ee97351cdbad57875fa57a365fcde29124cee72734608e245"
> > +SRC_URI[sha512sum] = "aeb9a91c33221c64ea24603dc88cab346bf0abdf0d41ff85c2e1cf134130737ec1fab1246be0a2fa3af8a655ae1dabb69688855f229f54438e60cb8098175b8e"
> >
> >  DEPENDS = "boost bzip2 curl expat gperf-native \
> >             keyutils libaio libibverbs lz4 \
> > @@ -28,6 +82,7 @@ DEPENDS = "boost bzip2 curl expat gperf-native \
> >             oath openldap openssl \
> >             python3 python3-cython-native rabbitmq-c rocksdb snappy udev \
> >             valgrind xfsprogs zlib \
> > +           lua cryptsetup \
> >  "
> >  SYSTEMD_SERVICE_${PN} = " \
> >          ceph-radosgw@.service \
> > @@ -116,7 +171,7 @@ FILES_${PN} += "\
> >                 ${libdir}/rados-classes/*.so.* \
> >                 ${libdir}/ceph/compressor/*.so \
> >                 ${libdir}/rados-classes/*.so \
> > -               ${libdir}/ceph/*.so \
> > +               ${libdir}/ceph/*.so \
> >  "
> >
> >  FILES_${PN} += " \
> > @@ -133,11 +188,10 @@ RDEPENDS_${PN} += "\
> >                 python3-modules \
> >                 python3-prettytable \
> >                 ${PN}-python \
> > +                gawk \
> >  "
> >  COMPATIBLE_HOST = "(x86_64).*"
> > -PACKAGES += " \
> > -       ${PN}-python \
> > -"
> > +PACKAGE_BEFORE_PN += "${PN}-python"
> >  INSANE_SKIP_${PN}-python += "ldflags"
> >  INSANE_SKIP_${PN} += "dev-so"
> >  CCACHE_DISABLE = "1"
> > --
> > 2.25.1
> >
> >
> > 
> >
>
>
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end
> - "Use the force Harry" - Gandalf, Star Trek II



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [meta-virtualization] [PATCH] ceph: Upgrade to 16.2.1
  2021-04-25 19:44   ` Bruce Ashfield
@ 2021-04-26 15:35     ` Saul Wold
  0 siblings, 0 replies; 4+ messages in thread
From: Saul Wold @ 2021-04-26 15:35 UTC (permalink / raw)
  To: meta-virtualization



On 4/25/21 12:44 PM, Bruce Ashfield wrote:
> On Sun, Apr 25, 2021 at 3:43 PM Bruce Ashfield <bruce.ashfield@gmail.com> wrote:
>>
>> I had to adjust the hashes to get this to download, and once I did
>> that, I had to limit the build to avoid OOM, and then ran into this:
>>
Dang, I thought I took care of that. Maybe something happened with 
Devtool, strange.

Ok, I figured out what happened, Version 2 coming, there is some other 
missing change.

>> 24 -Wpessimizing-move -Wredundant-move -Wstrict-null-sentinel
>> -Woverloaded-virtual -fno-new-ttp-matching -fstack-protector-strong
>> -fdiagnostics-color=auto -std=c++17 -o
>> CMakeFiles/rgw_common.dir/rgw_string.cc.o -c
>> /opt/poky/build/tmp/work/core2-64-poky-
>>
>> linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.cc
>>
>> | In file included from
>> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.cc:4:
>>
>> | /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.h:
>> In member function 'bool ltstr_nocase::operator()(const string&, const
>> string&) const':
>>
>> | /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.h:18:23:
>> error: invalid use of incomplete type 'const string' {aka 'const class
>> std::__cxx11::basic_string<char>'}
>>
>> |    18 |     return strcasecmp(s1.c_str(), s2.c_str()) < 0;
>>
>> |       |                       ^~
>>
>> | In file included from
>> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/recipe-sysroot/usr/include/c++/10.3.0/iosfwd:39,
>>
>> |                  from
>> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/recipe-sysroot/usr/include/c++/10.3.0/string_view:40,
>>
>> |                  from
>> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.h:10,
>>
>> |                  from
>> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.cc:4:
>>
>> | /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/recipe-sysroot/usr/include/c++/10.3.0/bits/stringfwd.h:74:11:
>> note: declaration of 'std::string' {aka 'class
>> std::__cxx11::basic_string<char>'}
>>
>> It still may be the OOM kicking in, but this looked like a legit issue.
>>
I did not see this, I will do a full cleanall rebuild with V2 before 
sending it.  V2 is rebased against your master-ceph.

Sau!

>> I pushed my staging branch to meta-virtualization master/ceph so you
>> can have a look.
> 
> argh.  My bad, that should be "master-ceph"
> 
> Bruce
> 
>>
>> Bruce
>>
>> On Fri, Apr 23, 2021 at 1:01 PM Saul Wold <Saul.Wold@windriver.com> wrote:
>>>
>>> This updates the Ceph version to 16.2.1 which required a couple
>>> changes to base code via a rebased patch which also disabled the
>>> sanity check due to it not working correctly, but the actual
>>> compile worked.  Also added a new patch to add soversion information
>>> for the new libcephsqlite library so it would be packaged correctly
>>>
>>> Added fixex for new python script to adjust #! from the native path
>>> and moved the ceph-python package in order for it to get the correct
>>> set of files before the ceph package.
>>>
>>> Signed-off-by: Saul Wold <saul.wold@windriver.com>
>>> ---
>>>   ...-add-missing-include-for-atomic-bool.patch |  25 ----
>>>   ...h-fix-build-errors-for-cross-compile.patch | 125 ++++++++++++------
>>>   ...0001-cmake-add-support-for-python3.9.patch |  30 -----
>>>   ...001-fix-host-library-paths-were-used.patch |  58 ++++----
>>>   ...ite-Add-library-soversion-properties.patch |  31 +++++
>>>   .../ceph/{ceph_15.2.9.bb => ceph_16.2.1.bb}   |  84 +++++++++---
>>>   6 files changed, 211 insertions(+), 142 deletions(-)
>>>   delete mode 100644 recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
>>>   delete mode 100644 recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
>>>   create mode 100644 recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
>>>   rename recipes-extended/ceph/{ceph_15.2.9.bb => ceph_16.2.1.bb} (64%)
>>>
>>> diff --git a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch b/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
>>> deleted file mode 100644
>>> index ffcbc58..0000000
>>> --- a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
>>> +++ /dev/null
>>> @@ -1,25 +0,0 @@
>>> -From 502be73be3c3645094525aa552f5e53d8782a004 Mon Sep 17 00:00:00 2001
>>> -From: Sakib Sajal <sakib.sajal@windriver.com>
>>> -Date: Fri, 28 Aug 2020 19:36:19 -0400
>>> -Subject: [PATCH] add missing include for atomic<bool>
>>> -
>>> -Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
>>> ----
>>> - src/tools/rbd/action/Bench.cc | 1 +
>>> - 1 file changed, 1 insertion(+)
>>> -
>>> -diff --git a/src/tools/rbd/action/Bench.cc b/src/tools/rbd/action/Bench.cc
>>> -index aa6edbc1..90c551c1 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>
>>> ---
>>> -2.27.0
>>> -
>>> diff --git a/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch b/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch
>>> index 4d54549..00c7e5b 100644
>>> --- a/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch
>>> +++ b/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch
>>> @@ -1,10 +1,15 @@
>>> -From 4712fe18405ffea31405308357a8e7fca358bcce Mon Sep 17 00:00:00 2001
>>> +From 2a3ccc8079040a7e783b8a9091618878e7cf0719 Mon Sep 17 00:00:00 2001
>>>   From: Dengke Du <dengke.du@windriver.com>
>>>   Date: Mon, 11 Mar 2019 09:14:09 +0800
>>>   Subject: [PATCH] ceph: fix build errors for cross compile
>>>
>>>   1. set the cross compile sysroot to find the rocksdb library
>>>   2. correct the install path for library in Distutils.cmake
>>> +3. remove / disable the sanity_check(), for some reasong the
>>> +   sanity check gets the wrong settings and will not link
>>> +   correctly, but the actual build works correctly, this needs
>>> +   more investigation later, earlier versions of the patch also
>>> +   removed it but no comment on why. (sgw)
>>>
>>>   Upstream-Status: Inappropriate [oe specific]
>>>
>>> @@ -14,18 +19,20 @@ Adjust context for v14.2.3
>>>
>>>   Signed-off-by: He Zhe <zhe.he@windriver.com>
>>>   Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
>>> +Signed-off-by: Saul Wold <saul.wold@windriver.com>
>>> +
>>>   ---
>>>    cmake/modules/Distutils.cmake      | 25 +++++--------------------
>>>    cmake/modules/FindRocksDB.cmake    |  4 ++--
>>>    src/compressor/zstd/CMakeLists.txt |  2 +-
>>> - src/pybind/cephfs/setup.py         |  8 --------
>>> - src/pybind/rados/setup.py          |  8 --------
>>> - src/pybind/rbd/setup.py            |  8 --------
>>> - src/pybind/rgw/setup.py            |  8 --------
>>> - 7 files changed, 8 insertions(+), 55 deletions(-)
>>> + src/pybind/cephfs/setup.py         | 18 +++++-------------
>>> + src/pybind/rados/setup.py          | 11 ++---------
>>> + src/pybind/rbd/setup.py            | 18 +++++-------------
>>> + src/pybind/rgw/setup.py            | 18 +++++-------------
>>> + 7 files changed, 25 insertions(+), 71 deletions(-)
>>>
>>>   diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
>>> -index 5fe929499d..802eb37e32 100644
>>> +index ff01aaf81..18656c5a5 100644
>>>   --- a/cmake/modules/Distutils.cmake
>>>   +++ b/cmake/modules/Distutils.cmake
>>>   @@ -18,17 +18,8 @@ function(distutils_install_module name)
>>> @@ -39,9 +46,9 @@ index 5fe929499d..802eb37e32 100644
>>>   -      list(APPEND options
>>>   -        --root=\$ENV{DESTDIR}
>>>   -        --single-version-externally-managed)
>>> --      if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\")
>>> --        list(APPEND options --install-script=${DU_INSTALL_SCRIPT})
>>> --      endif()
>>> +-    endif()
>>> +-    if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\")
>>> +-      list(APPEND options --install-script=${DU_INSTALL_SCRIPT})
>>>   -    endif()
>>>   +    list(APPEND options --root=${CMAKE_DESTDIR})
>>>   +    list(APPEND options --install-lib=${PYTHON_SITEPACKAGES_DIR})
>>> @@ -51,7 +58,7 @@ index 5fe929499d..802eb37e32 100644
>>>   @@ -50,7 +41,7 @@ function(distutils_add_cython_module target name src)
>>>      # Note: no quotes, otherwise distutils will execute "/usr/bin/ccache gcc"
>>>      # CMake's implicit conversion between strings and lists is wonderful, isn't it?
>>> -   string(REPLACE " " ";" cflags ${CMAKE_C_FLAGS})
>>> +   set(cflags ${COMPILE_OPTIONS})
>>>   -  list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w)
>>>   +  list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w --sysroot=${CMAKE_SYSROOT})
>>>      # This little bit of magic wipes out __Pyx_check_single_interpreter()
>>> @@ -75,7 +82,7 @@ index 5fe929499d..802eb37e32 100644
>>>           COMMAND
>>>               ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py
>>>   diff --git a/cmake/modules/FindRocksDB.cmake b/cmake/modules/FindRocksDB.cmake
>>> -index c5dd3dfaf6..be38597af2 100644
>>> +index c5dd3dfaf..be38597af 100644
>>>   --- a/cmake/modules/FindRocksDB.cmake
>>>   +++ b/cmake/modules/FindRocksDB.cmake
>>>   @@ -9,9 +9,9 @@
>>> @@ -91,7 +98,7 @@ index c5dd3dfaf6..be38597af2 100644
>>>    if(ROCKSDB_INCLUDE_DIR AND EXISTS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h")
>>>      foreach(ver "MAJOR" "MINOR" "PATCH")
>>>   diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
>>> -index a5ebdaf538..a234068150 100644
>>> +index b53b0d944..4955711a9 100644
>>>   --- a/src/compressor/zstd/CMakeLists.txt
>>>   +++ b/src/compressor/zstd/CMakeLists.txt
>>>   @@ -9,7 +9,7 @@ ExternalProject_Add(zstd_ext
>>> @@ -104,81 +111,111 @@ index a5ebdaf538..a234068150 100644
>>>                 -G${CMAKE_GENERATOR}
>>>      BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzstd
>>>   diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py
>>> -index 19ae6c329a..c9a25ccfff 100755
>>> +index c3d40df05..24c26c3ed 100755
>>>   --- a/src/pybind/cephfs/setup.py
>>>   +++ b/src/pybind/cephfs/setup.py
>>> -@@ -135,14 +135,6 @@ def check_sanity():
>>> +@@ -137,19 +137,11 @@ def check_sanity():
>>>        finally:
>>>            shutil.rmtree(tmp_dir)
>>>
>>>   -
>>> --if 'BUILD_DOC' in os.environ.keys():
>>> --    pass
>>> +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
>>> +-    ext_args = {}
>>> +-    cython_constants = dict(BUILD_DOC=True)
>>> +-    cythonize_args = dict(compile_time_env=cython_constants)
>>>   -elif check_sanity():
>>> --    pass
>>> +-    ext_args = get_python_flags(['cephfs'])
>>> +-    cython_constants = dict(BUILD_DOC=False)
>>> +-    include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
>>> +-    cythonize_args = dict(compile_time_env=cython_constants,
>>> +-                          include_path=include_path)
>>>   -else:
>>>   -    sys.exit(1)
>>> --
>>> ++ext_args = get_python_flags(['cephfs'])
>>> ++cython_constants = dict(BUILD_DOC=False)
>>> ++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
>>> ++cythonize_args = dict(compile_time_env=cython_constants,
>>> ++                      include_path=include_path)
>>> +
>>>    cmdclass = {}
>>>    try:
>>> -     from Cython.Build import cythonize
>>>   diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py
>>> -index e2c5696404..4e99d26721 100755
>>> +index 0d1047825..cff85a063 100755
>>>   --- a/src/pybind/rados/setup.py
>>>   +++ b/src/pybind/rados/setup.py
>>> -@@ -134,14 +134,6 @@ def check_sanity():
>>> +@@ -131,15 +131,8 @@ def check_sanity():
>>>        finally:
>>>            shutil.rmtree(tmp_dir)
>>>
>>>   -
>>> --if 'BUILD_DOC' in os.environ.keys():
>>> --    pass
>>> +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
>>> +-    ext_args = {}
>>> +-    cython_constants = dict(BUILD_DOC=True)
>>>   -elif check_sanity():
>>> --    pass
>>> +-    ext_args = get_python_flags(['rados'])
>>> +-    cython_constants = dict(BUILD_DOC=False)
>>>   -else:
>>>   -    sys.exit(1)
>>> --
>>> ++ext_args = get_python_flags(['rados'])
>>> ++cython_constants = dict(BUILD_DOC=False)
>>> +
>>>    cmdclass = {}
>>>    try:
>>> -     from Cython.Build import cythonize
>>>   diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py
>>> -index 634484f140..f5bbbdab4f 100755
>>> +index 73ea4555f..e7f57ddb5 100755
>>>   --- a/src/pybind/rbd/setup.py
>>>   +++ b/src/pybind/rbd/setup.py
>>> -@@ -133,14 +133,6 @@ def check_sanity():
>>> +@@ -135,19 +135,11 @@ def check_sanity():
>>>        finally:
>>>            shutil.rmtree(tmp_dir)
>>>
>>>   -
>>> --if 'BUILD_DOC' in os.environ.keys():
>>> --    pass
>>> +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
>>> +-    ext_args = {}
>>> +-    cython_constants = dict(BUILD_DOC=True)
>>> +-    cythonize_args = dict(compile_time_env=cython_constants)
>>>   -elif check_sanity():
>>> --    pass
>>> +-    ext_args = get_python_flags(['rados', 'rbd'])
>>> +-    cython_constants = dict(BUILD_DOC=False)
>>> +-    include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
>>> +-    cythonize_args = dict(compile_time_env=cython_constants,
>>> +-                          include_path=include_path)
>>>   -else:
>>>   -    sys.exit(1)
>>> --
>>> ++ext_args = get_python_flags(['rados', 'rbd'])
>>> ++cython_constants = dict(BUILD_DOC=False)
>>> ++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
>>> ++cythonize_args = dict(compile_time_env=cython_constants,
>>> ++                      include_path=include_path)
>>> +
>>>    cmdclass = {}
>>>    try:
>>> -     from Cython.Build import cythonize
>>>   diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py
>>> -index eb1591a460..b9f2428cf9 100755
>>> +index 663604e8f..489c9ba1f 100755
>>>   --- a/src/pybind/rgw/setup.py
>>>   +++ b/src/pybind/rgw/setup.py
>>> -@@ -134,14 +134,6 @@ def check_sanity():
>>> +@@ -135,19 +135,11 @@ def check_sanity():
>>>        finally:
>>>            shutil.rmtree(tmp_dir)
>>>
>>>   -
>>> --if 'BUILD_DOC' in os.environ.keys():
>>> --    pass
>>> +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
>>> +-    ext_args = {}
>>> +-    cython_constants = dict(BUILD_DOC=True)
>>> +-    cythonize_args = dict(compile_time_env=cython_constants)
>>>   -elif check_sanity():
>>> --    pass
>>> +-    ext_args = get_python_flags(['rados', 'rgw'])
>>> +-    cython_constants = dict(BUILD_DOC=False)
>>> +-    include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
>>> +-    cythonize_args = dict(compile_time_env=cython_constants,
>>> +-                          include_path=include_path)
>>>   -else:
>>>   -    sys.exit(1)
>>> --
>>> ++ext_args = get_python_flags(['rados', 'rgw'])
>>> ++cython_constants = dict(BUILD_DOC=False)
>>> ++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
>>> ++cythonize_args = dict(compile_time_env=cython_constants,
>>> ++                      include_path=include_path)
>>> +
>>>    cmdclass = {}
>>>    try:
>>> -     from Cython.Build import cythonize
>>> ---
>>> -2.20.1
>>> -
>>> diff --git a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch b/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
>>> deleted file mode 100644
>>> index d9116c4..0000000
>>> --- a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
>>> +++ /dev/null
>>> @@ -1,30 +0,0 @@
>>> -From 1060f2e4362ebd6db23870d442dcd158d219ee92 Mon Sep 17 00:00:00 2001
>>> -From: Yanfei Xu <yanfei.xu@windriver.com>
>>> -Date: Tue, 10 Nov 2020 17:17:30 +0800
>>> -Subject: [PATCH] cmake: add support for python3.9
>>> -
>>> -add support for python3.9.
>>> -
>>> -Upstream-Status: Pending
>>> -
>>> -Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
>>> ----
>>> - cmake/modules/FindPython/Support.cmake | 2 +-
>>> - 1 file changed, 1 insertion(+), 1 deletion(-)
>>> -
>>> -diff --git a/cmake/modules/FindPython/Support.cmake b/cmake/modules/FindPython/Support.cmake
>>> -index 6584699b79..c05bbe3306 100644
>>> ---- a/cmake/modules/FindPython/Support.cmake
>>> -+++ b/cmake/modules/FindPython/Support.cmake
>>> -@@ -17,7 +17,7 @@ if (NOT DEFINED _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
>>> -   message (FATAL_ERROR "FindPython: INTERNAL ERROR")
>>> - endif()
>>> - if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 3)
>>> --  set(_${_PYTHON_PREFIX}_VERSIONS 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
>>> -+  set(_${_PYTHON_PREFIX}_VERSIONS 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
>>> - elseif (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 2)
>>> -   set(_${_PYTHON_PREFIX}_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
>>> - else()
>>> ---
>>> -2.18.2
>>> -
>>> diff --git a/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch b/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch
>>> index 310bfa4..1062ae7 100644
>>> --- a/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch
>>> +++ b/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch
>>> @@ -1,4 +1,4 @@
>>> -From bbf1cba8feb0e43492a1f6a6b31d024117cad262 Mon Sep 17 00:00:00 2001
>>> +From a7f56278dd4762c56cccd559e260e51092763cac Mon Sep 17 00:00:00 2001
>>>   From: Hongxu Jia <hongxu.jia@windriver.com>
>>>   Date: Mon, 13 Apr 2020 23:35:41 -0700
>>>   Subject: [PATCH] fix host library paths were used
>>> @@ -8,6 +8,7 @@ Test the existence of recipe-sysrooot, add it back if lost
>>>   Upstream-Status: Inappropriate [oe specific]
>>>
>>>   Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>>> +
>>>   ---
>>>    src/pybind/cephfs/setup.py | 6 +++++-
>>>    src/pybind/rados/setup.py  | 6 +++++-
>>> @@ -16,11 +17,11 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>>>    4 files changed, 20 insertions(+), 4 deletions(-)
>>>
>>>   diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py
>>> -index c9a25ccf..972f936c 100755
>>> +index 87cdeb473..5144c8441 100755
>>>   --- a/src/pybind/cephfs/setup.py
>>>   +++ b/src/pybind/cephfs/setup.py
>>> -@@ -63,9 +63,13 @@ def get_python_flags(libs):
>>> -                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
>>> +@@ -65,10 +65,14 @@ def get_python_flags(libs):
>>> +                filter(lambda lib: lib.startswith('-l'), py_libs)]
>>>        compiler = new_compiler()
>>>        distutils.sysconfig.customize_compiler(compiler)
>>>   +    libpl = distutils.sysconfig.get_config_var('LIBPL')
>>> @@ -29,17 +30,18 @@ index c9a25ccf..972f936c 100755
>>>   +        libpl = sysroot + libpl
>>>        return dict(
>>>            include_dirs=[distutils.sysconfig.get_python_inc()],
>>> --        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
>>> -+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
>>> -         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
>>> +         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
>>> +-        libraries=libs + py_libs,
>>> ++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
>>>            extra_compile_args=filter_unsupported_flags(
>>>                compiler.compiler[0],
>>> +             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
>>>   diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py
>>> -index 4e99d267..de24f766 100755
>>> +index feafb605d..82aff5154 100755
>>>   --- a/src/pybind/rados/setup.py
>>>   +++ b/src/pybind/rados/setup.py
>>> -@@ -66,9 +66,13 @@ def get_python_flags(libs):
>>> -                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
>>> +@@ -63,10 +63,14 @@ def get_python_flags(libs):
>>> +                filter(lambda lib: lib.startswith('-l'), py_libs)]
>>>        compiler = new_compiler()
>>>        distutils.sysconfig.customize_compiler(compiler)
>>>   +    libpl = distutils.sysconfig.get_config_var('LIBPL')
>>> @@ -48,17 +50,18 @@ index 4e99d267..de24f766 100755
>>>   +        libpl = sysroot + libpl
>>>        return dict(
>>>            include_dirs=[distutils.sysconfig.get_python_inc()],
>>> --        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
>>> -+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
>>> -         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
>>> +         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
>>> +-        libraries=libs + py_libs,
>>> ++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
>>>            extra_compile_args=filter_unsupported_flags(
>>>                compiler.compiler[0],
>>> +             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
>>>   diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py
>>> -index f5bbbdab..a1f70e1d 100755
>>> +index b9c6a78d2..4ef714f8d 100755
>>>   --- a/src/pybind/rbd/setup.py
>>>   +++ b/src/pybind/rbd/setup.py
>>> -@@ -63,9 +63,13 @@ def get_python_flags(libs):
>>> -                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
>>> +@@ -65,10 +65,14 @@ def get_python_flags(libs):
>>> +                filter(lambda lib: lib.startswith('-l'), py_libs)]
>>>        compiler = new_compiler()
>>>        distutils.sysconfig.customize_compiler(compiler)
>>>   +    libpl = distutils.sysconfig.get_config_var('LIBPL')
>>> @@ -67,17 +70,18 @@ index f5bbbdab..a1f70e1d 100755
>>>   +        libpl = sysroot + libpl
>>>        return dict(
>>>            include_dirs=[distutils.sysconfig.get_python_inc()],
>>> --        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
>>> -+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
>>> -         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
>>> +         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
>>> +-        libraries=libs + py_libs,
>>> ++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
>>>            extra_compile_args=filter_unsupported_flags(
>>>                compiler.compiler[0],
>>> +             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
>>>   diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py
>>> -index b9f2428c..f5119f73 100755
>>> +index 695038c0e..2521f0cbb 100755
>>>   --- a/src/pybind/rgw/setup.py
>>>   +++ b/src/pybind/rgw/setup.py
>>> -@@ -64,9 +64,13 @@ def get_python_flags(libs):
>>> -                    distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), [])
>>> +@@ -65,10 +65,14 @@ def get_python_flags(libs):
>>> +                filter(lambda lib: lib.startswith('-l'), py_libs)]
>>>        compiler = new_compiler()
>>>        distutils.sysconfig.customize_compiler(compiler)
>>>   +    libpl = distutils.sysconfig.get_config_var('LIBPL')
>>> @@ -86,11 +90,9 @@ index b9f2428c..f5119f73 100755
>>>   +        libpl = sysroot + libpl
>>>        return dict(
>>>            include_dirs=[distutils.sysconfig.get_python_inc()],
>>> --        library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
>>> -+        library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl],
>>> -         libraries=libs + [lib.replace('-l', '') for lib in py_libs],
>>> +         library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
>>> +-        libraries=libs + py_libs,
>>> ++        libraries=libs + [lib.replace('-l', '') for lib in py_libs],
>>>            extra_compile_args=filter_unsupported_flags(
>>>                compiler.compiler[0],
>>> ---
>>> -2.21.0
>>> -
>>> +             compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
>>> diff --git a/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch b/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
>>> new file mode 100644
>>> index 0000000..2c9cd11
>>> --- /dev/null
>>> +++ b/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
>>> @@ -0,0 +1,31 @@
>>> +From ce36ce7d1c0f954d1532a759f4d7b09d87287dac Mon Sep 17 00:00:00 2001
>>> +From: Saul Wold <saul.wold@windriver.com>
>>> +Date: Thu, 22 Apr 2021 08:05:57 -0700
>>> +Subject: [PATCH] libcephsqlite: Add library soversion properties
>>> +
>>> +This additional properties are needed to ensure the library
>>> +is installed with an soversion so that when the library is
>>> +packaged it gets packaged corectly in the ceph package and
>>> +ceph-dev package as the link.
>>> +
>>> +Upstream-Status: pending
>>> +Signed-off-by: Saul Wold <saul.wold@windriver.com>
>>> +---
>>> + src/CMakeLists.txt | 4 ++++
>>> + 1 file changed, 4 insertions(+)
>>> +
>>> +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
>>> +index 37db48f86..8dc7bdb56 100644
>>> +--- a/src/CMakeLists.txt
>>> ++++ b/src/CMakeLists.txt
>>> +@@ -804,6 +804,10 @@ if(WITH_LIBCEPHSQLITE)
>>> +   set(cephsqlite_srcs libcephsqlite.cc SimpleRADOSStriper.cc)
>>> +   add_library(cephsqlite ${CEPH_SHARED} ${cephsqlite_srcs})
>>> +   target_link_libraries(cephsqlite PRIVATE cls_lock_client librados ceph-common SQLite3::SQLite3 ${EXTRALIBS})
>>> ++  set_target_properties(cephsqlite PROPERTIES
>>> ++    OUTPUT_NAME cephsqlite
>>> ++    VERSION 1.0.0
>>> ++    SOVERSION 1)
>>> +   install(TARGETS cephsqlite DESTINATION ${CMAKE_INSTALL_LIBDIR})
>>> + endif(WITH_LIBCEPHSQLITE)
>>> +
>>> diff --git a/recipes-extended/ceph/ceph_15.2.9.bb b/recipes-extended/ceph/ceph_16.2.1.bb
>>> similarity index 64%
>>> rename from recipes-extended/ceph/ceph_15.2.9.bb
>>> rename to recipes-extended/ceph/ceph_16.2.1.bb
>>> index 0d821f0..ec62c7b 100644
>>> --- a/recipes-extended/ceph/ceph_15.2.9.bb
>>> +++ b/recipes-extended/ceph/ceph_16.2.1.bb
>>> @@ -1,26 +1,80 @@
>>> +# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'.
>>> +# The following is the difference between the old and the new license text.
>>> +# Please update the LICENSE value if needed, and summarize the changes in
>>> +# the commit message via 'License-Update:' tag.
>>> +# (example: 'License-Update: copyright years updated.')
>>> +#
>>> +# The changes:
>>> +#
>>> +# --- COPYING
>>> +# +++ COPYING
>>> +# @@ -7,6 +7,11 @@
>>> +#  Copyright: (c) 2004-2010 by Sage Weil <sage@newdream.net>
>>> +#  License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3)
>>> +#
>>> +# +Files: cmake/modules/FindPython*
>>> +# +Copyright:
>>> +# +    Copyright 2000-2020 Kitware, Inc. and Contributors
>>> +# +License: BSD 3-clause
>>> +# +
>>> +#  Files: cmake/modules/FindLTTngUST.cmake
>>> +#  Copyright:
>>> +#      Copyright 2016 Kitware, Inc.
>>> +# @@ -31,6 +36,10 @@
>>> +#  Files: src/include/ceph_hash.cc
>>> +#  Copyright: None
>>> +#  License: Public domain
>>> +# +
>>> +# +Files: src/include/rados.h, except ceph_stable_mod(), which is public domain
>>> +# +Copyright: the authors
>>> +# +License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3)
>>> +#
>>> +#  Files: src/common/bloom_filter.hpp
>>> +#  Copyright: Copyright (C) 2000 Arash Partow <arash@partow.net>
>>> +# @@ -191,4 +200,17 @@
>>> +#
>>> +#  Files: src/include/function2.hpp
>>> +#  Copyright: 2015-2018, Denis Blank
>>> +# -License: Boost Software License, Version 1.0+License: Boost Software License, Version 1.0
>>> +# +
>>> +# +Files: src/include/expected.hpp
>>> +# +Copyright: 2017, Simon Brand
>>> +# +License: CC0
>>> +# +
>>> +# +Files: src/include/uses_allocator.h
>>> +# +Copyright: 2016, Pablo Halpern <phalpern@halpernwightsoftware.com>
>>> +# +License: Boost Software License, Version 1.0
>>> +# +
>>> +# +Files: src/common/async/bind_allocator.h
>>> +# +Copyright: 2020 Red Hat <contact@redhat.com>
>>> +# +           2003-2019 Christopher M. Kohlhoff <chris@kohlhoff.com>
>>> +# +License: Boost Software License, Version 1.0
>>> +#
>>> +#
>>> +
>>>   SUMMARY = "User space components of the Ceph file system"
>>>   LICENSE = "LGPLv2.1 & GPLv2 & Apache-2.0 & MIT"
>>>   LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 \
>>>                       file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
>>> -                    file://COPYING;md5=4eb012c221c5fd4b760029a2981a6754 \
>>> -"
>>> -inherit cmake python3native python3-dir systemd
>>> +                    file://COPYING;md5=d140fb1fedb53047f0d0830883e7af9f \
>>> +                    "
>>> +#inherit cmake setuptools3 systemd
>>> +inherit cmake distutils3-base systemd
>>> +
>>>   # Disable python pybind support for ceph temporary, when corss compiling pybind,
>>>   # pybind mix cmake and python setup environment, would case a lot of errors.
>>>
>>> +SRC_URI[sha256sum] = "30ff943287361b4c3f0a9bf8bcd4399751b91434eec7d602ce6e93c42c741be3"
>>>   SRC_URI = "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \
>>>              file://0001-ceph-fix-build-errors-for-cross-compile.patch \
>>>              file://0001-fix-host-library-paths-were-used.patch \
>>>              file://ceph.conf \
>>> -           file://0001-add-missing-include-for-atomic-bool.patch \
>>> -           file://0001-cmake-add-support-for-python3.9.patch \
>>> -"
>>> +           file://0001-libcephsqlite-Add-library-soversion-properties.patch \
>>> +           "
>>>
>>> -SRC_URI[md5sum] = "5a949b91199efe130bfe2e57f200eacd"
>>> -SRC_URI[sha256sum] = "ea7fa2be68b3570c5c3aa02774dca27de20b6f20a8498f65e5c4ef375a209ace"
>>> -SRC_URI[sha1sum] = "0503649d7c7d9268cb61b03bbe839106988f87d7"
>>> -SRC_URI[sha384sum] = "57208c126ea8e640c3979073fd64ce58606f17b4b7ed2e005b0792bdfd51b13391af325658d0f68f961f94175d93e891"
>>> -SRC_URI[sha512sum] = "1f55b0a13bf06df782831d0c9d5f8617c22442ab97fb186e6ccb08183e02bf1756caf8633fa6b1cf156c3fb7b1bdff90a60a1249adfad0b9450036e2329bf8ff"
>>> +SRC_URI[sha1sum] = "f8cc85e4cc519d7e469a0c3c8327bd1675f0b287"
>>> +SRC_URI[sha384sum] = "29a75a733e5ae8039a5ad603558a9707e36b8c337419039ee97351cdbad57875fa57a365fcde29124cee72734608e245"
>>> +SRC_URI[sha512sum] = "aeb9a91c33221c64ea24603dc88cab346bf0abdf0d41ff85c2e1cf134130737ec1fab1246be0a2fa3af8a655ae1dabb69688855f229f54438e60cb8098175b8e"
>>>
>>>   DEPENDS = "boost bzip2 curl expat gperf-native \
>>>              keyutils libaio libibverbs lz4 \
>>> @@ -28,6 +82,7 @@ DEPENDS = "boost bzip2 curl expat gperf-native \
>>>              oath openldap openssl \
>>>              python3 python3-cython-native rabbitmq-c rocksdb snappy udev \
>>>              valgrind xfsprogs zlib \
>>> +           lua cryptsetup \
>>>   "
>>>   SYSTEMD_SERVICE_${PN} = " \
>>>           ceph-radosgw@.service \
>>> @@ -116,7 +171,7 @@ FILES_${PN} += "\
>>>                  ${libdir}/rados-classes/*.so.* \
>>>                  ${libdir}/ceph/compressor/*.so \
>>>                  ${libdir}/rados-classes/*.so \
>>> -               ${libdir}/ceph/*.so \
>>> +               ${libdir}/ceph/*.so \
>>>   "
>>>
>>>   FILES_${PN} += " \
>>> @@ -133,11 +188,10 @@ RDEPENDS_${PN} += "\
>>>                  python3-modules \
>>>                  python3-prettytable \
>>>                  ${PN}-python \
>>> +                gawk \
>>>   "
>>>   COMPATIBLE_HOST = "(x86_64).*"
>>> -PACKAGES += " \
>>> -       ${PN}-python \
>>> -"
>>> +PACKAGE_BEFORE_PN += "${PN}-python"
>>>   INSANE_SKIP_${PN}-python += "ldflags"
>>>   INSANE_SKIP_${PN} += "dev-so"
>>>   CCACHE_DISABLE = "1"
>>> --
>>> 2.25.1
>>>
>>>
>>>
>>>
>>
>>
>> --
>> - Thou shalt not follow the NULL pointer, for chaos and madness await
>> thee at its end
>> - "Use the force Harry" - Gandalf, Star Trek II
> 
> 
> 
> 
> 
> 
> 

-- 
Sau!

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-04-26 15:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-23 17:01 [PATCH] ceph: Upgrade to 16.2.1 Saul Wold
2021-04-25 19:43 ` [meta-virtualization] " Bruce Ashfield
2021-04-25 19:44   ` Bruce Ashfield
2021-04-26 15:35     ` Saul Wold

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.