diff options
author | Fabio Rossi <rossi.f@inwind.it> | 2018-08-26 04:08:32 +0200 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2018-08-26 04:08:32 +0200 |
commit | f6a5cd3e8dcc0a58c04afb14857d43bf98080529 (patch) | |
tree | 8a85ef39d999824493f720ea53907b6727c8ed5f | |
parent | d33bda0b56a268d0b623e14d8915cd1f1906e86e (diff) | |
download | tdebase-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.cmake | 18 | ||||
-rw-r--r-- | tdeioslave/nfs/CMakeLists.txt | 7 |
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} ) |