[apitrace] Remove dlsym hack, use %%define __filter_GLIBC_PRIVATE 1

Sandro Mani smani at fedoraproject.org
Mon Mar 2 22:41:57 UTC 2015


commit c73ece3eaf16976680b614781d79c8e6064af398
Author: Sandro Mani <manisandro at gmail.com>
Date:   Mon Mar 2 23:41:27 2015 +0100

    Remove dlsym hack, use %%define __filter_GLIBC_PRIVATE 1

 apitrace-6.0_dlsym.patch    |  25 --
 apitrace-6.0_unbundle.patch | 644 --------------------------------------------
 apitrace-6.1_unbundle.patch |  64 +++++
 apitrace.spec               |  13 +-
 4 files changed, 72 insertions(+), 674 deletions(-)
---
diff --git a/apitrace-6.1_unbundle.patch b/apitrace-6.1_unbundle.patch
new file mode 100644
index 0000000..75177ce
--- /dev/null
+++ b/apitrace-6.1_unbundle.patch
@@ -0,0 +1,64 @@
+diff -rupN apitrace-6.1/CMakeLists.txt apitrace-6.1-new/CMakeLists.txt
+--- apitrace-6.1/CMakeLists.txt	2015-01-09 00:46:25.000000000 +0100
++++ apitrace-6.1-new/CMakeLists.txt	2015-03-02 23:21:04.423253595 +0100
+@@ -309,42 +309,19 @@ set (SCRIPTS_INSTALL_DIR ${LIB_INSTALL_D
+ set (WRAPPER_INSTALL_DIR ${LIB_ARCH_INSTALL_DIR}/wrappers)
+ 
+ 
+-##############################################################################
+-# Bundled dependencies
+-#
+-# We always use the bundled zlib, libpng, and snappy sources:
+-# - on Windows to make it easy to deploy the wrappers DLLs
+-# - on unices to prevent symbol collisions when tracing applications that link
+-# against other versions of these libraries
+-
+-set (ZLIB_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zlib)
+-set (ZLIB_LIBRARIES z_bundled)
+-add_subdirectory (thirdparty/zlib)
+-
++find_package (ZLIB REQUIRED)
+ include_directories (${ZLIB_INCLUDE_DIRS})
+ 
+-set (SNAPPY_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/snappy)
+-set (SNAPPY_LIBRARIES snappy_bundled)
+-add_subdirectory (thirdparty/snappy)
+-
++set (SNAPPY_INCLUDE_DIRS "")
++set (SNAPPY_LIBRARIES -lsnappy)
+ include_directories (${SNAPPY_INCLUDE_DIRS})
+ 
+ set (PNG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libpng)
+ set (PNG_DEFINITIONS "")
+ set (PNG_LIBRARIES png_bundled)
+ 
+-add_subdirectory (thirdparty/libpng)
+-
+-if (MSVC)
+-    add_subdirectory (thirdparty/getopt)
+-    include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/getopt)
+-    set (GETOPT_LIBRARIES getopt_bundled)
+-endif ()
+-
+-if (WIN32)
+-    add_subdirectory (thirdparty/directxtex)
+-    add_subdirectory (thirdparty/devcon)
+-endif ()
++find_package (PNG REQUIRED)
++include_directories (${PNG_INCLUDE_DIR})
+ 
+ if (CMAKE_EXECUTABLE_FORMAT STREQUAL "ELF")
+     add_subdirectory (thirdparty/libbacktrace)
+@@ -364,10 +341,8 @@ set (MD5_LIBRARIES md5_bundled)
+ if (QT4_FOUND)
+     add_definitions (-DQJSON_EXPORT=)
+     add_subdirectory (thirdparty/qjson)
+-    set (QJSON_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty)
+-    set (QJSON_LIBRARY_DIRS)
+-    set (QJSON_LIBRARIES qjson_bundled)
+-    set (QJSON_FOUND TRUE)
++    find_package (QJSON REQUIRED)
++    include_directories (${QJSON_INCLUDE_DIRS})
+ endif ()
+ 
+ # We use bundled headers for all Khronos APIs, to guarantee support for both
diff --git a/apitrace.spec b/apitrace.spec
index e46aed3..9c3aad2 100644
--- a/apitrace.spec
+++ b/apitrace.spec
@@ -1,6 +1,9 @@
+# Filter GLIBC_PRIVATE Requires, see wrappers/dlsym.cpp
+%define __filter_GLIBC_PRIVATE 1
+
 Name:           apitrace
 Version:        6.1
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Tools for tracing OpenGL
 
 License:        MIT
@@ -10,11 +13,9 @@ Source1:        qapitrace.desktop
 Source2:        qapitrace.appdata.xml
 
 # Don't bundle libraries, except libbacktrace
-Patch0:         apitrace-6.0_unbundle.patch
+Patch0:         apitrace-6.1_unbundle.patch
 # Remove gzguts.h requirement (needed for Patch0)
 Patch1:         apitrace-6.0_gzguts.patch
-# Avoid using private glibc symbol
-Patch2:         apitrace-6.0_dlsym.patch
 
 BuildRequires:  cmake
 BuildRequires:  qtwebkit-devel
@@ -63,7 +64,6 @@ This package contains qapitrace, the Graphical frontend for apitrace.
 %setup -q -n %{name}-%{version}
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
 
 # Remove bundled libraries, except khronos headers and libbacktrace
 rm -rf `ls -1 thirdparty | grep -Ev "(khronos|md5|libbacktrace)"`
@@ -123,6 +123,9 @@ chmod 0644 %{buildroot}%{_libdir}/%{name}/scripts/highlight.py
 
 
 %changelog
+* Mon Mar 02 2015 Sandro Mani <manisandro at gmail.com> - 6.1-3
+- Remove dlsym hack, use %%define __filter_GLIBC_PRIVATE 1
+
 * Fri Jan 16 2015 Sandro Mani <manisandro at gmail.com> - 6.1-2
 - Fix appdata file
 


More information about the scm-commits mailing list