summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Rossi <rossi.f@inwind.it>2018-08-26 04:08:32 +0200
committerSlávek Banko <slavek.banko@axis.cz>2018-08-26 04:08:32 +0200
commitf6a5cd3e8dcc0a58c04afb14857d43bf98080529 (patch)
tree8a85ef39d999824493f720ea53907b6727c8ed5f
parentd33bda0b56a268d0b623e14d8915cd1f1906e86e (diff)
downloadtdebase-f6a5cd3e8dcc0a58c04afb14857d43bf98080529.tar.gz
tdebase-f6a5cd3e8dcc0a58c04afb14857d43bf98080529.zip
tdeioslave nfs: Add support for libtirpc
as a replacement for deprecated SunRPC from glibc >= 2.26 This resolves bug 2962 Signed-off-by: Fabio Rossi <rossi.f@inwind.it>
-rw-r--r--tdeioslave/ConfigureChecks.cmake18
-rw-r--r--tdeioslave/nfs/CMakeLists.txt7
2 files changed, 22 insertions, 3 deletions
diff --git a/tdeioslave/ConfigureChecks.cmake b/tdeioslave/ConfigureChecks.cmake
index eed370833..b1da9eb93 100644
--- a/tdeioslave/ConfigureChecks.cmake
+++ b/tdeioslave/ConfigureChecks.cmake
@@ -24,3 +24,21 @@ if( WITH_SASL )
tde_message_fatal( "sasl2 are requested, but not found on your system" )
endif( )
endif( )
+
+# rpc/rpc.h, originally was shipped with glibc ...
+check_include_file( rpc/rpc.h HAVE_RPC_H )
+# ... but later might be not present (deprecated from 2.26)
+if( NOT HAVE_RPC_H )
+ pkg_search_module( TIRPC libtirpc )
+ if( NOT TIRPC_FOUND )
+ tde_message_fatal( "rpc/rpc.h is required, please check your glibc or libtirpc package" )
+ endif( )
+endif( )
+
+message( STATUS "Looking for rpcgen" )
+find_program( RPCGEN_BINARY rpcgen )
+if( RPCGEN_BINARY )
+ message( STATUS "Looking for rpcgen - ${RPCGEN_BINARY}" )
+else( RPCGEN_BINARY )
+ tde_message_fatal( "rpcgen is required, but not found on your system" )
+endif( RPCGEN_BINARY )
diff --git a/tdeioslave/nfs/CMakeLists.txt b/tdeioslave/nfs/CMakeLists.txt
index b45824d73..1f0749898 100644
--- a/tdeioslave/nfs/CMakeLists.txt
+++ b/tdeioslave/nfs/CMakeLists.txt
@@ -15,6 +15,7 @@ include_directories(
${CMAKE_BINARY_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
+ ${TIRPC_INCLUDE_DIRS}
)
link_directories(
@@ -32,15 +33,15 @@ install( FILES nfs.protocol DESTINATION ${SERVICES_INSTALL_DIR} )
set( target tdeio_nfs )
add_custom_command( OUTPUT mount_xdr.c
- COMMAND rpcgen -c -o mount_xdr.c ${CMAKE_CURRENT_SOURCE_DIR}/mount.x
+ COMMAND ${RPCGEN_BINARY} -c -o mount_xdr.c ${CMAKE_CURRENT_SOURCE_DIR}/mount.x
DEPENDS mount.x )
add_custom_command( OUTPUT nfs_prot_xdr.c
- COMMAND rpcgen -c -o nfs_prot_xdr.c ${CMAKE_CURRENT_SOURCE_DIR}/nfs_prot.x
+ COMMAND ${RPCGEN_BINARY} -c -o nfs_prot_xdr.c ${CMAKE_CURRENT_SOURCE_DIR}/nfs_prot.x
DEPENDS nfs_prot.x )
tde_add_kpart( ${target} AUTOMOC
SOURCES tdeio_nfs.cpp mount_xdr.c nfs_prot_xdr.c
- LINK tdeio-shared
+ LINK tdeio-shared ${TIRPC_LIBRARIES}
DESTINATION ${PLUGIN_INSTALL_DIR}
)