From c2bf1f28ac6d1005da728bfd44f86be9015df058 Mon Sep 17 00:00:00 2001
From: Roman Tsisyk <roman@tsisyk.com>
Date: Mon, 1 Feb 2016 16:05:06 +0300
Subject: [PATCH] Remove hard-coded paths from tarantoolctl

Use values generated by cmake. Needed for homebrew.
---
 .gitignore                                   |  1 +
 cmake/pod2man.cmake                          |  3 +++
 extra/dist/CMakeLists.txt                    | 11 ++++++-----
 extra/dist/{tarantoolctl => tarantoolctl.in} |  4 +---
 4 files changed, 11 insertions(+), 8 deletions(-)
 rename extra/dist/{tarantoolctl => tarantoolctl.in} (99%)

diff --git a/.gitignore b/.gitignore
index 86134f36cf..51b507c15b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,6 +25,7 @@ RPM
 tags
 extra/txt2c
 extra/bin2c
+extra/dist/tarantoolctl
 extra/dist/tarantoolctl.1
 extra/dist/tarantool.logrotate
 extra/dist/tarantool.service
diff --git a/cmake/pod2man.cmake b/cmake/pod2man.cmake
index c530907718..9e3959f52d 100644
--- a/cmake/pod2man.cmake
+++ b/cmake/pod2man.cmake
@@ -11,6 +11,9 @@ endif(NOT POD2MAN)
 macro(pod2man PODFILE NAME SECTION CENTER)
     set(PODFILE_FULL "${CMAKE_CURRENT_SOURCE_DIR}/${PODFILE}")
     set(MANFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.${SECTION}")
+    if(NOT EXISTS ${PODFILE_FULL})
+        set(PODFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/${PODFILE}")
+    endif(NOT EXISTS ${PODFILE_FULL})
     if(NOT EXISTS ${PODFILE_FULL})
         message(FATAL ERROR "Could not find pod file ${PODFILE_FULL} to generate man page")
     endif(NOT EXISTS ${PODFILE_FULL})
diff --git a/extra/dist/CMakeLists.txt b/extra/dist/CMakeLists.txt
index 58ceb727da..f8024526f6 100644
--- a/extra/dist/CMakeLists.txt
+++ b/extra/dist/CMakeLists.txt
@@ -32,7 +32,8 @@ else()
     set(SYSCONFIG_DEFAULT "sysconfig")
 endif()
 configure_file(default/tarantool.in default/tarantool @ONLY)
-install (FILES ${PROJECT_BINARY_DIR}/extra/dist/default/tarantool DESTINATION
+configure_file(tarantoolctl.in tarantoolctl @ONLY)
+install (FILES ${CMAKE_CURRENT_BINARY_DIR}/default/tarantool DESTINATION
     ${CMAKE_INSTALL_SYSCONFDIR}/${SYSCONFIG_DEFAULT}/
     PERMISSIONS
     OWNER_READ OWNER_WRITE
@@ -40,7 +41,7 @@ install (FILES ${PROJECT_BINARY_DIR}/extra/dist/default/tarantool DESTINATION
     WORLD_READ)
 
 # tarantoolctl itself
-install (FILES tarantoolctl DESTINATION ${CMAKE_INSTALL_BINDIR}
+install (FILES ${CMAKE_CURRENT_BINARY_DIR}/tarantoolctl DESTINATION ${CMAKE_INSTALL_BINDIR}
     PERMISSIONS
     OWNER_READ OWNER_WRITE OWNER_EXECUTE
     GROUP_READ GROUP_EXECUTE
@@ -74,7 +75,7 @@ install(DIRECTORY DESTINATION ${TARANTOOL_RUNDIR})
 if (NOT TARGET_OS_FREEBSD)
 # logrotate files
 configure_file(tarantool.logrotate.in tarantool.logrotate @ONLY)
-install (FILES ${PROJECT_BINARY_DIR}/extra/dist/tarantool.logrotate
+install (FILES ${CMAKE_CURRENT_BINARY_DIR}/tarantool.logrotate
     DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/logrotate.d/
     RENAME "tarantool"
     PERMISSIONS
@@ -101,14 +102,14 @@ if (WITH_SYSTEMD)
     set(SYSV_INITD_DIR ${CMAKE_INSTALL_PREFIX}/lib/tarantool)
 
     configure_file("tarantool@.service.in" "tarantool@.service" @ONLY)
-    install (FILES ${PROJECT_BINARY_DIR}/extra/dist/tarantool@.service
+    install (FILES ${CMAKE_CURRENT_BINARY_DIR}/tarantool@.service
         DESTINATION ${SYSTEMD_UNIT_DIR}
         PERMISSIONS
         OWNER_READ OWNER_WRITE
         GROUP_READ GROUP_READ
         WORLD_READ WORLD_READ)
     configure_file(tarantool.tmpfiles.conf.in tarantool.tmpfiles.conf @ONLY)
-    install (FILES "${PROJECT_BINARY_DIR}/extra/dist/tarantool.tmpfiles.conf"
+    install (FILES "${CMAKE_CURRENT_BINARY_DIR}/tarantool.tmpfiles.conf"
         DESTINATION "${SYSTEMD_TMPFILES_DIR}"
         RENAME "tarantool.conf"
         PERMISSIONS
diff --git a/extra/dist/tarantoolctl b/extra/dist/tarantoolctl.in
similarity index 99%
rename from extra/dist/tarantoolctl
rename to extra/dist/tarantoolctl.in
index 85d7e41360..aedb13bc85 100755
--- a/extra/dist/tarantoolctl
+++ b/extra/dist/tarantoolctl.in
@@ -238,9 +238,7 @@ local function find_default_file()
     --
     usermode = false
     local config_list = {
-        '/etc/sysconfig/tarantool',
-        '/etc/default/tarantool',
-        '/usr/local/etc/tarantool/default/tarantool',
+        '@CMAKE_INSTALL_FULL_SYSCONFDIR@/@SYSCONFIG_DEFAULT@/tarantool'
     }
     for _, c in pairs(config_list) do
         if fio.stat(c) then
-- 
GitLab