summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaul Wold <Saul.Wold@windriver.com>2021-04-23 10:01:39 -0700
committerBruce Ashfield <bruce.ashfield@gmail.com>2021-04-23 14:25:08 -0400
commitdaee285d75f483a03a5db527280f116bb40a3a43 (patch)
treea8622e537a674d8289c3879bc122ff357f4f093a
parent3adc5a7c052c25c6f66735577159ca532af0533b (diff)
downloadmeta-virtualization-daee285d75f483a03a5db527280f116bb40a3a43.tar.gz
ceph: Upgrade to 16.2.1
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> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-rw-r--r--recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch25
-rw-r--r--recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch125
-rw-r--r--recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch30
-rw-r--r--recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch58
-rw-r--r--recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch31
-rw-r--r--recipes-extended/ceph/ceph_16.2.1.bb (renamed from recipes-extended/ceph/ceph_15.2.9.bb)84
6 files changed, 211 insertions, 142 deletions
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 ffcbc583..00000000
--- a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1From 502be73be3c3645094525aa552f5e53d8782a004 Mon Sep 17 00:00:00 2001
2From: Sakib Sajal <sakib.sajal@windriver.com>
3Date: Fri, 28 Aug 2020 19:36:19 -0400
4Subject: [PATCH] add missing include for atomic<bool>
5
6Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
7---
8 src/tools/rbd/action/Bench.cc | 1 +
9 1 file changed, 1 insertion(+)
10
11diff --git a/src/tools/rbd/action/Bench.cc b/src/tools/rbd/action/Bench.cc
12index aa6edbc1..90c551c1 100644
13--- a/src/tools/rbd/action/Bench.cc
14+++ b/src/tools/rbd/action/Bench.cc
15@@ -9,6 +9,7 @@
16 #include "common/ceph_mutex.h"
17 #include "include/types.h"
18 #include "global/signal_handler.h"
19+#include <atomic>
20 #include <iostream>
21 #include <boost/accumulators/accumulators.hpp>
22 #include <boost/accumulators/statistics/stats.hpp>
23--
242.27.0
25
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 4d54549f..00c7e5b9 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 @@
1From 4712fe18405ffea31405308357a8e7fca358bcce Mon Sep 17 00:00:00 2001 1From 2a3ccc8079040a7e783b8a9091618878e7cf0719 Mon Sep 17 00:00:00 2001
2From: Dengke Du <dengke.du@windriver.com> 2From: Dengke Du <dengke.du@windriver.com>
3Date: Mon, 11 Mar 2019 09:14:09 +0800 3Date: Mon, 11 Mar 2019 09:14:09 +0800
4Subject: [PATCH] ceph: fix build errors for cross compile 4Subject: [PATCH] ceph: fix build errors for cross compile
5 5
61. set the cross compile sysroot to find the rocksdb library 61. set the cross compile sysroot to find the rocksdb library
72. correct the install path for library in Distutils.cmake 72. correct the install path for library in Distutils.cmake
83. remove / disable the sanity_check(), for some reasong the
9 sanity check gets the wrong settings and will not link
10 correctly, but the actual build works correctly, this needs
11 more investigation later, earlier versions of the patch also
12 removed it but no comment on why. (sgw)
8 13
9Upstream-Status: Inappropriate [oe specific] 14Upstream-Status: Inappropriate [oe specific]
10 15
@@ -14,18 +19,20 @@ Adjust context for v14.2.3
14 19
15Signed-off-by: He Zhe <zhe.he@windriver.com> 20Signed-off-by: He Zhe <zhe.he@windriver.com>
16Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> 21Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
22Signed-off-by: Saul Wold <saul.wold@windriver.com>
23
17--- 24---
18 cmake/modules/Distutils.cmake | 25 +++++-------------------- 25 cmake/modules/Distutils.cmake | 25 +++++--------------------
19 cmake/modules/FindRocksDB.cmake | 4 ++-- 26 cmake/modules/FindRocksDB.cmake | 4 ++--
20 src/compressor/zstd/CMakeLists.txt | 2 +- 27 src/compressor/zstd/CMakeLists.txt | 2 +-
21 src/pybind/cephfs/setup.py | 8 -------- 28 src/pybind/cephfs/setup.py | 18 +++++-------------
22 src/pybind/rados/setup.py | 8 -------- 29 src/pybind/rados/setup.py | 11 ++---------
23 src/pybind/rbd/setup.py | 8 -------- 30 src/pybind/rbd/setup.py | 18 +++++-------------
24 src/pybind/rgw/setup.py | 8 -------- 31 src/pybind/rgw/setup.py | 18 +++++-------------
25 7 files changed, 8 insertions(+), 55 deletions(-) 32 7 files changed, 25 insertions(+), 71 deletions(-)
26 33
27diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake 34diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
28index 5fe929499d..802eb37e32 100644 35index ff01aaf81..18656c5a5 100644
29--- a/cmake/modules/Distutils.cmake 36--- a/cmake/modules/Distutils.cmake
30+++ b/cmake/modules/Distutils.cmake 37+++ b/cmake/modules/Distutils.cmake
31@@ -18,17 +18,8 @@ function(distutils_install_module name) 38@@ -18,17 +18,8 @@ function(distutils_install_module name)
@@ -39,9 +46,9 @@ index 5fe929499d..802eb37e32 100644
39- list(APPEND options 46- list(APPEND options
40- --root=\$ENV{DESTDIR} 47- --root=\$ENV{DESTDIR}
41- --single-version-externally-managed) 48- --single-version-externally-managed)
42- if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\") 49- endif()
43- list(APPEND options --install-script=${DU_INSTALL_SCRIPT}) 50- if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\")
44- endif() 51- list(APPEND options --install-script=${DU_INSTALL_SCRIPT})
45- endif() 52- endif()
46+ list(APPEND options --root=${CMAKE_DESTDIR}) 53+ list(APPEND options --root=${CMAKE_DESTDIR})
47+ list(APPEND options --install-lib=${PYTHON_SITEPACKAGES_DIR}) 54+ list(APPEND options --install-lib=${PYTHON_SITEPACKAGES_DIR})
@@ -51,7 +58,7 @@ index 5fe929499d..802eb37e32 100644
51@@ -50,7 +41,7 @@ function(distutils_add_cython_module target name src) 58@@ -50,7 +41,7 @@ function(distutils_add_cython_module target name src)
52 # Note: no quotes, otherwise distutils will execute "/usr/bin/ccache gcc" 59 # Note: no quotes, otherwise distutils will execute "/usr/bin/ccache gcc"
53 # CMake's implicit conversion between strings and lists is wonderful, isn't it? 60 # CMake's implicit conversion between strings and lists is wonderful, isn't it?
54 string(REPLACE " " ";" cflags ${CMAKE_C_FLAGS}) 61 set(cflags ${COMPILE_OPTIONS})
55- list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w) 62- list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w)
56+ list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w --sysroot=${CMAKE_SYSROOT}) 63+ list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w --sysroot=${CMAKE_SYSROOT})
57 # This little bit of magic wipes out __Pyx_check_single_interpreter() 64 # This little bit of magic wipes out __Pyx_check_single_interpreter()
@@ -75,7 +82,7 @@ index 5fe929499d..802eb37e32 100644
75 COMMAND 82 COMMAND
76 ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py 83 ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py
77diff --git a/cmake/modules/FindRocksDB.cmake b/cmake/modules/FindRocksDB.cmake 84diff --git a/cmake/modules/FindRocksDB.cmake b/cmake/modules/FindRocksDB.cmake
78index c5dd3dfaf6..be38597af2 100644 85index c5dd3dfaf..be38597af 100644
79--- a/cmake/modules/FindRocksDB.cmake 86--- a/cmake/modules/FindRocksDB.cmake
80+++ b/cmake/modules/FindRocksDB.cmake 87+++ b/cmake/modules/FindRocksDB.cmake
81@@ -9,9 +9,9 @@ 88@@ -9,9 +9,9 @@
@@ -91,7 +98,7 @@ index c5dd3dfaf6..be38597af2 100644
91 if(ROCKSDB_INCLUDE_DIR AND EXISTS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h") 98 if(ROCKSDB_INCLUDE_DIR AND EXISTS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h")
92 foreach(ver "MAJOR" "MINOR" "PATCH") 99 foreach(ver "MAJOR" "MINOR" "PATCH")
93diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt 100diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt
94index a5ebdaf538..a234068150 100644 101index b53b0d944..4955711a9 100644
95--- a/src/compressor/zstd/CMakeLists.txt 102--- a/src/compressor/zstd/CMakeLists.txt
96+++ b/src/compressor/zstd/CMakeLists.txt 103+++ b/src/compressor/zstd/CMakeLists.txt
97@@ -9,7 +9,7 @@ ExternalProject_Add(zstd_ext 104@@ -9,7 +9,7 @@ ExternalProject_Add(zstd_ext
@@ -104,81 +111,111 @@ index a5ebdaf538..a234068150 100644
104 -G${CMAKE_GENERATOR} 111 -G${CMAKE_GENERATOR}
105 BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzstd 112 BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzstd
106diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py 113diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py
107index 19ae6c329a..c9a25ccfff 100755 114index c3d40df05..24c26c3ed 100755
108--- a/src/pybind/cephfs/setup.py 115--- a/src/pybind/cephfs/setup.py
109+++ b/src/pybind/cephfs/setup.py 116+++ b/src/pybind/cephfs/setup.py
110@@ -135,14 +135,6 @@ def check_sanity(): 117@@ -137,19 +137,11 @@ def check_sanity():
111 finally: 118 finally:
112 shutil.rmtree(tmp_dir) 119 shutil.rmtree(tmp_dir)
113 120
114- 121-
115-if 'BUILD_DOC' in os.environ.keys(): 122-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
116- pass 123- ext_args = {}
124- cython_constants = dict(BUILD_DOC=True)
125- cythonize_args = dict(compile_time_env=cython_constants)
117-elif check_sanity(): 126-elif check_sanity():
118- pass 127- ext_args = get_python_flags(['cephfs'])
128- cython_constants = dict(BUILD_DOC=False)
129- include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
130- cythonize_args = dict(compile_time_env=cython_constants,
131- include_path=include_path)
119-else: 132-else:
120- sys.exit(1) 133- sys.exit(1)
121- 134+ext_args = get_python_flags(['cephfs'])
135+cython_constants = dict(BUILD_DOC=False)
136+include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
137+cythonize_args = dict(compile_time_env=cython_constants,
138+ include_path=include_path)
139
122 cmdclass = {} 140 cmdclass = {}
123 try: 141 try:
124 from Cython.Build import cythonize
125diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py 142diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py
126index e2c5696404..4e99d26721 100755 143index 0d1047825..cff85a063 100755
127--- a/src/pybind/rados/setup.py 144--- a/src/pybind/rados/setup.py
128+++ b/src/pybind/rados/setup.py 145+++ b/src/pybind/rados/setup.py
129@@ -134,14 +134,6 @@ def check_sanity(): 146@@ -131,15 +131,8 @@ def check_sanity():
130 finally: 147 finally:
131 shutil.rmtree(tmp_dir) 148 shutil.rmtree(tmp_dir)
132 149
133- 150-
134-if 'BUILD_DOC' in os.environ.keys(): 151-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
135- pass 152- ext_args = {}
153- cython_constants = dict(BUILD_DOC=True)
136-elif check_sanity(): 154-elif check_sanity():
137- pass 155- ext_args = get_python_flags(['rados'])
156- cython_constants = dict(BUILD_DOC=False)
138-else: 157-else:
139- sys.exit(1) 158- sys.exit(1)
140- 159+ext_args = get_python_flags(['rados'])
160+cython_constants = dict(BUILD_DOC=False)
161
141 cmdclass = {} 162 cmdclass = {}
142 try: 163 try:
143 from Cython.Build import cythonize
144diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py 164diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py
145index 634484f140..f5bbbdab4f 100755 165index 73ea4555f..e7f57ddb5 100755
146--- a/src/pybind/rbd/setup.py 166--- a/src/pybind/rbd/setup.py
147+++ b/src/pybind/rbd/setup.py 167+++ b/src/pybind/rbd/setup.py
148@@ -133,14 +133,6 @@ def check_sanity(): 168@@ -135,19 +135,11 @@ def check_sanity():
149 finally: 169 finally:
150 shutil.rmtree(tmp_dir) 170 shutil.rmtree(tmp_dir)
151 171
152- 172-
153-if 'BUILD_DOC' in os.environ.keys(): 173-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
154- pass 174- ext_args = {}
175- cython_constants = dict(BUILD_DOC=True)
176- cythonize_args = dict(compile_time_env=cython_constants)
155-elif check_sanity(): 177-elif check_sanity():
156- pass 178- ext_args = get_python_flags(['rados', 'rbd'])
179- cython_constants = dict(BUILD_DOC=False)
180- include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
181- cythonize_args = dict(compile_time_env=cython_constants,
182- include_path=include_path)
157-else: 183-else:
158- sys.exit(1) 184- sys.exit(1)
159- 185+ext_args = get_python_flags(['rados', 'rbd'])
186+cython_constants = dict(BUILD_DOC=False)
187+include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
188+cythonize_args = dict(compile_time_env=cython_constants,
189+ include_path=include_path)
190
160 cmdclass = {} 191 cmdclass = {}
161 try: 192 try:
162 from Cython.Build import cythonize
163diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py 193diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py
164index eb1591a460..b9f2428cf9 100755 194index 663604e8f..489c9ba1f 100755
165--- a/src/pybind/rgw/setup.py 195--- a/src/pybind/rgw/setup.py
166+++ b/src/pybind/rgw/setup.py 196+++ b/src/pybind/rgw/setup.py
167@@ -134,14 +134,6 @@ def check_sanity(): 197@@ -135,19 +135,11 @@ def check_sanity():
168 finally: 198 finally:
169 shutil.rmtree(tmp_dir) 199 shutil.rmtree(tmp_dir)
170 200
171- 201-
172-if 'BUILD_DOC' in os.environ.keys(): 202-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ:
173- pass 203- ext_args = {}
204- cython_constants = dict(BUILD_DOC=True)
205- cythonize_args = dict(compile_time_env=cython_constants)
174-elif check_sanity(): 206-elif check_sanity():
175- pass 207- ext_args = get_python_flags(['rados', 'rgw'])
208- cython_constants = dict(BUILD_DOC=False)
209- include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
210- cythonize_args = dict(compile_time_env=cython_constants,
211- include_path=include_path)
176-else: 212-else:
177- sys.exit(1) 213- sys.exit(1)
178- 214+ext_args = get_python_flags(['rados', 'rgw'])
215+cython_constants = dict(BUILD_DOC=False)
216+include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")]
217+cythonize_args = dict(compile_time_env=cython_constants,
218+ include_path=include_path)
219
179 cmdclass = {} 220 cmdclass = {}
180 try: 221 try:
181 from Cython.Build import cythonize
182--
1832.20.1
184
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 d9116c4f..00000000
--- a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 1060f2e4362ebd6db23870d442dcd158d219ee92 Mon Sep 17 00:00:00 2001
2From: Yanfei Xu <yanfei.xu@windriver.com>
3Date: Tue, 10 Nov 2020 17:17:30 +0800
4Subject: [PATCH] cmake: add support for python3.9
5
6add support for python3.9.
7
8Upstream-Status: Pending
9
10Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
11---
12 cmake/modules/FindPython/Support.cmake | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/cmake/modules/FindPython/Support.cmake b/cmake/modules/FindPython/Support.cmake
16index 6584699b79..c05bbe3306 100644
17--- a/cmake/modules/FindPython/Support.cmake
18+++ b/cmake/modules/FindPython/Support.cmake
19@@ -17,7 +17,7 @@ if (NOT DEFINED _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR)
20 message (FATAL_ERROR "FindPython: INTERNAL ERROR")
21 endif()
22 if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 3)
23- set(_${_PYTHON_PREFIX}_VERSIONS 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
24+ set(_${_PYTHON_PREFIX}_VERSIONS 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
25 elseif (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 2)
26 set(_${_PYTHON_PREFIX}_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
27 else()
28--
292.18.2
30
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 310bfa47..1062ae71 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 @@
1From bbf1cba8feb0e43492a1f6a6b31d024117cad262 Mon Sep 17 00:00:00 2001 1From a7f56278dd4762c56cccd559e260e51092763cac Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com> 2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Mon, 13 Apr 2020 23:35:41 -0700 3Date: Mon, 13 Apr 2020 23:35:41 -0700
4Subject: [PATCH] fix host library paths were used 4Subject: [PATCH] fix host library paths were used
@@ -8,6 +8,7 @@ Test the existence of recipe-sysrooot, add it back if lost
8Upstream-Status: Inappropriate [oe specific] 8Upstream-Status: Inappropriate [oe specific]
9 9
10Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 10Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
11
11--- 12---
12 src/pybind/cephfs/setup.py | 6 +++++- 13 src/pybind/cephfs/setup.py | 6 +++++-
13 src/pybind/rados/setup.py | 6 +++++- 14 src/pybind/rados/setup.py | 6 +++++-
@@ -16,11 +17,11 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
16 4 files changed, 20 insertions(+), 4 deletions(-) 17 4 files changed, 20 insertions(+), 4 deletions(-)
17 18
18diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py 19diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py
19index c9a25ccf..972f936c 100755 20index 87cdeb473..5144c8441 100755
20--- a/src/pybind/cephfs/setup.py 21--- a/src/pybind/cephfs/setup.py
21+++ b/src/pybind/cephfs/setup.py 22+++ b/src/pybind/cephfs/setup.py
22@@ -63,9 +63,13 @@ def get_python_flags(libs): 23@@ -65,10 +65,14 @@ def get_python_flags(libs):
23 distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), []) 24 filter(lambda lib: lib.startswith('-l'), py_libs)]
24 compiler = new_compiler() 25 compiler = new_compiler()
25 distutils.sysconfig.customize_compiler(compiler) 26 distutils.sysconfig.customize_compiler(compiler)
26+ libpl = distutils.sysconfig.get_config_var('LIBPL') 27+ libpl = distutils.sysconfig.get_config_var('LIBPL')
@@ -29,17 +30,18 @@ index c9a25ccf..972f936c 100755
29+ libpl = sysroot + libpl 30+ libpl = sysroot + libpl
30 return dict( 31 return dict(
31 include_dirs=[distutils.sysconfig.get_python_inc()], 32 include_dirs=[distutils.sysconfig.get_python_inc()],
32- library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'), 33 library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
33+ library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl], 34- libraries=libs + py_libs,
34 libraries=libs + [lib.replace('-l', '') for lib in py_libs], 35+ libraries=libs + [lib.replace('-l', '') for lib in py_libs],
35 extra_compile_args=filter_unsupported_flags( 36 extra_compile_args=filter_unsupported_flags(
36 compiler.compiler[0], 37 compiler.compiler[0],
38 compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
37diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py 39diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py
38index 4e99d267..de24f766 100755 40index feafb605d..82aff5154 100755
39--- a/src/pybind/rados/setup.py 41--- a/src/pybind/rados/setup.py
40+++ b/src/pybind/rados/setup.py 42+++ b/src/pybind/rados/setup.py
41@@ -66,9 +66,13 @@ def get_python_flags(libs): 43@@ -63,10 +63,14 @@ def get_python_flags(libs):
42 distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), []) 44 filter(lambda lib: lib.startswith('-l'), py_libs)]
43 compiler = new_compiler() 45 compiler = new_compiler()
44 distutils.sysconfig.customize_compiler(compiler) 46 distutils.sysconfig.customize_compiler(compiler)
45+ libpl = distutils.sysconfig.get_config_var('LIBPL') 47+ libpl = distutils.sysconfig.get_config_var('LIBPL')
@@ -48,17 +50,18 @@ index 4e99d267..de24f766 100755
48+ libpl = sysroot + libpl 50+ libpl = sysroot + libpl
49 return dict( 51 return dict(
50 include_dirs=[distutils.sysconfig.get_python_inc()], 52 include_dirs=[distutils.sysconfig.get_python_inc()],
51- library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'), 53 library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
52+ library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl], 54- libraries=libs + py_libs,
53 libraries=libs + [lib.replace('-l', '') for lib in py_libs], 55+ libraries=libs + [lib.replace('-l', '') for lib in py_libs],
54 extra_compile_args=filter_unsupported_flags( 56 extra_compile_args=filter_unsupported_flags(
55 compiler.compiler[0], 57 compiler.compiler[0],
58 compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
56diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py 59diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py
57index f5bbbdab..a1f70e1d 100755 60index b9c6a78d2..4ef714f8d 100755
58--- a/src/pybind/rbd/setup.py 61--- a/src/pybind/rbd/setup.py
59+++ b/src/pybind/rbd/setup.py 62+++ b/src/pybind/rbd/setup.py
60@@ -63,9 +63,13 @@ def get_python_flags(libs): 63@@ -65,10 +65,14 @@ def get_python_flags(libs):
61 distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), []) 64 filter(lambda lib: lib.startswith('-l'), py_libs)]
62 compiler = new_compiler() 65 compiler = new_compiler()
63 distutils.sysconfig.customize_compiler(compiler) 66 distutils.sysconfig.customize_compiler(compiler)
64+ libpl = distutils.sysconfig.get_config_var('LIBPL') 67+ libpl = distutils.sysconfig.get_config_var('LIBPL')
@@ -67,17 +70,18 @@ index f5bbbdab..a1f70e1d 100755
67+ libpl = sysroot + libpl 70+ libpl = sysroot + libpl
68 return dict( 71 return dict(
69 include_dirs=[distutils.sysconfig.get_python_inc()], 72 include_dirs=[distutils.sysconfig.get_python_inc()],
70- library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'), 73 library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
71+ library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl], 74- libraries=libs + py_libs,
72 libraries=libs + [lib.replace('-l', '') for lib in py_libs], 75+ libraries=libs + [lib.replace('-l', '') for lib in py_libs],
73 extra_compile_args=filter_unsupported_flags( 76 extra_compile_args=filter_unsupported_flags(
74 compiler.compiler[0], 77 compiler.compiler[0],
78 compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
75diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py 79diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py
76index b9f2428c..f5119f73 100755 80index 695038c0e..2521f0cbb 100755
77--- a/src/pybind/rgw/setup.py 81--- a/src/pybind/rgw/setup.py
78+++ b/src/pybind/rgw/setup.py 82+++ b/src/pybind/rgw/setup.py
79@@ -64,9 +64,13 @@ def get_python_flags(libs): 83@@ -65,10 +65,14 @@ def get_python_flags(libs):
80 distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), []) 84 filter(lambda lib: lib.startswith('-l'), py_libs)]
81 compiler = new_compiler() 85 compiler = new_compiler()
82 distutils.sysconfig.customize_compiler(compiler) 86 distutils.sysconfig.customize_compiler(compiler)
83+ libpl = distutils.sysconfig.get_config_var('LIBPL') 87+ libpl = distutils.sysconfig.get_config_var('LIBPL')
@@ -86,11 +90,9 @@ index b9f2428c..f5119f73 100755
86+ libpl = sysroot + libpl 90+ libpl = sysroot + libpl
87 return dict( 91 return dict(
88 include_dirs=[distutils.sysconfig.get_python_inc()], 92 include_dirs=[distutils.sysconfig.get_python_inc()],
89- library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'), 93 library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'),
90+ library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl], 94- libraries=libs + py_libs,
91 libraries=libs + [lib.replace('-l', '') for lib in py_libs], 95+ libraries=libs + [lib.replace('-l', '') for lib in py_libs],
92 extra_compile_args=filter_unsupported_flags( 96 extra_compile_args=filter_unsupported_flags(
93 compiler.compiler[0], 97 compiler.compiler[0],
94-- 98 compiler.compiler[1:] + distutils.sysconfig.get_config_var('CFLAGS').split()),
952.21.0
96
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 00000000..2c9cd114
--- /dev/null
+++ b/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch
@@ -0,0 +1,31 @@
1From ce36ce7d1c0f954d1532a759f4d7b09d87287dac Mon Sep 17 00:00:00 2001
2From: Saul Wold <saul.wold@windriver.com>
3Date: Thu, 22 Apr 2021 08:05:57 -0700
4Subject: [PATCH] libcephsqlite: Add library soversion properties
5
6This additional properties are needed to ensure the library
7is installed with an soversion so that when the library is
8packaged it gets packaged corectly in the ceph package and
9ceph-dev package as the link.
10
11Upstream-Status: pending
12Signed-off-by: Saul Wold <saul.wold@windriver.com>
13---
14 src/CMakeLists.txt | 4 ++++
15 1 file changed, 4 insertions(+)
16
17diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
18index 37db48f86..8dc7bdb56 100644
19--- a/src/CMakeLists.txt
20+++ b/src/CMakeLists.txt
21@@ -804,6 +804,10 @@ if(WITH_LIBCEPHSQLITE)
22 set(cephsqlite_srcs libcephsqlite.cc SimpleRADOSStriper.cc)
23 add_library(cephsqlite ${CEPH_SHARED} ${cephsqlite_srcs})
24 target_link_libraries(cephsqlite PRIVATE cls_lock_client librados ceph-common SQLite3::SQLite3 ${EXTRALIBS})
25+ set_target_properties(cephsqlite PROPERTIES
26+ OUTPUT_NAME cephsqlite
27+ VERSION 1.0.0
28+ SOVERSION 1)
29 install(TARGETS cephsqlite DESTINATION ${CMAKE_INSTALL_LIBDIR})
30 endif(WITH_LIBCEPHSQLITE)
31
diff --git a/recipes-extended/ceph/ceph_15.2.9.bb b/recipes-extended/ceph/ceph_16.2.1.bb
index 0d821f0b..ec62c7b2 100644
--- a/recipes-extended/ceph/ceph_15.2.9.bb
+++ b/recipes-extended/ceph/ceph_16.2.1.bb
@@ -1,26 +1,80 @@
1# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'.
2# The following is the difference between the old and the new license text.
3# Please update the LICENSE value if needed, and summarize the changes in
4# the commit message via 'License-Update:' tag.
5# (example: 'License-Update: copyright years updated.')
6#
7# The changes:
8#
9# --- COPYING
10# +++ COPYING
11# @@ -7,6 +7,11 @@
12# Copyright: (c) 2004-2010 by Sage Weil <sage@newdream.net>
13# License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3)
14#
15# +Files: cmake/modules/FindPython*
16# +Copyright:
17# + Copyright 2000-2020 Kitware, Inc. and Contributors
18# +License: BSD 3-clause
19# +
20# Files: cmake/modules/FindLTTngUST.cmake
21# Copyright:
22# Copyright 2016 Kitware, Inc.
23# @@ -31,6 +36,10 @@
24# Files: src/include/ceph_hash.cc
25# Copyright: None
26# License: Public domain
27# +
28# +Files: src/include/rados.h, except ceph_stable_mod(), which is public domain
29# +Copyright: the authors
30# +License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3)
31#
32# Files: src/common/bloom_filter.hpp
33# Copyright: Copyright (C) 2000 Arash Partow <arash@partow.net>
34# @@ -191,4 +200,17 @@
35#
36# Files: src/include/function2.hpp
37# Copyright: 2015-2018, Denis Blank
38# -License: Boost Software License, Version 1.0+License: Boost Software License, Version 1.0
39# +
40# +Files: src/include/expected.hpp
41# +Copyright: 2017, Simon Brand
42# +License: CC0
43# +
44# +Files: src/include/uses_allocator.h
45# +Copyright: 2016, Pablo Halpern <phalpern@halpernwightsoftware.com>
46# +License: Boost Software License, Version 1.0
47# +
48# +Files: src/common/async/bind_allocator.h
49# +Copyright: 2020 Red Hat <contact@redhat.com>
50# + 2003-2019 Christopher M. Kohlhoff <chris@kohlhoff.com>
51# +License: Boost Software License, Version 1.0
52#
53#
54
1SUMMARY = "User space components of the Ceph file system" 55SUMMARY = "User space components of the Ceph file system"
2LICENSE = "LGPLv2.1 & GPLv2 & Apache-2.0 & MIT" 56LICENSE = "LGPLv2.1 & GPLv2 & Apache-2.0 & MIT"
3LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 \ 57LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 \
4 file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 58 file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
5 file://COPYING;md5=4eb012c221c5fd4b760029a2981a6754 \ 59 file://COPYING;md5=d140fb1fedb53047f0d0830883e7af9f \
6" 60 "
7inherit cmake python3native python3-dir systemd 61#inherit cmake setuptools3 systemd
62inherit cmake distutils3-base systemd
63
8# Disable python pybind support for ceph temporary, when corss compiling pybind, 64# Disable python pybind support for ceph temporary, when corss compiling pybind,
9# pybind mix cmake and python setup environment, would case a lot of errors. 65# pybind mix cmake and python setup environment, would case a lot of errors.
10 66
67SRC_URI[sha256sum] = "30ff943287361b4c3f0a9bf8bcd4399751b91434eec7d602ce6e93c42c741be3"
11SRC_URI = "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \ 68SRC_URI = "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \
12 file://0001-ceph-fix-build-errors-for-cross-compile.patch \ 69 file://0001-ceph-fix-build-errors-for-cross-compile.patch \
13 file://0001-fix-host-library-paths-were-used.patch \ 70 file://0001-fix-host-library-paths-were-used.patch \
14 file://ceph.conf \ 71 file://ceph.conf \
15 file://0001-add-missing-include-for-atomic-bool.patch \ 72 file://0001-libcephsqlite-Add-library-soversion-properties.patch \
16 file://0001-cmake-add-support-for-python3.9.patch \ 73 "
17"
18 74
19SRC_URI[md5sum] = "5a949b91199efe130bfe2e57f200eacd" 75SRC_URI[sha1sum] = "f8cc85e4cc519d7e469a0c3c8327bd1675f0b287"
20SRC_URI[sha256sum] = "ea7fa2be68b3570c5c3aa02774dca27de20b6f20a8498f65e5c4ef375a209ace" 76SRC_URI[sha384sum] = "29a75a733e5ae8039a5ad603558a9707e36b8c337419039ee97351cdbad57875fa57a365fcde29124cee72734608e245"
21SRC_URI[sha1sum] = "0503649d7c7d9268cb61b03bbe839106988f87d7" 77SRC_URI[sha512sum] = "aeb9a91c33221c64ea24603dc88cab346bf0abdf0d41ff85c2e1cf134130737ec1fab1246be0a2fa3af8a655ae1dabb69688855f229f54438e60cb8098175b8e"
22SRC_URI[sha384sum] = "57208c126ea8e640c3979073fd64ce58606f17b4b7ed2e005b0792bdfd51b13391af325658d0f68f961f94175d93e891"
23SRC_URI[sha512sum] = "1f55b0a13bf06df782831d0c9d5f8617c22442ab97fb186e6ccb08183e02bf1756caf8633fa6b1cf156c3fb7b1bdff90a60a1249adfad0b9450036e2329bf8ff"
24 78
25DEPENDS = "boost bzip2 curl expat gperf-native \ 79DEPENDS = "boost bzip2 curl expat gperf-native \
26 keyutils libaio libibverbs lz4 \ 80 keyutils libaio libibverbs lz4 \
@@ -28,6 +82,7 @@ DEPENDS = "boost bzip2 curl expat gperf-native \
28 oath openldap openssl \ 82 oath openldap openssl \
29 python3 python3-cython-native rabbitmq-c rocksdb snappy udev \ 83 python3 python3-cython-native rabbitmq-c rocksdb snappy udev \
30 valgrind xfsprogs zlib \ 84 valgrind xfsprogs zlib \
85 lua cryptsetup \
31" 86"
32SYSTEMD_SERVICE_${PN} = " \ 87SYSTEMD_SERVICE_${PN} = " \
33 ceph-radosgw@.service \ 88 ceph-radosgw@.service \
@@ -116,7 +171,7 @@ FILES_${PN} += "\
116 ${libdir}/rados-classes/*.so.* \ 171 ${libdir}/rados-classes/*.so.* \
117 ${libdir}/ceph/compressor/*.so \ 172 ${libdir}/ceph/compressor/*.so \
118 ${libdir}/rados-classes/*.so \ 173 ${libdir}/rados-classes/*.so \
119 ${libdir}/ceph/*.so \ 174 ${libdir}/ceph/*.so \
120" 175"
121 176
122FILES_${PN} += " \ 177FILES_${PN} += " \
@@ -133,11 +188,10 @@ RDEPENDS_${PN} += "\
133 python3-modules \ 188 python3-modules \
134 python3-prettytable \ 189 python3-prettytable \
135 ${PN}-python \ 190 ${PN}-python \
191 gawk \
136" 192"
137COMPATIBLE_HOST = "(x86_64).*" 193COMPATIBLE_HOST = "(x86_64).*"
138PACKAGES += " \ 194PACKAGE_BEFORE_PN += "${PN}-python"
139 ${PN}-python \
140"
141INSANE_SKIP_${PN}-python += "ldflags" 195INSANE_SKIP_${PN}-python += "ldflags"
142INSANE_SKIP_${PN} += "dev-so" 196INSANE_SKIP_${PN} += "dev-so"
143CCACHE_DISABLE = "1" 197CCACHE_DISABLE = "1"