From 69a231888e05e4504e20e6a32506ed2a3c48d139 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Mon, 8 Aug 2022 11:09:56 -0700 Subject: [PATCH] rgw/cmake: stop building all of radosgw a shared lib Fixes: https://tracker.ceph.com/issues/57050 Signed-off-by: Casey Bodley --- ceph.spec.in | 3 --- debian/radosgw.install | 1 - src/CMakeLists.txt | 2 +- src/rgw/CMakeLists.txt | 34 ++++++++-------------------------- src/rgw/radosgw.cc | 13 ------------- src/rgw/rgw_main.cc | 12 +----------- src/test/CMakeLists.txt | 2 +- 7 files changed, 11 insertions(+), 56 deletions(-) delete mode 100644 src/rgw/radosgw.cc diff --git a/ceph.spec.in b/ceph.spec.in index a75394f00b1..69952b0aef4 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -2111,14 +2111,12 @@ fi %{_bindir}/rgw-gap-list %{_bindir}/rgw-gap-list-comparator %{_bindir}/rgw-orphan-list -%{_libdir}/libradosgw.so* %{_mandir}/man8/radosgw.8* %dir %{_localstatedir}/lib/ceph/radosgw %{_unitdir}/ceph-radosgw@.service %{_unitdir}/ceph-radosgw.target %post radosgw -/sbin/ldconfig %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-radosgw@\*.service ceph-radosgw.target >/dev/null 2>&1 || : @@ -2140,7 +2138,6 @@ fi %endif %postun radosgw -/sbin/ldconfig %systemd_postun ceph-radosgw@\*.service ceph-radosgw.target if [ $1 -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to diff --git a/debian/radosgw.install b/debian/radosgw.install index c36df637c9c..40940c0e1ac 100644 --- a/debian/radosgw.install +++ b/debian/radosgw.install @@ -7,7 +7,6 @@ usr/bin/radosgw-token usr/bin/rgw-gap-list usr/bin/rgw-gap-list-comparator usr/bin/rgw-orphan-list -usr/lib/libradosgw.so* usr/share/man/man8/ceph-diff-sorted.8 usr/share/man/man8/radosgw.8 usr/share/man/man8/rgw-orphan-list.8 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d3d71b32758..b301c720f42 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -927,7 +927,7 @@ if (WITH_CEPHFS) add_dependencies(vstart ceph-mds cephfs cython_cephfs) endif() if(WITH_RADOSGW) - add_dependencies(vstart radosgwd radosgw-admin) + add_dependencies(vstart radosgw radosgw-admin) endif() if(WITH_LTTNG) diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt index 91169e2ff3d..1b392cdf795 100644 --- a/src/rgw/CMakeLists.txt +++ b/src/rgw/CMakeLists.txt @@ -343,21 +343,20 @@ set(rgw_schedulers_srcs rgw_dmclock_scheduler_ctx.cc rgw_dmclock_sync_scheduler.cc rgw_dmclock_async_scheduler.cc) -set(radosgw_srcs - rgw_loadgen_process.cc - rgw_asio_client.cc - rgw_asio_frontend.cc) add_library(rgw_schedulers STATIC ${rgw_schedulers_srcs}) target_link_libraries(rgw_schedulers PUBLIC dmclock::dmclock spawn) -add_library(radosgw SHARED - ${radosgw_srcs} - ${rgw_a_srcs} +set(radosgw_srcs rgw_main.cc + rgw_loadgen_process.cc + rgw_asio_client.cc + rgw_asio_frontend.cc rgw_kmip_client_impl.cc) +add_executable(radosgw ${radosgw_srcs}) + target_compile_definitions(radosgw PUBLIC "-DCLS_CLIENT_HIDE_IOCTX") target_include_directories(radosgw PUBLIC "${CMAKE_SOURCE_DIR}/src/dmclock/support/src" @@ -367,29 +366,12 @@ target_include_directories(radosgw target_include_directories(radosgw SYSTEM PUBLIC "../rapidjson/include") -target_link_libraries(radosgw - PRIVATE ${rgw_libs} rgw_schedulers kmip - PUBLIC dmclock::dmclock -) +target_link_libraries(radosgw PRIVATE ${rgw_libs} rgw_schedulers kmip) if(WITH_RADOSGW_BEAST_OPENSSL) # used by rgw_asio_frontend.cc target_link_libraries(radosgw PRIVATE OpenSSL::SSL) endif() -set_target_properties(radosgw PROPERTIES OUTPUT_NAME radosgw VERSION 2.0.0 - SOVERSION 2) -install(TARGETS radosgw DESTINATION ${CMAKE_INSTALL_LIBDIR}) - -add_executable(radosgwd radosgw.cc) -target_link_libraries(radosgwd radosgw librados - cls_rgw_client cls_otp_client cls_lock_client cls_refcount_client - cls_log_client cls_timeindex_client neorados_cls_fifo - cls_version_client cls_user_client - global - ${LIB_RESOLV} - ${CURL_LIBRARIES} ${EXPAT_LIBRARIES} ${BLKID_LIBRARIES} - ${ALLOC_LIBS}) -set_target_properties(radosgwd PROPERTIES OUTPUT_NAME radosgw) -install(TARGETS radosgwd DESTINATION bin) +install(TARGETS radosgw DESTINATION bin) set(radosgw_admin_srcs rgw_admin.cc diff --git a/src/rgw/radosgw.cc b/src/rgw/radosgw.cc deleted file mode 100644 index df9e935ed89..00000000000 --- a/src/rgw/radosgw.cc +++ /dev/null @@ -1,13 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab ft=cpp -// - -extern int radosgw_Main(int, const char **); - -/* - * start up the RADOS connection and then handle HTTP messages as they come in - */ -int main(int argc, char **argv) -{ - return radosgw_Main(argc, const_cast(argv)); -} diff --git a/src/rgw/rgw_main.cc b/src/rgw/rgw_main.cc index 6c5ed0e2dea..9b08c70d38b 100644 --- a/src/rgw/rgw_main.cc +++ b/src/rgw/rgw_main.cc @@ -208,7 +208,7 @@ public: /* * start up the RADOS connection and then handle HTTP messages as they come in */ -int radosgw_Main(int argc, const char **argv) +int main(int argc, const char **argv) { // dout() messages will be sent to stderr, but FCGX wants messages on stdout // Redirect stderr to stdout. @@ -790,13 +790,3 @@ int radosgw_Main(int argc, const char **argv) return 0; } - -extern "C" { - -int radosgw_main(int argc, const char** argv) -{ - return radosgw_Main(argc, argv); -} - -} /* extern "C" */ - diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index f07b22fe8fb..b28127117bd 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -589,7 +589,7 @@ if(WITH_RBD) endif(WITH_RBD_MIRROR) endif(WITH_RBD) if(WITH_RADOSGW) - add_dependencies(tests radosgwd radosgw-admin) + add_dependencies(tests radosgw radosgw-admin) endif() #add dependency from fio just to ensure the plugin build isn't failing if(WITH_FIO) -- 2.39.5