diff options
Diffstat (limited to 'recipes-extended/ceph/ceph_18.2.0.bb')
-rw-r--r-- | recipes-extended/ceph/ceph_18.2.0.bb | 79 |
1 files changed, 42 insertions, 37 deletions
diff --git a/recipes-extended/ceph/ceph_18.2.0.bb b/recipes-extended/ceph/ceph_18.2.0.bb index 35188106..3dd75a51 100644 --- a/recipes-extended/ceph/ceph_18.2.0.bb +++ b/recipes-extended/ceph/ceph_18.2.0.bb | |||
@@ -4,15 +4,16 @@ LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 | |||
4 | file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | 4 | file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ |
5 | file://COPYING;md5=5351120989d78252e65dc1a2a92e3617 \ | 5 | file://COPYING;md5=5351120989d78252e65dc1a2a92e3617 \ |
6 | " | 6 | " |
7 | inherit cmake pkgconfig python3native python3-dir systemd | 7 | inherit cmake pkgconfig python3native python3-dir systemd useradd |
8 | # Disable python pybind support for ceph temporary, when corss compiling pybind, | 8 | # 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. | 9 | # pybind mix cmake and python setup environment, would case a lot of errors. |
10 | 10 | ||
11 | SRC_URI = "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \ | 11 | SRC_URI = "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \ |
12 | file://0001-ceph-fix-build-errors-for-cross-compile.patch \ | ||
13 | file://0001-fix-host-library-paths-were-used.patch \ | 12 | file://0001-fix-host-library-paths-were-used.patch \ |
14 | file://ceph.conf \ | 13 | file://ceph.conf \ |
15 | file://0001-cmake-add-support-for-python3.11.patch \ | 14 | file://0001-avoid-to_string-error.patch \ |
15 | file://0001-delete-install-layout-deb.patch \ | ||
16 | file://0001-cephadm-build.py-avoid-using-python3-from-sysroot-wh.patch \ | ||
16 | " | 17 | " |
17 | 18 | ||
18 | SRC_URI[sha256sum] = "495b63e1146c604018ae0cb29bf769b5d6235e3c95849c43513baf12bba1364d" | 19 | SRC_URI[sha256sum] = "495b63e1146c604018ae0cb29bf769b5d6235e3c95849c43513baf12bba1364d" |
@@ -23,8 +24,16 @@ DEPENDS = "boost bzip2 curl cryptsetup expat gperf-native \ | |||
23 | oath openldap openssl \ | 24 | oath openldap openssl \ |
24 | python3 python3-native python3-cython-native python3-pyyaml-native \ | 25 | python3 python3-native python3-cython-native python3-pyyaml-native \ |
25 | rabbitmq-c rocksdb snappy thrift udev \ | 26 | rabbitmq-c rocksdb snappy thrift udev \ |
26 | valgrind xfsprogs zlib libgcc \ | 27 | valgrind xfsprogs zlib libgcc zstd re2 \ |
27 | " | 28 | " |
29 | |||
30 | |||
31 | OECMAKE_C_COMPILER = "${@oecmake_map_compiler('CC', d)[0]} --sysroot=${RECIPE_SYSROOT}" | ||
32 | OECMAKE_CXX_COMPILER = "${@oecmake_map_compiler('CXX', d)[0]} --sysroot=${RECIPE_SYSROOT}" | ||
33 | |||
34 | USERADD_PACKAGES = "${PN}" | ||
35 | USERADD_PARAM:${PN} = "--system --user-group --home-dir /var/lib/ceph --shell /sbin/nologin ceph" | ||
36 | |||
28 | SYSTEMD_SERVICE:${PN} = " \ | 37 | SYSTEMD_SERVICE:${PN} = " \ |
29 | ceph-radosgw@.service \ | 38 | ceph-radosgw@.service \ |
30 | ceph-radosgw.target \ | 39 | ceph-radosgw.target \ |
@@ -34,6 +43,8 @@ SYSTEMD_SERVICE:${PN} = " \ | |||
34 | ceph-mds.target \ | 43 | ceph-mds.target \ |
35 | ceph-osd@.service \ | 44 | ceph-osd@.service \ |
36 | ceph-osd.target \ | 45 | ceph-osd.target \ |
46 | cephfs-mirror@.service \ | ||
47 | cephfs-mirror.target \ | ||
37 | ceph.target \ | 48 | ceph.target \ |
38 | ceph-rbd-mirror@.service \ | 49 | ceph-rbd-mirror@.service \ |
39 | ceph-rbd-mirror.target \ | 50 | ceph-rbd-mirror.target \ |
@@ -45,15 +56,18 @@ SYSTEMD_SERVICE:${PN} = " \ | |||
45 | ceph-immutable-object-cache@.service \ | 56 | ceph-immutable-object-cache@.service \ |
46 | ceph-immutable-object-cache.target \ | 57 | ceph-immutable-object-cache.target \ |
47 | " | 58 | " |
48 | OECMAKE_GENERATOR = "Unix Makefiles" | ||
49 | 59 | ||
50 | EXTRA_OECMAKE = "-DWITH_MANPAGE=OFF \ | 60 | EXTRA_OECMAKE += "-DWITH_MANPAGE=OFF \ |
61 | -DWITH_JAEGER=OFF \ | ||
62 | -DWITH_SYSTEM_ZSTD=ON \ | ||
51 | -DWITH_FUSE=OFF \ | 63 | -DWITH_FUSE=OFF \ |
52 | -DWITH_SPDK=OFF \ | 64 | -DWITH_SPDK=OFF \ |
53 | -DWITH_LEVELDB=OFF \ | 65 | -DWITH_LEVELDB=OFF \ |
54 | -DWITH_LTTNG=OFF \ | 66 | -DWITH_LTTNG=OFF \ |
55 | -DWITH_BABELTRACE=OFF \ | 67 | -DWITH_BABELTRACE=OFF \ |
56 | -DWITH_TESTS=OFF \ | 68 | -DWITH_TESTS=OFF \ |
69 | -DWITH_RADOSGW_SELECT_PARQUET=OFF \ | ||
70 | -DWITH_RADOSGW_ARROW_FLIGHT=OFF \ | ||
57 | -DWITH_MGR=OFF \ | 71 | -DWITH_MGR=OFF \ |
58 | -DWITH_MGR_DASHBOARD_FRONTEND=OFF \ | 72 | -DWITH_MGR_DASHBOARD_FRONTEND=OFF \ |
59 | -DWITH_SYSTEM_BOOST=ON \ | 73 | -DWITH_SYSTEM_BOOST=ON \ |
@@ -67,34 +81,6 @@ EXTRA_OECMAKE = "-DWITH_MANPAGE=OFF \ | |||
67 | -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${WORKDIR}/toolchain.cmake \ | 81 | -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${WORKDIR}/toolchain.cmake \ |
68 | " | 82 | " |
69 | 83 | ||
70 | EXTRA_OECMAKE += "-DThrift_INCLUDE_DIR:PATH=${STAGING_INCDIR} \ | ||
71 | -DThrift_LIBRARIES:PATH=${STAGING_LIBDIR} \ | ||
72 | " | ||
73 | |||
74 | # retired options: | ||
75 | # -DPython3_VERSION=${PYTHON_BASEVERSION} | ||
76 | # -DPython3_USE_STATIC_LIBS=FALSE | ||
77 | # -DPython3_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR} | ||
78 | # -DPython3_LIBRARY:PATH=${PYTHON_LIBRARY} | ||
79 | # -DPython3_ROOT_DIR:PATH=${PYTHON_SITEPACKAGES_DIR} | ||
80 | # -DPython3_EXECUTABLE:PATH="${PYTHON}" | ||
81 | |||
82 | CXXFLAGS += "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}" | ||
83 | CFLAGS += "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}" | ||
84 | |||
85 | export STAGING_DIR_HOST | ||
86 | |||
87 | do_compile:prepend() { | ||
88 | cmake_runcmake_build --target legacy-option-headers | ||
89 | } | ||
90 | |||
91 | # do_compile() { | ||
92 | # ninja -v ${PARALLEL_MAKE} | ||
93 | # } | ||
94 | do_compile() { | ||
95 | cmake_runcmake_build --target all | ||
96 | } | ||
97 | |||
98 | do_configure:prepend () { | 84 | do_configure:prepend () { |
99 | echo "set( CMAKE_SYSROOT \"${RECIPE_SYSROOT}\" )" >> ${WORKDIR}/toolchain.cmake | 85 | echo "set( CMAKE_SYSROOT \"${RECIPE_SYSROOT}\" )" >> ${WORKDIR}/toolchain.cmake |
100 | echo "set( CMAKE_DESTDIR \"${D}\" )" >> ${WORKDIR}/toolchain.cmake | 86 | echo "set( CMAKE_DESTDIR \"${D}\" )" >> ${WORKDIR}/toolchain.cmake |
@@ -104,16 +90,24 @@ do_configure:prepend () { | |||
104 | echo "set( CMAKE_C_COMPILER_FORCED TRUE )" >> ${WORKDIR}/toolchain.cmake | 90 | echo "set( CMAKE_C_COMPILER_FORCED TRUE )" >> ${WORKDIR}/toolchain.cmake |
105 | } | 91 | } |
106 | 92 | ||
93 | do_compile:prepend() { | ||
94 | export BUILD_DOC=1 | ||
95 | } | ||
96 | |||
97 | do_install:prepend() { | ||
98 | export BUILD_DOC=1 | ||
99 | } | ||
100 | |||
107 | do_install:append () { | 101 | do_install:append () { |
108 | sed -i -e 's:^#!/usr/bin/python$:&3:' \ | 102 | sed -i -e 's:^#!/usr/bin/python$:&3:' \ |
109 | -e 's:${WORKDIR}.*python3:${bindir}/python3:' \ | 103 | -e 's:${WORKDIR}.*python3:${bindir}/python3:' \ |
110 | ${D}${bindir}/ceph ${D}${bindir}/ceph-crash \ | 104 | ${D}${bindir}/ceph ${D}${bindir}/ceph-crash \ |
111 | ${D}${bindir}/ceph-volume ${D}${bindir}/ceph-volume-systemd | 105 | ${D}${bindir}/cephfs-top \ |
106 | ${D}${sbindir}/ceph-volume ${D}${sbindir}/ceph-volume-systemd | ||
112 | find ${D} -name SOURCES.txt | xargs sed -i -e 's:${WORKDIR}::' | 107 | find ${D} -name SOURCES.txt | xargs sed -i -e 's:${WORKDIR}::' |
113 | install -d ${D}${sysconfdir}/ceph | 108 | install -d ${D}${sysconfdir}/ceph |
114 | install -m 644 ${WORKDIR}/ceph.conf ${D}${sysconfdir}/ceph/ | 109 | install -m 644 ${WORKDIR}/ceph.conf ${D}${sysconfdir}/ceph/ |
115 | install -d ${D}${systemd_unitdir} | 110 | install -d ${D}${systemd_unitdir} |
116 | mv ${D}${libexecdir}/systemd/system ${D}${systemd_unitdir} | ||
117 | mv ${D}${libexecdir}/ceph/ceph-osd-prestart.sh ${D}${libdir}/ceph | 111 | mv ${D}${libexecdir}/ceph/ceph-osd-prestart.sh ${D}${libdir}/ceph |
118 | mv ${D}${libexecdir}/ceph/ceph_common.sh ${D}${libdir}/ceph | 112 | mv ${D}${libexecdir}/ceph/ceph_common.sh ${D}${libdir}/ceph |
119 | # WITH_FUSE is set to OFF, remove ceph-fuse related units | 113 | # WITH_FUSE is set to OFF, remove ceph-fuse related units |
@@ -143,6 +137,7 @@ FILES:${PN} += "\ | |||
143 | ${libdir}/ceph/compressor/*.so \ | 137 | ${libdir}/ceph/compressor/*.so \ |
144 | ${libdir}/rados-classes/*.so \ | 138 | ${libdir}/rados-classes/*.so \ |
145 | ${libdir}/ceph/*.so \ | 139 | ${libdir}/ceph/*.so \ |
140 | ${libdir}/libcephsqlite.so \ | ||
146 | " | 141 | " |
147 | 142 | ||
148 | FILES:${PN} += " \ | 143 | FILES:${PN} += " \ |
@@ -150,6 +145,14 @@ FILES:${PN} += " \ | |||
150 | /etc/default/volatiles/99_ceph-placeholder \ | 145 | /etc/default/volatiles/99_ceph-placeholder \ |
151 | " | 146 | " |
152 | 147 | ||
148 | FILES:${PN}-dev = " \ | ||
149 | ${includedir} \ | ||
150 | ${libdir}/libcephfs.so \ | ||
151 | ${libdir}/librados*.so \ | ||
152 | ${libdir}/librbd.so \ | ||
153 | ${libdir}/librgw.so \ | ||
154 | " | ||
155 | |||
153 | FILES:${PN}-python = "\ | 156 | FILES:${PN}-python = "\ |
154 | ${PYTHON_SITEPACKAGES_DIR}/* \ | 157 | ${PYTHON_SITEPACKAGES_DIR}/* \ |
155 | " | 158 | " |
@@ -160,13 +163,15 @@ RDEPENDS:${PN} += "\ | |||
160 | python3-prettytable \ | 163 | python3-prettytable \ |
161 | ${PN}-python \ | 164 | ${PN}-python \ |
162 | gawk \ | 165 | gawk \ |
166 | bash \ | ||
163 | " | 167 | " |
164 | COMPATIBLE_HOST = "(x86_64).*" | 168 | COMPATIBLE_HOST = "(x86_64).*" |
165 | PACKAGES += " \ | 169 | PACKAGES += " \ |
166 | ${PN}-python \ | 170 | ${PN}-python \ |
167 | " | 171 | " |
168 | INSANE_SKIP:${PN}-python += "ldflags" | 172 | INSANE_SKIP:${PN}-python += "ldflags buildpaths" |
169 | INSANE_SKIP:${PN} += "dev-so" | 173 | INSANE_SKIP:${PN} += "dev-so" |
174 | INSANE_SKIP:${PN}-dbg += "buildpaths" | ||
170 | CCACHE_DISABLE = "1" | 175 | CCACHE_DISABLE = "1" |
171 | 176 | ||
172 | CVE_PRODUCT = "ceph ceph_storage ceph_storage_mon ceph_storage_osd" | 177 | CVE_PRODUCT = "ceph ceph_storage ceph_storage_mon ceph_storage_osd" |