Browse Source

build: honour CMake install prefix in hardcoded paths

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>
Jo-Philipp Wich 2 years ago
parent
commit
75a96dc281
3 changed files with 5 additions and 5 deletions
  1. 2 2
      CMakeLists.txt
  2. 2 2
      include/rpcd/plugin.h
  3. 1 1
      include/rpcd/session.h

+ 2 - 2
CMakeLists.txt

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 2.6)
 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)
@@ -67,5 +67,5 @@ ENDIF()
 
 INSTALL(TARGETS rpcd ${PLUGINS}
 	RUNTIME DESTINATION sbin
-	LIBRARY DESTINATION lib
+	LIBRARY DESTINATION lib/rpcd
 )

+ 2 - 2
include/rpcd/plugin.h

@@ -39,10 +39,10 @@
 #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,

+ 1 - 1
include/rpcd/session.h

@@ -34,7 +34,7 @@
 #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];