To fix the final gcc14 errors, we temporarily disable incompatible
type warnings on two python modules.
We also package a new systemd file and account for WORKDIR being
replaced by UNPACKDIR for patches.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
By building rocksdb out of the tree, we can avoid incompatiblity
issues in the API with a dependency.
QAT doesn't build well, so disable it.
Ensure that we are using our python dependencies otherwise pip
will be run at build / package time.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Waiting for ceph releases means a lot of backported patches
and missing bundled dependencies.
We switch to gitsm to make our updates easier.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
1. OECMAKE_C/CXX_COMPILER needs to have sysroot setting in it, because
ceph's cmake files are using it to construct PY_CC. Without it, files
such as stdlib.h cannot be found.
2. re2 is added to deps. Seems no way to disable it.
3. 0001-ceph-fix-build-errors-for-cross-compile.patch is dropped. It's useless
and problematic for new version.
4. 0001-cmake-add-support-for-python3.11.patch is dropped as it's not needed anymore.
5. 0001-avoid-to_string-error.patch is added to fix build error, maybe caused by
boost version incompatibility.
6. Some cleanups.
7. A few more options are set.
8. BUILD_DOC=1 is exported so that check_sanity() causes compilation error.
This is a workaround and may need further visit in the future.
9. Delete the conditional check for /etc/debian_version which adds '--install-layout deb'
and causes the following error.
error: option --install-layout not recognized
The patch is 0001-delete-install-layout-deb.patch.
10. ceph-volume[-systemd] are now in sbin.
11. cephfs-mirror units are added to avoid package QA issue.
12. cephfs-top is seded to fix incorrect shebang.
13. Ensure libcephsqlite.so is packaged into ceph instead of ceph-dev.
14. Add bash to RDEPENDS as rbdmap needs it.
15. Skip buildpaths QA.
16. Add ceph user/group, because ceph-crash needs it in drop_privilege function call.
17. Patch the build.py which creates the cephadm zipapp to ensure it uses the correct interpreter.
We cannot simply use 'sed' against the cephadm as it's zip format.
Runtime tests:
cephfs-top --help
cephadm --help
systemctl status rbdmap
systemctl --failed
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
The ability to detected our python is fixed, but we are now
failing in the compilation phase on some of the applications.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* this isn't complete fix as there are still issues from new boost as in:
https://github.com/boostorg/phoenix/issues/111http://errors.yoctoproject.org/Errors/Details/702743/
TOPDIR/tmp-glibc/work/core2-64-oe-linux/ceph/15.2.15-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/13.1.0/ld: CMakeFiles/common-objs.dir/mon/MonCap.cc.o:/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:43: multiple definition of `boost::phoenix::placeholders::uarg10'; common/CMakeFiles/common-common-objs.dir/ConfUtils.cc.o:/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:43: first defined here
* probably easiest fix for above would be to upgrade to newer ceph, but
I'm not using it, so couldn't properly test it (I was just looking
at bitbake world failures in mickledore
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
python3 has been upgraded to 3.11 in oe-core causing
ceph do_configure to fail with the error:
| Could NOT find Python3 (missing: Python3_LIBRARY Python3_INCLUDE_DIR
| Development) (found suitable version "3.6.9", minimum required is "3")
Support python 3.11 to fix the issue
Upstream-Status: sent to upstream (https://github.com/ceph/ceph/pull/48947)
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
rocksdb has been updated to 7.5.3 in meta-oe causing
ceph compilation to fail.
Backport necessary patches to allow ceph to work with
newer versions rocksdb.
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Ceph-volume does not properly control key sizes.
Cherry-pick from github.com/ceph/ceph.git.
Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
commit a83623a54a375d3ae9198a135b94379881a2b7a5 was added
to oe-core which removes CXXFLAGS and CFLAGS causing
compilation for ceph to fail.
Set CXXFLAGS and CFLAGS to resolve the issue.
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
These changes are the result of running the convert-spdx-licenses.py
oe-core script.
There's no impact to the build, but we will avoid issues when
interacting with core QA by the alignment.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Update ceph to latest 15.x version:
* remove 0001-add-missing-include-for-atomic-bool.patch which has been
fixed in upstream
* update patch to support python 3.10
* add gawk to RDEPENDS that script 'rgw-gap-list-comparator' requires it
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
According to oe-core commit
8e26252b45 layer.conf: Extend recipes not to install without explict dependencies
pkgconfig-native is not deployed in sysroot by default any more. Inherit
pkgconfig.bbclass to make it available for ceph.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
meta-cloud-services still has users of libibverbs, so we'll keep it
around a bit longer.
But this library has been replaced by rdma-core, and won't get more
updates, so it should be considered depreciated and slated for removal.
This reverts commit 513f05926a.
libibverbs is no longer developed, and its functionaty is provided by
the rdma-core projects.
rdma-core is part of meta-networking, so we drop libibverbs and update
our dependency to rdma-core.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
OEcore/bitbake are moving to use the clearer ":" as an overrides
separator.
This is pass one of updating the meta-virt recipes to use that
syntax.
This has only been minimally build/runtime tested, more changes
will be required for missed overrides, or incorrect conversions
Note: A recent bitbake is required:
commit 75fad23fc06c008a03414a1fc288a8614c6af9ca
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Sun Jul 18 12:59:15 2021 +0100
bitbake: data_smart/parse: Allow ':' characters in variable/function names
It is becomming increasingly clear we need to find a way to show what
is/is not an override in our syntax. We need to do this in a way which
is clear to users, readable and in a way we can transition to.
The most effective way I've found to this is to use the ":" charater
to directly replace "_" where an override is being specified. This
includes "append", "prepend" and "remove" which are effectively special
override directives.
This patch simply adds the character to the parser so bitbake accepts
the value but maps it back to "_" internally so there is no behaviour
change.
This change is simple enough it could potentially be backported to older
version of bitbake meaning layers using the new syntax/markup could
work with older releases. Even if other no other changes are accepted
at this time and we don't backport, it does set us on a path where at
some point in future we could
require a more explict syntax.
I've tested this patch by converting oe-core/meta-yocto to the new
syntax for overrides (9000+ changes) and then seeing that builds
continue to work with this patch.
(Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
snappy changed a data type in the last update, this is a known
issue in ceph.
Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Notable Changes:
1. progress module can now be turned on/off, using the
commands: ceph progress on and ceph progress off.
2. PG removal has been optimized in this release.
Signed-off-by: Zqiang <qiang.zhang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Removed patches that are contained in newer version.
Contains fixes to CVES:
CVE-2020-27781
CVE 2020-25660
CVE-2020-10753
CVE-2020-10736
CVE-2020-1759
CVE-2020-1760
Built and run tested.
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Add support for python3.9, or it will do_configure failed.
Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
ceph do_compile failed with error:
src/tools/rbd/action/Bench.cc:20:26: error: aggregate 'std::atomic<bool>
terminating' has incomplete type and cannot be defined
Add missing include to fix it.
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
glibc 2.32 has deprecated sys_siglist, oe-core commit
7c19f30849e9a73a7497d8e6c4719a2e57017086, causing ceph
build to fail with error:
ceph-15.2.0/src/global/signal_handler.h:24:26: error: 'sys_siglist' was
not declared
ceph has support for using reentrant strsignal, hence use it.
See commit 82c40b67f5843162a93ebb2c1a006572d8f256a5 in upstream ceph.
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
An authorization bypass vulnerability was found in Ceph versions 15.2.0 before 15.2.2,
where the ceph-mon and ceph-mgr daemons do not properly restrict access, resulting in
gaining access to unauthorized resources. This flaw allows an authenticated client to
modify the configuration and possibly conduct further attacks.
Upstream patches:
[master] c7e7009a69
[v15.2.2] f2cf2ce1bd
CVE: CVE-2020-10736
Signed-off-by: Liu Haitao <haitao.liu@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
...
|ERROR: ceph-15.2.0-r0 do_package_qa: QA Issue: ceph: The compile
log indicates that host include and/or library paths were used.
| Please check the log 'tmp-glibc/work/corei7-64-wrs-linux/
ceph/15.2.0-r0/temp/log.do_compile' for more information. [compile-host-path]
|ERROR: ceph-15.2.0-r0 do_package_qa: QA Issue: ceph: The install
log indicates that host include and/or library paths were used.
| Please check the log 'tmp-glibc/work/corei7-64-wrs-linux/
ceph/15.2.0-r0/temp/log.do_install' for more information. [install-host-path]
...
While python setup, test var-LIBPL contains recipe-sysrooot prefix,
add it back if lost
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
...
|ERROR: ceph-15.2.0-r0 do_package: QA Issue: ceph: Files/directories
were installed but not shipped in any package:
| /lib/systemd/system/ceph-immutable-object-cache@.service
| /lib/systemd/system/ceph-immutable-object-cache.target
...
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Update ceph from 14.2.6 to 14.2.7.
* Backport patch to fix compile error
* Replace python with python3 in the script files that /usr/bin/python
not exists
* Replace runtime dependency python3 with python3-core
- /usr/bin/python3 is provided by python3-core
- packagee python3 is provided by python3-modules which in RDEPENDS already
This has been build-only tested.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Updating the ceph version and making python2 -> python3 subsitutions.
This has been build-only tested.
We can drop one patch, since it is already part of this newer version.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Backport a patch to fix compliation failure caused by boost upgrading
to 1.72.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
root@intelx86-64: journalctl -xe
ceph-crash[854]: ERROR:_main_:directory /var/lib/ceph/crash/posted does
not exist; please create
Create the directory for both of systemd and sysvinit
Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Upgrade to the latest stable version and backport two patches from master branch
to fix the following two build failures which are introduce by upgrading boost
to 1.71.0.
f1651b8c509d ("rgw: add executor type for basic_waitable_timers") for:
src/rgw/rgw_dmclock_async_scheduler.h:45:30: error: could not convert
'boost::asio::basic_waitable_timer<Clock, WaitTraits, Executor>::get_executor()
064f142746ae ("rgw: beast handle_connection() takes io_context") for:
src/rgw/rgw_asio_frontend.cc:155:38: error:
'class boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::executor>'
has no member named 'get_io_context'; did you mean 'io_control'?
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
We have WITH_FUSE to set to OFF. We should not install any ceph-fuse
units as they are using ceph-fuse.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
1. set the cross compile sysroot to find the rocksdb library
2. correct the install path for library in Distutils.cmake
Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
When enable ccache for ceph, error occurs:
-----------------------------------------------------
ccache: invalid option -- 'E'
...
Unable to determine C++ standard library, got .
-----------------------------------------------------
This is because variable "CXX_STDLIB" was null in CMakeLists.txt line: 637,
The "CXX_STDLIB" come from:
-----------------------------------------------------
execute_process(
COMMAND ./librarytest.sh ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_FLAGS}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE CXX_STDLIB
)
-----------------------------------------------------
The script librarytest.sh in ceph accept argument: compile and flags, but when
enable ccache, the compile replace by ccache, so that script failed.
So we disable ccache for ceph now.
Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
When using qemu-img to create rbd based image:
qemu-img create -f rbd rbd:libvirt-pool/libvirt-image 2G
Output errors:
qemu-img: rbd:libvirt-pool/libvirt-image: error rbd create: Operation not supported
Accroding to upstream's advice:
http://lists.ceph.com/pipermail/ceph-users-ceph.com/2018-November/031014.html
This is because the system can't find libcls_rbd.so, this library
was packaged in ceph-dev, we should package it in ceph.
Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
1. Remove the detection for build host and correct the install destination
for cross compile.
2. Delete the build host information in the results files.
Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Ceph is a distributed object, block, and file storage platform,
ceph depends on oath-toolkit, so add the oath-toolkit also.
Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>