Search plugins, ACL ressources and other data files relative to the compile
time CMAKE_INSTALL_PREFIX instead of hardcoding `/usr`.
Also ensure that plugin libraries are installed into the lib/rpcd subdir.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
INCLUDE(CheckFunctionExists)
PROJECT(rpcd C)
-ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations)
+ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations -DINSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}")
INCLUDE_DIRECTORIES(include)
OPTION(FILE_SUPPORT "File plugin support" ON)
INSTALL(TARGETS rpcd ${PLUGINS}
RUNTIME DESTINATION sbin
- LIBRARY DESTINATION lib
+ LIBRARY DESTINATION lib/rpcd
)
#include <rpcd/session.h>
/* location of plugin executables */
-#define RPC_PLUGIN_DIRECTORY "/usr/libexec/rpcd"
+#define RPC_PLUGIN_DIRECTORY INSTALL_PREFIX "/libexec/rpcd"
/* location of plugin libraries */
-#define RPC_LIBRARY_DIRECTORY "/usr/lib/rpcd"
+#define RPC_LIBRARY_DIRECTORY INSTALL_PREFIX "/lib/rpcd"
struct rpc_daemon_ops {
bool (*session_access)(const char *sid, const char *scope,
#define RPC_DEFAULT_SESSION_TIMEOUT 300
#define RPC_DEFAULT_SESSION_ID "00000000000000000000000000000000"
#define RPC_SESSION_DIRECTORY "/var/run/rpcd/sessions"
-#define RPC_SESSION_ACL_DIR "/usr/share/rpcd/acl.d"
+#define RPC_SESSION_ACL_DIR INSTALL_PREFIX "/share/rpcd/acl.d"
extern char apply_sid[RPC_SID_LEN + 1];