Properly added dependencies between RPM packages (#14258)
This commit is contained in:
@@ -81,8 +81,6 @@ macro(ov_rpm_specific_settings)
|
||||
set(CPACK_RPM_COMPONENT_INSTALL ON)
|
||||
# automatically find dependencies for binaries
|
||||
set(CPACK_RPM_PACKAGE_AUTOREQPROV ON)
|
||||
# enable dependencies between components
|
||||
set(CPACK_RPM_ENABLE_COMPONENT_DEPENDS ON)
|
||||
# homepage
|
||||
set(CPACK_RPM_PACKAGE_URL "https://docs.openvino.ai/")
|
||||
# ASL 2.0 # Apache Software License 2.0
|
||||
@@ -102,7 +100,7 @@ macro(ov_rpm_specific_settings)
|
||||
# naming convention for rpm package files
|
||||
set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
|
||||
# need to update this version once we rebuild the same package with additional fixes
|
||||
# set(CPACK_RPM_PACKAGE_RELEASE "1")
|
||||
set(CPACK_RPM_PACKAGE_RELEASE "1")
|
||||
# enable this if someday we change the version scheme
|
||||
# set(CPACK_RPM_PACKAGE_EPOCH "2")
|
||||
|
||||
@@ -123,7 +121,7 @@ ov_rpm_specific_settings()
|
||||
|
||||
# needed to add triggers for packages with libraries
|
||||
set(def_triggers "${OpenVINO_BINARY_DIR}/_CPack_Packages/triggers")
|
||||
set(triggers_content "activate-noawait ldconfig\n\n")
|
||||
set(triggers_content "/sbin/ldconfig\n")
|
||||
file(WRITE "${def_triggers}" "${triggers_content}")
|
||||
|
||||
#
|
||||
@@ -235,7 +233,7 @@ macro(ov_rpm_add_latest_component comp)
|
||||
set(upper_case "${ucomp}_LATEST")
|
||||
|
||||
set(CPACK_COMPONENT_${upper_case}_DESCRIPTION "${CPACK_COMPONENT_${ucomp}_DESCRIPTION}")
|
||||
set(CPACK_COMPONENT_${upper_case}_DEPENDS "${comp}")
|
||||
set(CPACK_RPM_${upper_case}_PACKAGE_REQUIRES "${CPACK_RPM_${ucomp}_PACKAGE_NAME} = ${cpack_full_ver}")
|
||||
set(CPACK_RPM_${upper_case}_PACKAGE_ARCHITECTURE "noarch")
|
||||
set(${comp_name}_copyright "generic")
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# OpenVINO Core components including frontends, plugins, etc
|
||||
#
|
||||
|
||||
function(_ov_add_plugin comp is_pseudo)
|
||||
function(_ov_add_package package_names comp)
|
||||
string(TOUPPER "${comp}" ucomp)
|
||||
if(NOT DEFINED CPACK_RPM_${ucomp}_PACKAGE_NAME)
|
||||
message(FATAL_ERROR "CPACK_RPM_${ucomp}_PACKAGE_NAME is not defined")
|
||||
@@ -18,25 +18,11 @@ function(_ov_add_plugin comp is_pseudo)
|
||||
message(FATAL_ERROR "Internal variable 'cpack_full_ver' is not defined")
|
||||
endif()
|
||||
|
||||
if(is_pseudo)
|
||||
if(pseudo_plugins_recommends)
|
||||
set(pseudo_plugins_recommends "${pseudo_plugins_recommends}, ${package_name} = ${cpack_full_ver}")
|
||||
else()
|
||||
set(pseudo_plugins_recommends "${package_name} = ${cpack_full_ver}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(all_plugins_suggest)
|
||||
set(all_plugins_suggest "${all_plugins_suggest}, ${package_name} = ${cpack_full_ver}")
|
||||
if(${package_names})
|
||||
set("${package_names}" "${${package_names}}, ${package_name} = ${cpack_full_ver}" PARENT_SCOPE)
|
||||
else()
|
||||
set(all_plugins_suggest "${package_name} = ${cpack_full_ver}")
|
||||
set("${package_names}" "${package_name} = ${cpack_full_ver}" PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
list(APPEND installed_plugins ${comp})
|
||||
|
||||
set(pseudo_plugins_recommends "${pseudo_plugins_recommends}" PARENT_SCOPE)
|
||||
set(all_plugins_suggest "${all_plugins_suggest}" PARENT_SCOPE)
|
||||
set(installed_plugins "${installed_plugins}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
macro(ov_cpack_settings)
|
||||
@@ -122,6 +108,7 @@ macro(ov_cpack_settings)
|
||||
|
||||
set(CPACK_COMPONENT_CORE_DESCRIPTION "OpenVINO C / C++ Runtime libraries")
|
||||
set(CPACK_RPM_CORE_PACKAGE_NAME "libopenvino-${cpack_name_ver}")
|
||||
set(core_package "${CPACK_RPM_CORE_PACKAGE_NAME} = ${cpack_full_ver}")
|
||||
set(CPACK_RPM_CORE_POST_INSTALL_SCRIPT_FILE "${def_triggers}")
|
||||
set(CPACK_RPM_CORE_POST_UNINSTALL_SCRIPT_FILE "${def_triggers}")
|
||||
set(${OV_CPACK_COMP_CORE}_copyright "generic")
|
||||
@@ -133,18 +120,18 @@ macro(ov_cpack_settings)
|
||||
# hetero
|
||||
if(ENABLE_HETERO)
|
||||
set(CPACK_COMPONENT_HETERO_DESCRIPTION "OpenVINO Hetero plugin")
|
||||
set(CPACK_COMPONENT_HETERO_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_HETERO_PACKAGE_REQUIRES "${core_package}")
|
||||
set(CPACK_RPM_HETERO_PACKAGE_NAME "libopenvino-hetero-plugin-${cpack_name_ver}")
|
||||
_ov_add_plugin(hetero ON)
|
||||
_ov_add_package(plugin_packages hetero)
|
||||
set(hetero_copyright "generic")
|
||||
endif()
|
||||
|
||||
# auto batch
|
||||
if(ENABLE_AUTO_BATCH)
|
||||
set(CPACK_COMPONENT_BATCH_DESCRIPTION "OpenVINO Automatic Batching plugin")
|
||||
set(CPACK_COMPONENT_BATCH_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_BATCH_PACKAGE_REQUIRES "${core_package}")
|
||||
set(CPACK_RPM_BATCH_PACKAGE_NAME "libopenvino-auto-batch-plugin-${cpack_name_ver}")
|
||||
_ov_add_plugin(batch ON)
|
||||
_ov_add_package(plugin_packages batch)
|
||||
set(batch_copyright "generic")
|
||||
endif()
|
||||
|
||||
@@ -155,15 +142,15 @@ macro(ov_cpack_settings)
|
||||
else()
|
||||
set(CPACK_COMPONENT_MULTI_DESCRIPTION "OpenVINO Multi plugin")
|
||||
endif()
|
||||
set(CPACK_COMPONENT_MULTI_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_MULTI_PACKAGE_REQUIRES "${core_package}")
|
||||
set(CPACK_RPM_MULTI_PACKAGE_NAME "libopenvino-auto-plugin-${cpack_name_ver}")
|
||||
_ov_add_plugin(multi ON)
|
||||
_ov_add_package(plugin_packages multi)
|
||||
set(multi_copyright "generic")
|
||||
elseif(ENABLE_AUTO)
|
||||
set(CPACK_COMPONENT_AUTO_DESCRIPTION "OpenVINO Auto plugin")
|
||||
set(CPACK_COMPONENT_AUTO_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_AUTO_PACKAGE_REQUIRES "${core_package}")
|
||||
set(CPACK_RPM_AUTO_PACKAGE_NAME "libopenvino-auto-plugin-${cpack_name_ver}")
|
||||
_ov_add_plugin(auto ON)
|
||||
_ov_add_package(plugin_packages auto)
|
||||
set(auto_copyright "generic")
|
||||
endif()
|
||||
|
||||
@@ -176,37 +163,35 @@ macro(ov_cpack_settings)
|
||||
set(CPACK_COMPONENT_CPU_DESCRIPTION "ARM CPU")
|
||||
set(cpu_copyright "arm_cpu")
|
||||
endif()
|
||||
set(CPACK_COMPONENT_CPU_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_CPU_PACKAGE_REQUIRES "${core_package}")
|
||||
set(CPACK_RPM_CPU_PACKAGE_NAME "libopenvino-intel-cpu-plugin-${cpack_name_ver}")
|
||||
_ov_add_plugin(cpu OFF)
|
||||
_ov_add_package(plugin_packages cpu)
|
||||
endif()
|
||||
|
||||
# intel-gpu
|
||||
if(ENABLE_INTEL_GPU)
|
||||
set(CPACK_COMPONENT_GPU_DESCRIPTION "Intel® Processor Graphics")
|
||||
set(CPACK_COMPONENT_GPU_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_GPU_PACKAGE_REQUIRES "${core_package}")
|
||||
set(CPACK_RPM_GPU_PACKAGE_NAME "libopenvino-intel-gpu-plugin-${cpack_name_ver}")
|
||||
# auto batch exhances GPU
|
||||
# set(CPACK_RPM_BATCH_PACKAGE_ENHANCES "${CPACK_RPM_GPU_PACKAGE_NAME} = (${cpack_full_ver})")
|
||||
_ov_add_plugin(gpu OFF)
|
||||
_ov_add_package(plugin_packages gpu)
|
||||
set(gpu_copyright "generic")
|
||||
endif()
|
||||
|
||||
# intel-myriad
|
||||
if(ENABLE_INTEL_MYRIAD AND "myriad" IN_LIST CPACK_COMPONENTS_ALL)
|
||||
set(CPACK_COMPONENT_MYRIAD_DESCRIPTION "Intel® Movidius™ VPU")
|
||||
set(CPACK_COMPONENT_MYRIAD_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_MYRIAD_PACKAGE_REQUIRES "${core_package}")
|
||||
set(CPACK_RPM_MYRIAD_PACKAGE_NAME "libopenvino-intel-vpu-plugin-${cpack_name_ver}")
|
||||
_ov_add_plugin(myriad OFF)
|
||||
_ov_add_package(plugin_packages myriad)
|
||||
set(myriad_copyright "generic")
|
||||
endif()
|
||||
|
||||
# intel-gna
|
||||
if(ENABLE_INTEL_GNA AND "gna" IN_LIST CPACK_COMPONENTS_ALL)
|
||||
set(CPACK_COMPONENT_GNA_DESCRIPTION "Intel® Gaussian Neural Accelerator")
|
||||
set(CPACK_COMPONENT_GNA_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_GNA_PACKAGE_REQUIRES "${core_package}")
|
||||
set(CPACK_RPM_GNA_PACKAGE_NAME "libopenvino-intel-gna-plugin-${cpack_name_ver}")
|
||||
_ov_add_plugin(gna OFF)
|
||||
_ov_add_package(plugin_packages gna)
|
||||
set(gna_copyright "generic")
|
||||
endif()
|
||||
|
||||
@@ -216,41 +201,41 @@ macro(ov_cpack_settings)
|
||||
|
||||
if(ENABLE_OV_IR_FRONTEND)
|
||||
set(CPACK_COMPONENT_IR_DESCRIPTION "OpenVINO IR Frontend")
|
||||
set(CPACK_COMPONENT_IR_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_IR_PACKAGE_REQUIRES "${core_package}")
|
||||
set(CPACK_RPM_IR_PACKAGE_NAME "libopenvino-ir-frontend-${cpack_name_ver}")
|
||||
set(CPACK_RPM_IR_POST_INSTALL_SCRIPT_FILE "${def_triggers}")
|
||||
set(CPACK_RPM_IR_POST_UNINSTALL_SCRIPT_FILE "${def_triggers}")
|
||||
list(APPEND frontends ir)
|
||||
_ov_add_package(frontend_packages ir)
|
||||
set(ir_copyright "generic")
|
||||
endif()
|
||||
|
||||
if(ENABLE_OV_ONNX_FRONTEND)
|
||||
set(CPACK_COMPONENT_ONNX_DESCRIPTION "OpenVINO ONNX Frontend")
|
||||
set(CPACK_COMPONENT_ONNX_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_ONNX_PACKAGE_REQUIRES "${core_package}")
|
||||
set(CPACK_RPM_ONNX_PACKAGE_NAME "libopenvino-onnx-frontend-${cpack_name_ver}")
|
||||
set(CPACK_RPM_ONNX_POST_INSTALL_SCRIPT_FILE "${def_triggers}")
|
||||
set(CPACK_RPM_ONNX_POST_UNINSTALL_SCRIPT_FILE "${def_triggers}")
|
||||
list(APPEND frontends onnx)
|
||||
_ov_add_package(frontend_packages onnx)
|
||||
set(onnx_copyright "generic")
|
||||
endif()
|
||||
|
||||
if(ENABLE_OV_TF_FRONTEND)
|
||||
set(CPACK_COMPONENT_TENSORFLOW_DESCRIPTION "OpenVINO TensorFlow Frontend")
|
||||
set(CPACK_COMPONENT_TENSORFLOW_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_TENSORFLOW_PACKAGE_REQUIRES "${core_package}")
|
||||
set(CPACK_RPM_TENSORFLOW_PACKAGE_NAME "libopenvino-tensorflow-frontend-${cpack_name_ver}")
|
||||
set(CPACK_RPM_TENSORFLOW_POST_INSTALL_SCRIPT_FILE "${def_triggers}")
|
||||
set(CPACK_RPM_TENSORFLOW_POST_UNINSTALL_SCRIPT_FILE "${def_triggers}")
|
||||
list(APPEND frontends tensorflow)
|
||||
_ov_add_package(frontend_packages tensorflow)
|
||||
set(tensorflow_copyright "generic")
|
||||
endif()
|
||||
|
||||
if(ENABLE_OV_PADDLE_FRONTEND)
|
||||
set(CPACK_COMPONENT_PADDLE_DESCRIPTION "OpenVINO Paddle Frontend")
|
||||
set(CPACK_COMPONENT_PADDLE_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_PADDLE_PACKAGE_REQUIRES "${core_package}")
|
||||
set(CPACK_RPM_PADDLE_PACKAGE_NAME "libopenvino-paddle-frontend-${cpack_name_ver}")
|
||||
set(CPACK_RPM_PADDLE_POST_INSTALL_SCRIPT_FILE "${def_triggers}")
|
||||
set(CPACK_RPM_PADDLE_POST_UNINSTALL_SCRIPT_FILE "${def_triggers}")
|
||||
list(APPEND frontends paddle)
|
||||
_ov_add_package(frontend_packages paddle)
|
||||
set(paddle_copyright "generic")
|
||||
endif()
|
||||
|
||||
@@ -259,8 +244,9 @@ macro(ov_cpack_settings)
|
||||
#
|
||||
|
||||
set(CPACK_COMPONENT_CORE_DEV_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit C / C++ Development files")
|
||||
set(CPACK_COMPONENT_CORE_DEV_DEPENDS "${OV_CPACK_COMP_CORE};${frontends}")
|
||||
set(CPACK_RPM_CORE_DEV_PACKAGE_REQUIRES "${core_package}, ${frontend_packages}")
|
||||
set(CPACK_RPM_CORE_DEV_PACKAGE_NAME "libopenvino-devel-${cpack_name_ver}")
|
||||
set(core_dev_package "${CPACK_RPM_CORE_DEV_PACKAGE_NAME} = ${cpack_full_ver}")
|
||||
ov_rpm_generate_conflicts("${OV_CPACK_COMP_CORE_DEV}" ${conflicting_versions})
|
||||
|
||||
ov_rpm_add_rpmlint_suppression("${OV_CPACK_COMP_CORE_DEV}"
|
||||
@@ -282,12 +268,10 @@ macro(ov_cpack_settings)
|
||||
string(TOUPPER "${pyversion}" pyversion)
|
||||
|
||||
set(CPACK_COMPONENT_PYOPENVINO_${pyversion}_DESCRIPTION "OpenVINO Python bindings")
|
||||
set(CPACK_COMPONENT_PYOPENVINO_${pyversion}_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
list(APPEND CPACK_COMPONENT_PYOPENVINO_${pyversion}_DEPENDS ${installed_plugins})
|
||||
list(APPEND CPACK_COMPONENT_PYOPENVINO_${pyversion}_DEPENDS ${frontends})
|
||||
set(CPACK_RPM_PYOPENVINO_${pyversion}_PACKAGE_REQUIRES "python3")
|
||||
|
||||
set(CPACK_RPM_PYOPENVINO_${pyversion}_PACKAGE_REQUIRES
|
||||
"${core_package}, ${frontend_packages}, ${plugin_packages}, python3")
|
||||
set(CPACK_RPM_PYOPENVINO_${pyversion}_PACKAGE_NAME "libopenvino-python-${cpack_name_ver}")
|
||||
set(python_package "${CPACK_RPM_PYOPENVINO_${pyversion}_PACKAGE_NAME} = ${cpack_full_ver}")
|
||||
set(${python_component}_copyright "generic")
|
||||
endif()
|
||||
|
||||
@@ -295,18 +279,17 @@ macro(ov_cpack_settings)
|
||||
# Samples
|
||||
#
|
||||
|
||||
# TODO: provide different packages in two lines below
|
||||
set(samples_build_deps "cmake3, gcc-c++, gcc, glibc-devel, make")
|
||||
set(samples_build_deps_suggest "opencv-devel >= 3.0")
|
||||
|
||||
# c_samples / cpp_samples
|
||||
set(CPACK_COMPONENT_SAMPLES_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit C / C++ Samples")
|
||||
set(CPACK_COMPONENT_SAMPLES_DEPENDS "core_dev")
|
||||
set(CPACK_RPM_SAMPLES_PACKAGE_NAME "openvino-samples-${cpack_name_ver}")
|
||||
set(samples_package "${CPACK_RPM_SAMPLES_PACKAGE_NAME} = ${cpack_full_ver}")
|
||||
# SUGGESTS may be unsupported, it's part of RPM 4.12.0 (Sep 16th 2014) only
|
||||
# see https://rpm.org/timeline.html
|
||||
set(CPACK_RPM_SAMPLES_PACKAGE_SUGGESTS "${samples_build_deps_suggest}, ${all_plugins_suggest}")
|
||||
set(CPACK_RPM_SAMPLES_PACKAGE_REQUIRES "gflags-devel, json-devel, zlib-devel")
|
||||
set(CPACK_RPM_SAMPLES_PACKAGE_SUGGESTS "${samples_build_deps_suggest}, ${plugin_packages}")
|
||||
set(CPACK_RPM_SAMPLES_PACKAGE_REQUIRES "${core_dev_package}, ${samples_build_deps}, gflags-devel, json-devel, zlib-devel")
|
||||
set(CPACK_RPM_SAMPLES_PACKAGE_ARCHITECTURE "noarch")
|
||||
|
||||
ov_rpm_add_rpmlint_suppression("${OV_CPACK_COMP_CPP_SAMPLES}"
|
||||
@@ -320,9 +303,8 @@ macro(ov_cpack_settings)
|
||||
# python_samples
|
||||
if(ENABLE_PYTHON)
|
||||
set(CPACK_COMPONENT_PYTHON_SAMPLES_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit Python Samples")
|
||||
set(CPACK_COMPONENT_PYTHON_SAMPLES_DEPENDS "${python_component}")
|
||||
set(CPACK_RPM_PYTHON_SAMPLES_PACKAGE_REQUIRES "${python_package}, python3")
|
||||
set(CPACK_RPM_PYTHON_SAMPLES_PACKAGE_NAME "openvino-samples-python-${cpack_name_ver}")
|
||||
set(CPACK_RPM_PYTHON_SAMPLES_PACKAGE_REQUIRES "python3")
|
||||
set(CPACK_RPM_PYTHON_SAMPLES_PACKAGE_ARCHITECTURE "noarch")
|
||||
set(python_samples_copyright "generic")
|
||||
endif()
|
||||
@@ -333,26 +315,28 @@ macro(ov_cpack_settings)
|
||||
|
||||
# all libraries
|
||||
set(CPACK_COMPONENT_LIBRARIES_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit Libraries")
|
||||
if(installed_plugins)
|
||||
set(CPACK_COMPONENT_LIBRARIES_DEPENDS "${installed_plugins}")
|
||||
if(plugin_packages)
|
||||
set(CPACK_RPM_LIBRARIES_PACKAGE_REQUIRES "${plugin_packages}")
|
||||
else()
|
||||
set(CPACK_COMPONENT_LIBRARIES_DEPENDS "${OV_CPACK_COMP_CORE}")
|
||||
set(CPACK_RPM_LIBRARIES_PACKAGE_REQUIRES "${core_package}")
|
||||
endif()
|
||||
set(CPACK_RPM_LIBRARIES_PACKAGE_NAME "openvino-libraries-${cpack_name_ver}")
|
||||
set(libraries_package "${CPACK_RPM_LIBRARIES_PACKAGE_NAME} = ${cpack_full_ver}")
|
||||
set(CPACK_RPM_LIBRARIES_PACKAGE_ARCHITECTURE "noarch")
|
||||
set(libraries_copyright "generic")
|
||||
|
||||
# all libraries-dev
|
||||
set(CPACK_COMPONENT_LIBRARIES_DEV_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit Libraries and Development files")
|
||||
set(CPACK_COMPONENT_LIBRARIES_DEV_DEPENDS "core_dev;libraries")
|
||||
set(CPACK_RPM_LIBRARIES_DEV_PACKAGE_REQUIRES "${core_dev_package}, ${libraries_package}")
|
||||
set(CPACK_RPM_LIBRARIES_DEV_PACKAGE_NAME "openvino-libraries-devel-${cpack_name_ver}")
|
||||
set(libraries_dev_package "${CPACK_RPM_LIBRARIES_DEV_PACKAGE_NAME} = ${cpack_full_ver}")
|
||||
set(CPACK_RPM_LIBRARIES_DEV_PACKAGE_ARCHITECTURE "noarch")
|
||||
ov_rpm_generate_conflicts(libraries_dev ${conflicting_versions})
|
||||
set(libraries_dev_copyright "generic")
|
||||
|
||||
# all openvino
|
||||
set(CPACK_COMPONENT_OPENVINO_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit Libraries and Development files")
|
||||
set(CPACK_COMPONENT_OPENVINO_DEPENDS "libraries_dev;samples")
|
||||
set(CPACK_RPM_OPENVINO_PACKAGE_REQUIRES "${libraries_dev_package}, ${samples_package}")
|
||||
set(CPACK_RPM_OPENVINO_PACKAGE_NAME "openvino-${cpack_name_ver}")
|
||||
set(CPACK_RPM_OPENVINO_PACKAGE_ARCHITECTURE "noarch")
|
||||
ov_rpm_generate_conflicts(openvino ${conflicting_versions})
|
||||
|
||||
Reference in New Issue
Block a user