| 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 |
| @@ -333,12 +333,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, &sessionLibraryPath_); |
| - 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), &sessionLibraryPath_); |
| + resolvePath(resourcePath.childPath(DISTRO_SHARE), &sessionPackagesPath_); |
| resolvePostbackPath(resourcePath, &rpostbackPath_); |
| #ifdef _WIN32 |
| resolvePath(resourcePath, &consoleIoPath_); |
| |