SHA256
1
0
forked from pool/openvas-smb
Files
openvas-smb/0001-Fix-heimdal-gssapi-dependencies.patch

95 lines
3.3 KiB
Diff

From 2dec4204de81f79922c8b77f54404983172360a8 Mon Sep 17 00:00:00 2001
From: Martin Hauke <mardnh@gmx.de>
Date: Sun, 14 Apr 2019 20:40:10 +0200
Subject: [PATCH] Fix heimdal gssapi dependencies
libheimdal on openSUSE does not provide a pkg-config file for gssapi.
---
CMakeLists.txt | 7 +++----
cmake/Modules/FindGSSAPI.cmake | 34 ++++++++++++++++++++++++++++++++++
samba/CMakeLists.txt | 2 +-
3 files changed, 38 insertions(+), 5 deletions(-)
create mode 100644 cmake/Modules/FindGSSAPI.cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 021b08f..e9515c5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,6 +30,8 @@ project(openvas-smb
set(CMAKE_INCLUDE_CURRENT_DIR ON)
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
+
find_package(Perl REQUIRED)
include (FindPkgConfig)
@@ -144,12 +146,9 @@ endif (NOT INCLUDEDIR)
message ("-- Install prefix: ${CMAKE_INSTALL_PREFIX}")
pkg_check_modules (GNUTLS REQUIRED gnutls>=3.2.15)
-pkg_check_modules (GSSAPI REQUIRED heimdal-gssapi>=1.6.0)
+find_package(GSSAPI REQUIRED heimdal-gssapi>=1.6.0)
pkg_check_modules (POPT REQUIRED popt)
-if(${GSSAPI_VERSION} VERSION_LESS "7.5.0")
- add_definitions(-DOLD_HEIMDAL)
-endif()
set (CMAKE_C_FLAGS "-fPIC -O2 -D_FORTIFY_SOURCE=2 -fstack-protector ${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "-Wno-unused-result -fno-strict-aliasing ${CMAKE_C_FLAGS}")
set (LINKER_HARDENING_FLAGS "-Wl,-z,relro -Wl,-z,now")
diff --git a/cmake/Modules/FindGSSAPI.cmake b/cmake/Modules/FindGSSAPI.cmake
new file mode 100644
index 0000000..6dcf570
--- /dev/null
+++ b/cmake/Modules/FindGSSAPI.cmake
@@ -0,0 +1,34 @@
+INCLUDE(FindPkgConfig)
+PKG_CHECK_MODULES(PC_GSSAPI "gssapi")
+
+FIND_PATH(GSSAPI_INCLUDE_DIRS
+ NAMES gssapi/gssapi.h
+ HINTS ${PC_GSSAPI_INCLUDE_DIR}
+ ${CMAKE_INSTALL_PREFIX}/include
+ ${LIBGSSAPI_INSTALL_PREFIX}/include
+ PATHS
+ /usr/local/include
+ /usr/include
+)
+
+FIND_LIBRARY(GSSAPI_LIBRARIES
+ NAMES gssapi libgssapi
+ HINTS ${PC_GSSAPI_LIBDIR}
+ ${CMAKE_INSTALL_PREFIX}/lib
+ ${CMAKE_INSTALL_PREFIX}/lib64
+ PATHS
+ /usr/local/lib
+ /usr/lib
+)
+
+if (GSSAPI_LIBRARIES AND GSSAPI_INCLUDE_DIRS)
+ set(LIBGSSAPI_FOUND TRUE CACHE INTERNAL "gssapi")
+ message(STATUS "Found gssapi: ${GSSAPI_INCLUDE_DIRS}, ${GSSAPI_LIBRARIES}")
+else (GSSAPI_LIBRARIES AND GSSAPI_INCLUDE_DIRS)
+ set(LIBGSSAPI_FOUND FALSE CACHE INTERNAL "gssapi found")
+ message(STATUS "gssapi not found")
+endif (GSSAPI_LIBRARIES AND GSSAPI_INCLUDE_DIRS)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GSSAPI DEFAULT_MSG GSSAPI_LIBRARIES GSSAPI_INCLUDE_DIRS)
+MARK_AS_ADVANCED(GSSAPI_LIBRARIES GSSAPI_INCLUDE_DIRS)
diff --git a/samba/CMakeLists.txt b/samba/CMakeLists.txt
index 82f55e6..b8eef7f 100644
--- a/samba/CMakeLists.txt
+++ b/samba/CMakeLists.txt
@@ -450,5 +450,5 @@ add_custom_command(
add_library(samba-static STATIC ${RPC_GEN_SRC} ${SAMBA_SRC} ${RPC_GEN_HEADERS})
# Link against static heimdal-gssapi ldflags returned by pkg-config
# Link against libhdb as well since it is missing from the list
-target_link_libraries (samba-static ${GSSAPI_STATIC_LDFLAGS} hdb)
+target_link_libraries (samba-static com_err asn1 krb5 gssapi hdb)
set_target_properties (samba-static PROPERTIES CMAKE_POSITION_INDEPENDENT_CODE TRUE)
--
2.16.4