Accepting request 664614 from home:mrostecki

- Initial release 0.8.1:
  * Support setting up gRPC via cmake.
  * Improve performance of span context propagation.
  * Add benchmarks for multikey propagation performance.
- Add lightstep-tracer-cpp-cmake-add-soversion.patch - required to
  build libraries with soversion
- Add lightstep-tracer-cpp-cmake-use-gnuinstalldirs.patch -
  required to install libraries in custom libdir

OBS-URL: https://build.opensuse.org/request/show/664614
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/lightstep-tracer-cpp?expand=0&rev=1
This commit is contained in:
2019-01-16 00:11:36 +00:00
committed by Git OBS Bridge
commit 83d6a9ce3f
9 changed files with 244 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

16
_service Normal file
View File

@@ -0,0 +1,16 @@
<services>
<service mode="disabled" name="tar_scm">
<param name="url">https://github.com/lightstep/lightstep-tracer-cpp.git</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
<param name="filename">lightstep-tracer-cpp</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="revision">refs/tags/v0.8.1</param>
</service>
<service mode="disabled" name="recompress">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service mode="disabled" name="set_version"/>
</services>

4
_servicedata Normal file
View File

@@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/lightstep/lightstep-tracer-cpp.git</param>
<param name="changesrevision">798dbca30c70f454d53ad55af5a18d7cf312ee3f</param></service></servicedata>

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f080a67679d076af3271413f4bfb00be923e5c632698789519a5cb9b1f4ff027
size 123176

View File

@@ -0,0 +1,27 @@
From 73e22db28728a2979ec90e18606f162d676a29aa Mon Sep 17 00:00:00 2001
From: Michal Rostecki <mrostecki@suse.de>
Date: Tue, 11 Dec 2018 18:22:11 +0100
Subject: [PATCH 1/2] cmake: Add SOVERSION property to the library
SOVERSION property creates `so.0` files, not only `.so`.
Signed-off-by: Michal Rostecki <mrostecki@suse.de>
---
CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dc3639f..29b427e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -204,6 +204,7 @@ if (BUILD_SHARED_LIBS)
_apply_clang_tidy_if_available(lightstep_tracer)
endif()
target_link_libraries(lightstep_tracer ${LIGHTSTEP_LINK_LIBRARIES})
+ set_target_properties(lightstep_tracer PROPERTIES SOVERSION ${LIGHTSTEP_VERSION_MAJOR})
install(TARGETS lightstep_tracer
LIBRARY DESTINATION lib)
endif()
--
2.19.2

View File

@@ -0,0 +1,76 @@
From 2e9a2e1d71bf10312d03470b56006a03ca2b06f7 Mon Sep 17 00:00:00 2001
From: Michal Rostecki <mrostecki@suse.de>
Date: Tue, 11 Dec 2018 18:25:16 +0100
Subject: [PATCH 2/2] cmake: Use GNUInstallDirs for libdir and includedir
The comon practice in cmake to allow to specify the libdir or
includedir using GNUInstallDirs which introduces the following
options:
* CMAKE_INSTALL_INCLUDEDIR
* CMAKE_INSTALL_LIBDIR
The main motivation behind this change is ability to use /usr/lib64
instead of /usr/lib as a libdir.
Signed-off-by: Michal Rostecki <mrostecki@suse.de>
---
CMakeLists.txt | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 29b427e..4b51430 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,6 +28,12 @@ include(CPack)
# ==============================================================================
# Set up options
+# Introduce variables:
+# * CMAKE_INSTALL_LIBDIR
+# * CMAKE_INSTALL_BINDIR
+# * CMAKE_INSTALL_INCLUDEDIR
+include(GNUInstallDirs)
+
option(WITH_GRPC "Build with support for gRPC." ON)
option(WITH_DYNAMIC_LOAD "Build support for dynamic loading." ON)
option(ENABLE_LINTING "Run clang-tidy on sources if available." OFF)
@@ -67,7 +73,7 @@ configure_file(version.h.in include/lightstep/version.h)
configure_file(config.h.in include/lightstep/config.h)
include_directories(${CMAKE_CURRENT_BINARY_DIR}/include)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/lightstep
- DESTINATION include)
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
if(HEADERS_ONLY)
return()
@@ -152,7 +158,7 @@ add_subdirectory(3rd_party)
include_directories(SYSTEM ${LIGHTSTEP_THIRD_PARTY_INCLUDES})
include_directories(include)
-install(DIRECTORY include/lightstep DESTINATION include)
+install(DIRECTORY include/lightstep DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
include(LightStepTracerCommon)
@@ -206,7 +212,7 @@ if (BUILD_SHARED_LIBS)
target_link_libraries(lightstep_tracer ${LIGHTSTEP_LINK_LIBRARIES})
set_target_properties(lightstep_tracer PROPERTIES SOVERSION ${LIGHTSTEP_VERSION_MAJOR})
install(TARGETS lightstep_tracer
- LIBRARY DESTINATION lib)
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
if (BUILD_STATIC_LIBS)
@@ -222,7 +228,7 @@ if (BUILD_STATIC_LIBS)
endif()
target_link_libraries(lightstep_tracer-static ${LIGHTSTEP_LINK_LIBRARIES})
install(TARGETS lightstep_tracer-static
- ARCHIVE DESTINATION lib)
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
--
2.19.2

View File

@@ -0,0 +1,11 @@
-------------------------------------------------------------------
Tue Dec 11 16:47:04 UTC 2018 - Michał Rostecki <mrostecki@suse.de>
- Initial release 0.8.1:
* Support setting up gRPC via cmake.
* Improve performance of span context propagation.
* Add benchmarks for multikey propagation performance.
- Add lightstep-tracer-cpp-cmake-add-soversion.patch - required to
build libraries with soversion
- Add lightstep-tracer-cpp-cmake-use-gnuinstalldirs.patch -
required to install libraries in custom libdir

83
lightstep-tracer-cpp.spec Normal file
View File

@@ -0,0 +1,83 @@
#
# spec file for package lightstep-tracer-cpp
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define sover 0
%define libname liblightstep_tracer%{sover}
Name: lightstep-tracer-cpp
Version: 0.8.1
Release: 0
Summary: C++ library for LightStep distributed tracing
License: MIT
Group: Development/Languages/C and C++
Url: http://lightstep.com/
Source: %{name}-%{version}.tar.xz
Patch0: lightstep-tracer-cpp-cmake-add-soversion.patch
Patch1: lightstep-tracer-cpp-cmake-use-gnuinstalldirs.patch
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: grpc-devel
BuildRequires: opentracing-cpp-devel
BuildRequires: protobuf-devel
%description
C++ library for the LightStep distributed tracing.
%package -n %{libname}
Summary: C++ library for LightStep distributed tracing
Group: System/Libraries
%description -n %{libname}
Shared library for lightstep-tracer-cpp - C++ library for LightStep
distributed tracing.
%package devel
Summary: Development files for the LightStep C++ library
Group: Development/Languages/C and C++
Requires: %{libname} = %{version}
%description devel
Development files for lightstep-tracer-cpp - C++ library for LightStep
distributed tracing.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
%cmake
%make_jobs
%install
%cmake_install
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%files -n %{libname}
%license LICENSE
%doc README.md
%{_libdir}/liblightstep_tracer.so.0
%files devel
%{_includedir}/lightstep
%{_libdir}/liblightstep_tracer.so
%changelog