summaryrefslogtreecommitdiff
blob: 26f11f5bfac5ce197d02f5ba4791822d70596405 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
change the install path, as by default everything is dumped right under
the prefix. After fixing install paths, now fix the source so the
program can find the moved resources.
	
diff --git a/CMakeGlobals.txt b/CMakeGlobals.txt
index da74970..1537bff 100644
--- a/CMakeGlobals.txt
+++ b/CMakeGlobals.txt
@@ -103,7 +103,7 @@ else()
    else()
      set(RSTUDIO_INSTALL_BIN bin)
    endif()
-   set(RSTUDIO_INSTALL_SUPPORTING .)
+   set(RSTUDIO_INSTALL_SUPPORTING ${DISTRO_SHARE})
 endif()
 
 # if the install prefix is /usr/local then tweak as appropriate
diff --git a/src/cpp/server/CMakeLists.txt b/src/cpp/server/CMakeLists.txt
index af4db1c..96b767e 100644
--- a/src/cpp/server/CMakeLists.txt
+++ b/src/cpp/server/CMakeLists.txt
@@ -142,7 +142,7 @@ if (UNIX AND NOT APPLE)
    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_INITD_DEBIAN_SCRIPT}.in
                   ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_INITD_DEBIAN_SCRIPT})
    install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_INITD_DEBIAN_SCRIPT}
-           DESTINATION ${RSERVER_INITD_DEBIAN_DIR})
+           DESTINATION ${DISTRO_SHARE}/${RSERVER_INITD_DEBIAN_DIR})
 
    # install configured redhat init.d script
    set(RSERVER_INITD_REDHAT_DIR "extras/init.d/redhat")
@@ -150,7 +150,7 @@ if (UNIX AND NOT APPLE)
    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_INITD_REDHAT_SCRIPT}.in
                   ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_INITD_REDHAT_SCRIPT})
    install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_INITD_REDHAT_SCRIPT}
-           DESTINATION ${RSERVER_INITD_REDHAT_DIR})
+           DESTINATION ${DISTRO_SHARE}/${RSERVER_INITD_REDHAT_DIR})
 
    # install configured suse init.d script
    set(RSERVER_INITD_SUSE_DIR "extras/init.d/suse")
@@ -158,13 +158,13 @@ if (UNIX AND NOT APPLE)
    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_INITD_SUSE_SCRIPT}.in
                   ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_INITD_SUSE_SCRIPT})
    install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_INITD_SUSE_SCRIPT}
-           DESTINATION ${RSERVER_INITD_SUSE_DIR})
+           DESTINATION ${DISTRO_SHARE}/${RSERVER_INITD_SUSE_DIR})
 
    # install pam profile
    set(RSERVER_PAM_DIR "extras/pam")
    set(RSERVER_PAM_PROFILE "${RSERVER_PAM_DIR}/rstudio")
    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_PAM_PROFILE}
-           DESTINATION ${RSERVER_PAM_DIR})
+           DESTINATION ${DISTRO_SHARE}/${RSERVER_PAM_DIR})
 
    # install configured apparmor profile
    set(RSERVER_APPARMOR_DIR "extras/apparmor")
@@ -172,9 +172,9 @@ if (UNIX AND NOT APPLE)
    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_APPARMOR_PROFILE}.in
                   ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_APPARMOR_PROFILE})
    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_APPARMOR_PROFILE}
-           DESTINATION ${RSERVER_APPARMOR_DIR})
+           DESTINATION ${DISTRO_SHARE}/${RSERVER_APPARMOR_DIR})
    install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_APPARMOR_DIR}/apparmor-profile-load
-           DESTINATION ${RSERVER_APPARMOR_DIR})
+           DESTINATION ${DISTRO_SHARE}/${RSERVER_APPARMOR_DIR})
 
    # install configured upstart profile
    set(RSERVER_UPSTART_DIR "extras/upstart")
@@ -182,6 +182,6 @@ if (UNIX AND NOT APPLE)
    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_UPSTART_PROFILE}.in
                   ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_UPSTART_PROFILE})
    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_UPSTART_PROFILE}
-           DESTINATION ${RSERVER_UPSTART_DIR})
+           DESTINATION ${DISTRO_SHARE}/${RSERVER_UPSTART_DIR})
 
 endif()
diff --git a/src/cpp/server/ServerOptions.cpp b/src/cpp/server/ServerOptions.cpp
index 77a63f1..f0d25f0 100644
--- a/src/cpp/server/ServerOptions.cpp
+++ b/src/cpp/server/ServerOptions.cpp
@@ -201,7 +201,7 @@ ProgramStatus Options::read(int argc, char * const argv[])
 
    // convert relative paths by completing from the system installation
    // path (this allows us to be relocatable)
-   resolvePath(installPath, &wwwLocalPath_);
+   resolvePath(installPath.childPath(DISTRO_SHARE), &wwwLocalPath_);
    resolvePath(installPath, &authPamHelperPath_);
    resolvePath(installPath, &rsessionPath_);
    resolvePath(installPath, &rldpathPath_);
diff --git a/src/cpp/session/SessionOptions.cpp b/src/cpp/session/SessionOptions.cpp
index 0df1081..777cc6a 100644
--- a/src/cpp/session/SessionOptions.cpp
+++ b/src/cpp/session/SessionOptions.cpp
@@ -314,12 +314,12 @@ core::ProgramStatus Options::read(int argc, char * const argv[])
    }
 
    // convert relative paths by completing from the app resource path
-   resolvePath(resourcePath, &rResourcesPath_);
+   resolvePath(resourcePath.childPath(DISTRO_SHARE), &rResourcesPath_);
    resolvePath(resourcePath, &agreementFilePath_);
-   resolvePath(resourcePath, &wwwLocalPath_);
-   resolvePath(resourcePath, &coreRSourcePath_);
-   resolvePath(resourcePath, &modulesRSourcePath_);
-   resolvePath(resourcePath, &sessionPackagesPath_);
+   resolvePath(resourcePath.childPath(DISTRO_SHARE), &wwwLocalPath_);
+   resolvePath(resourcePath.childPath(DISTRO_SHARE), &coreRSourcePath_);
+   resolvePath(resourcePath.childPath(DISTRO_SHARE), &modulesRSourcePath_);
+   resolvePath(resourcePath.childPath(DISTRO_SHARE), &sessionPackagesPath_);
    resolvePostbackPath(resourcePath, &rpostbackPath_);
 #ifdef _WIN32
    resolvePath(resourcePath, &consoleIoPath_);