diff --git a/ceph.spec.in b/ceph.spec.in index 22defe5e216..1b41ec1f964 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -448,6 +448,7 @@ exposes all these to the python modules. %package mgr-dashboard Summary: Ceph Dashboard +BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems %endif @@ -474,6 +475,7 @@ detailed feature overview. %package mgr-diskprediction-local Summary: ceph-mgr diskprediction_local plugin +BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems %endif @@ -486,6 +488,7 @@ disk failures using local algorithms and machine-learning databases. %package mgr-diskprediction-cloud Summary: ceph-mgr diskprediction_cloud plugin +BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems %endif @@ -495,6 +498,7 @@ ceph-mgr-diskprediction-cloud is a ceph-mgr plugin that tries to predict disk failures using services in the Google cloud. %package mgr-rook +BuildArch: noarch Summary: ceph-mgr rook plugin %if 0%{?suse_version} Group: System/Filesystems @@ -1454,33 +1458,33 @@ fi %files mgr %{_bindir}/ceph-mgr -%dir %{_libdir}/ceph/mgr -%{_libdir}/ceph/mgr/ansible -%{_libdir}/ceph/mgr/balancer -%{_libdir}/ceph/mgr/crash -%{_libdir}/ceph/mgr/deepsea -%{_libdir}/ceph/mgr/devicehealth -%{_libdir}/ceph/mgr/influx -%{_libdir}/ceph/mgr/insights -%{_libdir}/ceph/mgr/iostat -%{_libdir}/ceph/mgr/localpool -%{_libdir}/ceph/mgr/mgr_module.* -%{_libdir}/ceph/mgr/mgr_util.* -%{_libdir}/ceph/mgr/orchestrator_cli -%{_libdir}/ceph/mgr/orchestrator.* -%{_libdir}/ceph/mgr/osd_perf_query -%{_libdir}/ceph/mgr/pg_autoscaler -%{_libdir}/ceph/mgr/progress -%{_libdir}/ceph/mgr/prometheus -%{_libdir}/ceph/mgr/rbd_support -%{_libdir}/ceph/mgr/restful -%{_libdir}/ceph/mgr/selftest -%{_libdir}/ceph/mgr/status -%{_libdir}/ceph/mgr/telegraf -%{_libdir}/ceph/mgr/telemetry -%{_libdir}/ceph/mgr/test_orchestrator -%{_libdir}/ceph/mgr/volumes -%{_libdir}/ceph/mgr/zabbix +%dir %{_datadir}/ceph/mgr +%{_datadir}/ceph/mgr/ansible +%{_datadir}/ceph/mgr/balancer +%{_datadir}/ceph/mgr/crash +%{_datadir}/ceph/mgr/deepsea +%{_datadir}/ceph/mgr/devicehealth +%{_datadir}/ceph/mgr/influx +%{_datadir}/ceph/mgr/insights +%{_datadir}/ceph/mgr/iostat +%{_datadir}/ceph/mgr/localpool +%{_datadir}/ceph/mgr/mgr_module.* +%{_datadir}/ceph/mgr/mgr_util.* +%{_datadir}/ceph/mgr/orchestrator_cli +%{_datadir}/ceph/mgr/orchestrator.* +%{_datadir}/ceph/mgr/osd_perf_query +%{_datadir}/ceph/mgr/pg_autoscaler +%{_datadir}/ceph/mgr/progress +%{_datadir}/ceph/mgr/prometheus +%{_datadir}/ceph/mgr/rbd_support +%{_datadir}/ceph/mgr/restful +%{_datadir}/ceph/mgr/selftest +%{_datadir}/ceph/mgr/status +%{_datadir}/ceph/mgr/telegraf +%{_datadir}/ceph/mgr/telemetry +%{_datadir}/ceph/mgr/test_orchestrator +%{_datadir}/ceph/mgr/volumes +%{_datadir}/ceph/mgr/zabbix %{_unitdir}/ceph-mgr@.service %{_unitdir}/ceph-mgr.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr @@ -1528,7 +1532,7 @@ if [ $FIRST_ARG -ge 1 ] ; then fi %files mgr-dashboard -%{_libdir}/ceph/mgr/dashboard +%{_datadir}/ceph/mgr/dashboard %post mgr-dashboard if [ $1 -eq 1 ] ; then @@ -1541,7 +1545,7 @@ if [ $1 -eq 1 ] ; then fi %files mgr-diskprediction-local -%{_libdir}/ceph/mgr/diskprediction_local +%{_datadir}/ceph/mgr/diskprediction_local %post mgr-diskprediction-local if [ $1 -eq 1 ] ; then @@ -1554,7 +1558,7 @@ if [ $1 -eq 1 ] ; then fi %files mgr-diskprediction-cloud -%{_libdir}/ceph/mgr/diskprediction_cloud +%{_datadir}/ceph/mgr/diskprediction_cloud %post mgr-diskprediction-cloud if [ $1 -eq 1 ] ; then @@ -1567,7 +1571,7 @@ if [ $1 -eq 1 ] ; then fi %files mgr-rook -%{_libdir}/ceph/mgr/rook +%{_datadir}/ceph/mgr/rook %post mgr-rook if [ $1 -eq 1 ] ; then diff --git a/debian/ceph-mgr-dashboard.install b/debian/ceph-mgr-dashboard.install index 618dcbddaa8..8d3c8bd17fc 100644 --- a/debian/ceph-mgr-dashboard.install +++ b/debian/ceph-mgr-dashboard.install @@ -1 +1 @@ -usr/lib/ceph/mgr/dashboard +usr/share/ceph/mgr/dashboard diff --git a/debian/ceph-mgr-diskprediction-cloud.install b/debian/ceph-mgr-diskprediction-cloud.install index 2d931891280..58481b25374 100644 --- a/debian/ceph-mgr-diskprediction-cloud.install +++ b/debian/ceph-mgr-diskprediction-cloud.install @@ -1 +1 @@ -usr/lib/ceph/mgr/diskprediction_cloud +usr/share/ceph/mgr/diskprediction_cloud diff --git a/debian/ceph-mgr-diskprediction-local.install b/debian/ceph-mgr-diskprediction-local.install index b1efa5f7dd2..a381e251a7a 100644 --- a/debian/ceph-mgr-diskprediction-local.install +++ b/debian/ceph-mgr-diskprediction-local.install @@ -1 +1 @@ -usr/lib/ceph/mgr/diskprediction_local +usr/share/ceph/mgr/diskprediction_local diff --git a/debian/ceph-mgr-rook.install b/debian/ceph-mgr-rook.install index 36b7d547cb3..50cadb435d3 100644 --- a/debian/ceph-mgr-rook.install +++ b/debian/ceph-mgr-rook.install @@ -1 +1 @@ -usr/lib/ceph/mgr/rook +usr/share/ceph/mgr/rook diff --git a/debian/ceph-mgr.install b/debian/ceph-mgr.install index 21891ab25fb..4fe43c41d23 100644 --- a/debian/ceph-mgr.install +++ b/debian/ceph-mgr.install @@ -1,28 +1,28 @@ lib/systemd/system/ceph-mgr* usr/bin/ceph-mgr -usr/lib/ceph/mgr/ansible -usr/lib/ceph/mgr/balancer -usr/lib/ceph/mgr/crash -usr/lib/ceph/mgr/deepsea -usr/lib/ceph/mgr/devicehealth -usr/lib/ceph/mgr/influx -usr/lib/ceph/mgr/insights -usr/lib/ceph/mgr/iostat -usr/lib/ceph/mgr/localpool -usr/lib/ceph/mgr/mgr_module.* -usr/lib/ceph/mgr/mgr_util.* -usr/lib/ceph/mgr/orchestrator_cli -usr/lib/ceph/mgr/orchestrator.* -usr/lib/ceph/mgr/osd_perf_query -usr/lib/ceph/mgr/pg_autoscaler -usr/lib/ceph/mgr/progress -usr/lib/ceph/mgr/prometheus -usr/lib/ceph/mgr/rbd_support -usr/lib/ceph/mgr/restful -usr/lib/ceph/mgr/selftest -usr/lib/ceph/mgr/status -usr/lib/ceph/mgr/test_orchestrator -usr/lib/ceph/mgr/telegraf -usr/lib/ceph/mgr/telemetry -usr/lib/ceph/mgr/volumes -usr/lib/ceph/mgr/zabbix +usr/share/ceph/mgr/ansible +usr/share/ceph/mgr/balancer +usr/share/ceph/mgr/crash +usr/share/ceph/mgr/deepsea +usr/share/ceph/mgr/devicehealth +usr/share/ceph/mgr/influx +usr/share/ceph/mgr/insights +usr/share/ceph/mgr/iostat +usr/share/ceph/mgr/localpool +usr/share/ceph/mgr/mgr_module.* +usr/share/ceph/mgr/mgr_util.* +usr/share/ceph/mgr/orchestrator_cli +usr/share/ceph/mgr/orchestrator.* +usr/share/ceph/mgr/osd_perf_query +usr/share/ceph/mgr/pg_autoscaler +usr/share/ceph/mgr/progress +usr/share/ceph/mgr/prometheus +usr/share/ceph/mgr/rbd_support +usr/share/ceph/mgr/restful +usr/share/ceph/mgr/selftest +usr/share/ceph/mgr/status +usr/share/ceph/mgr/test_orchestrator +usr/share/ceph/mgr/telegraf +usr/share/ceph/mgr/telemetry +usr/share/ceph/mgr/volumes +usr/share/ceph/mgr/zabbix diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3f7123f5451..25df4fe882f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,12 +2,14 @@ include(GetGitRevisionDescription) include(GNUInstallDirs) # for erasure and compressor plugins -set(CMAKE_INSTALL_PKGLIBDIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}) -set(CMAKE_INSTALL_FULL_PKGLIBDIR ${CMAKE_INSTALL_FULL_LIBDIR}/${PROJECT_NAME}) +set(CEPH_INSTALL_PKGLIBDIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}) +set(CEPH_INSTALL_FULL_PKGLIBDIR ${CMAKE_INSTALL_FULL_LIBDIR}/${PROJECT_NAME}) +# for mgr plugins +set(CEPH_INSTALL_DATADIR ${CMAKE_INSTALL_FULL_DATADIR}/${PROJECT_NAME}) # so libceph-common can be found set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) if(NOT CMAKE_INSTALL_RPATH) - set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_PKGLIBDIR}") + set(CMAKE_INSTALL_RPATH "${CEPH_INSTALL_FULL_PKGLIBDIR}") endif() # to be compatible with configure_files shared with autoconfig @@ -17,7 +19,7 @@ set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) set(sysconfdir ${CMAKE_INSTALL_FULL_SYSCONFDIR}) set(libexecdir ${CMAKE_INSTALL_FULL_LIBEXECDIR}) set(pkgdatadir ${CMAKE_INSTALL_FULL_DATADIR}) -set(datadir ${CMAKE_INSTALL_FULL_DATADIR}/${PROJECT_NAME}) +set(datadir ${CEPH_INSTALL_DATADIR}) set(prefix ${CMAKE_INSTALL_PREFIX}) add_definitions("-DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS") @@ -414,7 +416,7 @@ endif() install( TARGETS ceph-common LIBRARY - DESTINATION ${CMAKE_INSTALL_PKGLIBDIR} + DESTINATION ${CEPH_INSTALL_PKGLIBDIR} NAMELINK_SKIP) if(${WITH_LTTNG}) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 1aa742d5ae5..65ba10b0f14 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -127,7 +127,8 @@ add_library(common-common-objs OBJECT # for options.cc target_compile_definitions(common-common-objs PRIVATE "CEPH_LIBDIR=\"${CMAKE_INSTALL_FULL_LIBDIR}\"" - "CEPH_PKGLIBDIR=\"${CMAKE_INSTALL_FULL_PKGLIBDIR}\"") + "CEPH_PKGLIBDIR=\"${CEPH_INSTALL_FULL_PKGLIBDIR}\"" + "CEPH_DATADIR=\"${CEPH_INSTALL_DATADIR}\"") set(common_mountcephfs_srcs armor.c diff --git a/src/common/options.cc b/src/common/options.cc index a9f2c6e25ef..27198996392 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -5148,7 +5148,7 @@ std::vector<Option> get_global_options() { .set_description(""), Option("mgr_module_path", Option::TYPE_STR, Option::LEVEL_ADVANCED) - .set_default(CEPH_PKGLIBDIR "/mgr") + .set_default(CEPH_DATADIR "/mgr") .add_service("mgr") .set_description("Filesystem path to manager modules."), diff --git a/src/compressor/CMakeLists.txt b/src/compressor/CMakeLists.txt index 5182784288e..494bcc44749 100644 --- a/src/compressor/CMakeLists.txt +++ b/src/compressor/CMakeLists.txt @@ -8,7 +8,7 @@ add_library(compressor_objs OBJECT ${compressor_srcs}) ## compressor plugins -set(compressor_plugin_dir ${CMAKE_INSTALL_PKGLIBDIR}/compressor) +set(compressor_plugin_dir ${CEPH_INSTALL_PKGLIBDIR}/compressor) add_subdirectory(snappy) add_subdirectory(zlib) diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt index 5d42f60f24b..d656f59451a 100644 --- a/src/crimson/CMakeLists.txt +++ b/src/crimson/CMakeLists.txt @@ -96,7 +96,8 @@ add_library(crimson-common STATIC target_compile_definitions(crimson-common PRIVATE "CEPH_LIBDIR=\"${CMAKE_INSTALL_FULL_LIBDIR}\"" - "CEPH_PKGLIBDIR=\"${CMAKE_INSTALL_FULL_PKGLIBDIR}\"") + "CEPH_PKGLIBDIR=\"${CEPH_INSTALL_FULL_PKGLIBDIR}\"" + "CEPH_DATADIR=\"${CEPH_INSTALL_DATADIR}\"") target_link_libraries(crimson-common PUBLIC diff --git a/src/crypto/CMakeLists.txt b/src/crypto/CMakeLists.txt index dba1e033eb8..eee534435d6 100644 --- a/src/crypto/CMakeLists.txt +++ b/src/crypto/CMakeLists.txt @@ -1,5 +1,5 @@ add_custom_target(crypto_plugins) -set(crypto_plugin_dir ${CMAKE_INSTALL_PKGLIBDIR}/crypto) +set(crypto_plugin_dir ${CEPH_INSTALL_PKGLIBDIR}/crypto) add_subdirectory(openssl) diff --git a/src/erasure-code/CMakeLists.txt b/src/erasure-code/CMakeLists.txt index 0c9832ebf2e..bd9b00460b4 100644 --- a/src/erasure-code/CMakeLists.txt +++ b/src/erasure-code/CMakeLists.txt @@ -1,6 +1,6 @@ ## erasure code plugins -set(erasure_plugin_dir ${CMAKE_INSTALL_PKGLIBDIR}/erasure-code) +set(erasure_plugin_dir ${CEPH_INSTALL_PKGLIBDIR}/erasure-code) #jerasure subdir must be before shec so jerasure & neon obj libs are declared include_directories(SYSTEM jerasure/jerasure/include) diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt index 1538b6fec99..664543172a1 100644 --- a/src/pybind/CMakeLists.txt +++ b/src/pybind/CMakeLists.txt @@ -96,15 +96,5 @@ if(WITH_MGR) message(WARNING "could not determine ssl version of python crypto lib") endif() endif(USE_OPENSSL) - - # Location needs to match default setting for mgr_module_path, currently: - # OPTION(mgr_module_path, OPT_STR, CEPH_PKGLIBDIR "/mgr") - install(DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/mgr - DESTINATION ${CMAKE_INSTALL_PKGLIBDIR} - REGEX ".*/CMakeLists.txt" EXCLUDE - REGEX ".*/\\.gitignore" EXCLUDE - REGEX ".*/hello/.*" EXCLUDE - REGEX ".*/osd_perf_query/.*" EXCLUDE) add_subdirectory(mgr) endif(WITH_MGR) diff --git a/src/pybind/mgr/CMakeLists.txt b/src/pybind/mgr/CMakeLists.txt index 8f48689fe40..2b5f4a7d4ad 100644 --- a/src/pybind/mgr/CMakeLists.txt +++ b/src/pybind/mgr/CMakeLists.txt @@ -2,3 +2,13 @@ add_subdirectory(dashboard) add_subdirectory(insights) add_subdirectory(ansible) add_subdirectory(orchestrator_cli) + +# Location needs to match default setting for mgr_module_path, currently: +# OPTION(mgr_module_path, OPT_STR, CEPH_PKGLIBDIR "/mgr") +install(DIRECTORY + ${CMAKE_CURRENT_SOURCE_DIR} + DESTINATION ${CEPH_INSTALL_DATADIR} + REGEX "CMakeLists.txt" EXCLUDE + REGEX "\\.gitignore" EXCLUDE + REGEX "hello/.*" EXCLUDE + REGEX "osd_perf_query/.*" EXCLUDE)