Age | Commit message (Collapse) | Author |
|
See the previous commit for a longer explanation.
|
|
- ceph-17.2.4-common-legacy-gen-depends.patch
- ceph-17.2.4-compressor-common-depends.patch
These do not *actually* solve the problem they were originally added as
fixes for.
Here's the real problem:
Sometime between v16 and v17 the upstream changed how they handle
internal configuration. Previously, they had headers that were included
"globally" -- in a common ${CMAKE_PROJECT_PATH}/include -- dir, and
everything just imported these headers, without an explicit dependency
on src/common/options ('s targets).
This was okay because:
1. The headers always exist
2. You can include headers that haven't yet had their source file
compiled. You only need to ensure that by link time the relevant .o
files exist.
However. These "global" header files *now require an arbitrarily slow
python script to generate them*. And CMake is not aware of this
dependency, leading to compile fails because other sources are importing
headers that don't exist yet.
I tried for a long time to catch all the targets that depend on these
headers' CMake target, and gave up after about 30ish; as even if it was
possible, that patch is simply unmaintainable long term.
Instead, we'll take a much dumber, simpler solution: just run the
generate step before building. See this commit's parent for more.
|
|
Normally I don't do point upgrades in the same patch set as major
upgrades, however the upstream made an 'oops' in their release train for
v17 that lead to a couple important regressions. See the changelog below
for an overview, and the link for the full story.
Changlog:
* c6e18266dfb mgr/telemetry: handle daemons with complex ids
* 6a1a427fc5f ceph-volume: fix regression in activate
* feeadd7e2a8 mgr/rook: fix error when trying to get the list of nfs services
* 1d8a2b46bd3 Revert "osd/PeeringState: fix missed `recheck_readable` from laggy"
* c67f74c3c76 Revert "osd/PeeringState: proc_lease_ack break once found from OSD"
Link:
https://ceph.io/en/news/blog/2022/v17-2-5-quincy-released
Upstream-Ref: https://github.com/ceph/ceph/pull/48519
|
|
also enforce WITH_FIO=OFF (the current default)
|
|
According to namcap.
Remember to port these to `aur/ceph-bin`, me!
|
|
.so files live in ceph-libs
|
|
wants sudo, isn't going to get it
|
|
This commit patches the few instances of std::iterator usage in the
upstream.
There's no real benefit here, besides reducing the line noise during
builds... and yet this is one of the change sets I've liked making the
most.
Followed the fluentcpp guide for understanding the fix:
https://www.fluentcpp.com/2018/05/08/std-iterator-deprecated/
and used this ripgrep to find the definition sites:
`rg ':\s*(public)?\s*(std::)?iterator\s*<' .`
|
|
This is a strange one. Each of pybind/{rados,rbd,cephfs,rgw}/setup.py
has a clause which potentially mocks cythonize():
```
if (len(sys.argv) >= 2 and
any(i in sys.argv[1:] for i in ('--help', 'clean', 'egg_info', '--version')
)):
def cythonize(x, **kwargs):
return x
```
The important thing here is 'egg_info', which is _always_ invoked by the
cmake functions the upstream uses in cmake/modules/Distutils... leading
to failures that look like this:
```
IF BUILD_DOC:
^
------------------------------------------------------------
rados.pxd:7:3: Compile-time name 'BUILD_DOC' not defined
Error compiling Cython file:
------------------------------------------------------------
```
This commit patches the setup.py(s), removing this clause which then
allows the cython builds to work just fine.
I have no idea how or even if the upstream gets clean builds as the
parts that make up this bug haven't been touched in six years.
|
|
this is a large commit that finally resolves one of the more annoying
thorns I've dealt with while testing ceph.
in essence, I've split a *very* long running test suite (more than 3
hours) into multiple tests which run concurrently.
the accompanying .patch file does the following:
- split src/test/objectstore/test_bluefs.cc (unittest_bluefs) into 11
tests
- nerf a couple values in _replay* tests which were still out of line
- fixup the relevant CMakeLists.txt, adding the extra tests
unfortunately, this patch will conflict with virtually any change in the
source dir; but at least I finally have a method for passing this test
in less than 3 hours
|
|
cephadm tests appear to heavily depend on pyfakefs, which appears to
strongly disagree with running in a chroot.
It throws EPERM errors when attempting to create files in /root (??),
and I'm not giving it root.
|
|
Ceph uses a version of mypy that has a false positive on python >3.8.
Disable the problem module for now
|
|
This test expects to have access to a git repo, which isn't part of the
build environment for AUR.
As a side note, wtf is this test actually testing for? "docker.io"?
|
|
another missed dependency around src/common/options, leading to similar
racy builds.
these may be worthy of upstreaming
|
|
This patch adds an explicit dependency link between src/Compressor and
src/common.
This is a bug in the upstream build, as src/Compressor depends on common
objects, and will cause racy build failures at high -j level (12+)
|
|
for the moment, we disable all the new stuff (lua was enabled last
version), though they will likely be enabled in the future; after I have
a successful build to experiment from.
|
|
We no longer have to play silly games with ceph around zstd, they just
let us supply the lib.
|
|
This has been set by default in the upstream since v17
Upstream-Ref: https://github.com/ceph/ceph/pull/40293
|
|
As since v16 ceph only uses python3, and doesn't provide CMake controls
for it anymore.
|
|
- CMAKE_INSTALL_SYSTEMD_SERVICEDIR
Now handled natively by the build system. Importantly for the future,
in case this ever changes; falls back to:
-D{CMAKE_INSTALL_LIBEXECDIR}/systemd/system
- WITH_RADOSGW_FCGI_FRONTEND
- WITH_RADOSGW_BEAST_FRONTEND
FCGI is no longer a supported frontend, only beast is supported.
- WITH_BOOST_CONTEXT
removed in v15
|
|
This might still be necessary, but the test envs have changed entirely,
so we'll remove it for now.
|
|
Fixed in upstream
Upstream-Ref: https://github.com/ceph/ceph/pull/48016
|
|
Fixed upstream
Upstream-Ref: https://github.com/ceph/ceph/pull/41470
|
|
Fixed in upstream
Upstream-Ref: https://github.com/ceph/ceph/pull/47694
|
|
The upstream target of this patch has changed dramatically, and I'm
almost 100% certain it's not applying correctly anymore.
The changes within may still be necessary, I'll keep an eye on this.
Changelog:
* 739109fea1f cmake: remove spaces in macro used for compiling cython code
* 143c26c48a7 cmake/modules: use exact version of python3 when finding cython
* 9876ff4bd6a cmake/modules: always use the python3 specified in command line
* f2477d97c25 cmake: only pass --verbose when VERBOSE env variable is set
* 1f6cf5e4031 cmake: remove cflags from CC
* c2b3f7f5e75 cmake: disable "variable tracking" when building rados python binding
* 6cdf25b4ab4 cmake: install python scripts into /usr/sbin even if DESTDIR is empty
* 91bccedc322 cmake: use add_compile_options()
* 79584862f6f src,qa: install python bindings into lib/cython_modules/lib.3
* 5fc657b40dc cmake: drop WITH_PYTHON2 option
* de9a04027fe cmake/modules/Distutils: do not add ${name}-clone if already added
* 606b9c1822a cmake: pass PYTHON_VERSION explicitly
* 5e2bd7fc4dd cmake: update FindPython* modules
* 1468c8fc350 cmake/modules/Distutils.cmake: add setup as a dependency
* f17861cdfaf cmake/modules/Distutils.cmake: avoid rebuilding cython ext
* 83ffb1e2ca7 cmake/modules/Distutils.cmake: add byproduct
* 855685f0fcc cmake: add an arg for name of cython extension
* 108462e3fb0 cmake: remove cython 0.29's subinterpreter check during install
Generated via:
git log --oneline v14.2.0..v17.2.4 -- cmake/modules/Distutils.cmake
|
|
Updated to an even later version upstream
Upstream-Ref: https://github.com/ceph/ceph/pull/47585
|
|
As this as been fixed & backported into v17.
Upstream-Ref: https://github.com/ceph/ceph/pull/47616
|
|
Removed a couple of patches that don't seem useful anymore.
- ceph-14.2.0-cflags
Removes -O2 optimization from cython module compiles... why?
- ceph-12.2.4-boost-build-none-options
I can't even find the file that this is patching. Best guess, this
is from a time before we were using -DWITH_SYSTEM_BOOST=ON
- ceph-15.2.0-rocksdb-cmake
Removes CMAKE_TOOLCHAIN_FILE when passing to RocksDB's build system, I
think this is only relevant for cross compiles, which we don't do
|
|
As per the upstream, ceph now supports the symbols required for LTO.
See the comment in the diff for more.
Upstream-Ref: https://github.com/ceph/ceph/pull/42602
|
|
|
|
- Update shasums
- Regenerate .SRCINFO
|
|
- Update shasums
- Regenerate SRCINFO
|
|
test removed upstream
Upstream-Reference: ceph/ceph@fd5ec3b51ce9500e36597ac39e486a5cd40cddc4
|
|
A portion of this patch has been upstreamed.
Upstream-Reference: ceph/ceph@86db0e2947972d4db4badc6a271033f43d0bcba7
|
|
due to some sort of templating error when calling librados::async_write
in boost 1.80.
|
|
Some new librbd .so files have been added in the 16.x release, which
weren't caught by the existing commands, causing them to conflict
between ceph and ceph-libs.
This commit removes them from ceph only (as -libs contains most of the
.so files currently)
|
|
There seems to be a lot of changes in the required packages since 15.x,
which have now been fixed / updated based on namcap's output
This appears to be causing issues with other things that want to read
ceph.conf and other files. There shouldn't be any security concerns
here, as all keyrings are generated 0600 by default.
|
|
This ensures that pacman understands how to handle the bare ceph and
'-bin' suffixed packages.
|
|
|
|
There are some race conditions (or something?) that spuriously fail
builds. These were previously disabled in 69fdd7a, but we actually
need set the define now, as it defaults to 'ALL' rather than 'en-US'
|
|
These have also been removed in the upstream starting in 17.2.0
|
|
|
|
|
|
|
|
|
|
|
|
I'm not sure if this is a runtime dependency yet.
Option for controlling can be found in ceph@16.2.7:CMakeLists.txt#L413 --
maybe we should disable it instead?
|
|
|
|
|
|
|