Name: opentelemetry-cpp Version: 1.18.0 Release: 1%{?dist} Summary: The C++ OpenTelemetry client Group: System Environment/Libraries License: Apache-2.0 AND MIT URL: https://opentelemetry.io/ # opentelemetry-proto is needed in the third_party directory, and # is defined as Source1 %global otp_name opentelemetry-proto %global otp_version 1.5.0 Source0: %{name}-%{version}.tar.gz Source1: %{otp_name}-%{otp_version}.tar.gz Patch0: %{name}-%{version}.patch BuildRequires: cmake BuildRequires: gcc-c++ # Required for various exporters: BuildRequires: libcurl-devel BuildRequires: json-devel BuildRequires: protobuf-devel BuildRequires: grpc-devel BuildRequires: c-ares-devel %description OpenTelemetry is a collection of tools, APIs, and SDKs. Use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) to help you analyze your software's performance and behavior. This library contains the OpenTelemetry API and SDK for C++. %files %license LICENSE %doc README.md %defattr(-,root,root,-) %{_libdir}/libopentelemetry_common.so.* %{_libdir}/libopentelemetry_exporter_in_memory.so.* %{_libdir}/libopentelemetry_exporter_ostream_logs.so.* %{_libdir}/libopentelemetry_exporter_ostream_metrics.so.* %{_libdir}/libopentelemetry_exporter_ostream_span.so.* %{_libdir}/libopentelemetry_logs.so.* %{_libdir}/libopentelemetry_metrics.so.* %{_libdir}/libopentelemetry_resources.so.* %{_libdir}/libopentelemetry_trace.so.* %{_libdir}/libopentelemetry_version.so.* # ====== devel ====== %package devel Group: Development/System Summary: Development API for opentelemetry-cpp Requires: opentelemetry-cpp = %{version}-%{release} Requires: cmake-filesystem Requires: json-devel %description devel %{summary} %files devel %license LICENSE %doc README.md %doc docs %{_includedir}/opentelemetry/baggage %{_includedir}/opentelemetry/common %{_includedir}/opentelemetry/config.h %{_includedir}/opentelemetry/context %{_includedir}/opentelemetry/detail %{_includedir}/opentelemetry/exporters/memory %{_includedir}/opentelemetry/exporters/ostream %{_includedir}/opentelemetry/ext %{_includedir}/opentelemetry/logs %{_includedir}/opentelemetry/metrics %{_includedir}/opentelemetry/nostd %{_includedir}/opentelemetry/plugin %{_includedir}/opentelemetry/semconv %{_includedir}/opentelemetry/sdk %{_includedir}/opentelemetry/sdk_config.h %{_includedir}/opentelemetry/std %{_includedir}/opentelemetry/trace %{_includedir}/opentelemetry/version.h %{_libdir}/cmake/opentelemetry-cpp %{_libdir}/libopentelemetry_common.so %{_libdir}/libopentelemetry_exporter_in_memory.so %{_libdir}/libopentelemetry_exporter_ostream_logs.so %{_libdir}/libopentelemetry_exporter_ostream_metrics.so %{_libdir}/libopentelemetry_exporter_ostream_span.so %{_libdir}/libopentelemetry_logs.so %{_libdir}/libopentelemetry_metrics.so %{_libdir}/libopentelemetry_resources.so %{_libdir}/libopentelemetry_trace.so %{_libdir}/libopentelemetry_version.so %{_libdir}/pkgconfig/opentelemetry_api.pc %{_libdir}/pkgconfig/opentelemetry_common.pc %{_libdir}/pkgconfig/opentelemetry_logs.pc %{_libdir}/pkgconfig/opentelemetry_metrics.pc %{_libdir}/pkgconfig/opentelemetry_resources.pc %{_libdir}/pkgconfig/opentelemetry_trace.pc %{_libdir}/pkgconfig/opentelemetry_version.pc # ==== exporter-otlp ==== %package exporter-otlp Summary: OTLP GRPC and HTTP exporters for opentelemetry-cpp Requires: opentelemetry-cpp = %{version}-%{release} Requires: protobuf %description exporter-otlp %{summary} %files exporter-otlp %license LICENSE %{_libdir}/libopentelemetry_exporter_otlp_grpc.so.* %{_libdir}/libopentelemetry_exporter_otlp_grpc_client.so.* %{_libdir}/libopentelemetry_exporter_otlp_grpc_log.so.* %{_libdir}/libopentelemetry_exporter_otlp_grpc_metrics.so.* %{_libdir}/libopentelemetry_exporter_otlp_http.so.* %{_libdir}/libopentelemetry_exporter_otlp_http_client.so.* %{_libdir}/libopentelemetry_exporter_otlp_http_log.so.* %{_libdir}/libopentelemetry_exporter_otlp_http_metric.so.* %{_libdir}/libopentelemetry_http_client_curl.so.* %{_libdir}/libopentelemetry_otlp_recordable.so.* %{_libdir}/libopentelemetry_proto.so.* %{_libdir}/libopentelemetry_proto_grpc.so.* # ==== exporter-otlp-devel ==== %package exporter-otlp-devel Summary: OTLP GRPC and HTTP exporters development files for opentelemetry-cpp Requires: opentelemetry-cpp-exporter-otlp = %{version}-%{release} Requires: opentelemetry-cpp-devel = %{version}-%{release} Requires: protobuf-devel %description exporter-otlp-devel %{summary} %files exporter-otlp-devel %{_includedir}/opentelemetry/exporters/otlp %{_includedir}/opentelemetry/proto %{_libdir}/libopentelemetry_exporter_otlp_grpc.so %{_libdir}/libopentelemetry_exporter_otlp_grpc_client.so %{_libdir}/libopentelemetry_exporter_otlp_grpc_log.so %{_libdir}/libopentelemetry_exporter_otlp_grpc_metrics.so %{_libdir}/libopentelemetry_exporter_otlp_http.so %{_libdir}/libopentelemetry_exporter_otlp_http_client.so %{_libdir}/libopentelemetry_exporter_otlp_http_log.so %{_libdir}/libopentelemetry_exporter_otlp_http_metric.so %{_libdir}/libopentelemetry_http_client_curl.so %{_libdir}/libopentelemetry_otlp_recordable.so %{_libdir}/libopentelemetry_proto.so %{_libdir}/libopentelemetry_proto_grpc.so # ==== exporter-in-memory-metric ==== %package exporter-in-memory-metric Summary: In-memory metrics exporter for opentelemetry-cpp Requires: opentelemetry-cpp = %{version}-%{release} Requires: protobuf %description exporter-in-memory-metric %{summary} %files exporter-in-memory-metric %{_libdir}/libopentelemetry_exporter_in_memory_metric.so.* # ==== exporter-in-memory-metric-devel ==== %package exporter-in-memory-metric-devel Summary: Development files for in-memory metrics exporter for opentelemetry-cpp Requires: exporter-in-memory-metric = %{version}-%{release} Requires: opentelemetry-cpp-devel = %{version}-%{release} Requires: protobuf-devel %description exporter-in-memory-metric-devel %{summary} %files exporter-in-memory-metric-devel %{_libdir}/libopentelemetry_exporter_in_memory_metric.so # ==== exporter-zipkin ==== %package exporter-zipkin Summary: Zipkin exporter for opentelemetry-cpp Requires: opentelemetry-cpp = %{version}-%{release} %description exporter-zipkin %{summary} %files exporter-zipkin %license LICENSE %{_libdir}/libopentelemetry_exporter_zipkin_trace.so.* %{_libdir}/libopentelemetry_http_client_curl.so.* # ==== exporter-zipkin-devel ==== %package exporter-zipkin-devel Summary: Zipkin exporter development files for opentelemetry-cpp Requires: opentelemetry-cpp-exporter-zipkin = %{version}-%{release} Requires: opentelemetry-cpp-devel = %{version}-%{release} %description exporter-zipkin-devel %{summary} %files exporter-zipkin-devel %{_includedir}/opentelemetry/exporters/zipkin %{_libdir}/libopentelemetry_exporter_zipkin_trace.so %{_libdir}/libopentelemetry_http_client_curl.so # ====== %prep %setup -q -n %{name}-%{version} tar xf %{SOURCE1} -C %{_builddir}/%{name}-%{version}/third_party/opentelemetry-proto/ --strip 1 %patch 0 -p1 %build %cmake \ -DBUILD_TESTING:BOOL=OFF \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \ -DWITH_JAEGER:BOOL=OFF \ -DWITH_OTLP_HTTP:BOOL=ON \ -DWITH_OTLP_GRPC:BOOL=ON \ -DWITH_PROMETHEUS:BOOL=OFF \ -DWITH_ZIPKIN:BOOL=ON \ -DWITH_EXAMPLES:BOOL=OFF \ -DWITH_ABSEIL:BOOL=ON \ -DOTELCPP_PROTO_PATH:PATH=%{_builddir}/%{name}-%{version}/third_party/opentelemetry-proto \ -DOTELCPP_VERSIONED_LIBS:BOOL=ON %cmake_build %install %cmake_install %changelog * Wed Dec 18 2024 Kim van der Riet - 1.18.0 - Rebased to 1.18.0 * Tue Oct 8 2024 Kim van der Riet - 1.17.0-1 - Rebased to 1.17.0 * Mon Jun 24 2024 Kim van der Riet - 1.16.0-1 - Rebased to 1.16.0 * Wed May 1 2024 Kim van der Riet - 1.15.0-1 - Rebased to 1.15.0 * Wed Mar 13 2024 Kim van der Riet - 1.14.2-1 - Rebased to 1.14.2 * Thu Feb 22 2024 Kim van der Riet - 1.14.0-1 - Rebased to 1.14.0 - Rebased to opentelemetry-proto v1.1.0 * Tue Dec 12 2023 Kim van der Riet - 1.13.0-1 - Rebased to 1.13.0 - Removed zpages files as these were removed in 1.13.0 * Wed Oct 25 2023 Kim van der Riet - 1.12.0-1 - Rebased to 1.12.0 - Switched License text to SPDX format * Tue Aug 29 2023 Kim van der Riet - 1.11.0-1 - Rebased to 1.11.0 * Thu Jul 27 2023 Kim van der Riet - 1.10.0-1 - Rebased to 1.10.0 * Mon Jun 12 2023 Kim van der Riet - 1.9.1-2 - Added missing requires for -devel packages * Wed May 31 2023 Kim van der Riet - 1.9.1-1 - Rebased to upstream version 1.9.1 - No longer building jaeger exporter * Thu May 25 2023 Kim van der Riet - 1.9.0-5 - Corrected bad Requires for opentelemetry-cpp-zpages - Added separate cmake switches for WITH_OTLP_GRPC and WITH_OTLP_HTTP, both ON * Thu May 11 2023 Kim van der Riet - 1.9.0-4 - Split the various exporters into their own packages * Wed Apr 26 2023 Kim van der Riet - 1.9.0-3 - Added OTLP and OTLP_HTTP exporters - Added zipkin exporter - Fixed missing Requires - Changed to using c++17 which rawhide requires for OTLP exporter * Fri Apr 21 2023 Kim van der Riet - 1.9.0-2 - Fixed rpmlint undefined-non-weak-symbol error - Removed dep on copr build of nlohmann-json, use json-devel instead * Fri Apr 14 2023 Kim van der Riet - 1.9.0-1 - Rebased to upstream version 1.9.0 * Mon Dec 5 2022 Kim van der Riet - 1.8.1-1 - Rebased to upstream version 1.8.1 * Fri Dec 2 2022 Kim van der Riet - 1.7.0-1 - Initial build of 1.7.0