Browse Source

Merge topic 'CPackDeb-fakeroot'

49da3bd CPackDeb fix #10325 automagically use fakeroot for DEB if fakeroot is found
David Cole 14 years ago
parent
commit
682a989fdb
2 changed files with 9 additions and 1 deletions
  1. 5 0
      Modules/CPackDeb.cmake
  2. 4 1
      Source/CPack/cmCPackDebGenerator.cxx

+ 5 - 0
Modules/CPackDeb.cmake

@@ -133,6 +133,11 @@ IF(NOT DEFINED CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
   SET(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
 ENDIF(NOT DEFINED CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
 
+FIND_PROGRAM(FAKEROOT_EXECUTABLE fakeroot)
+IF(FAKEROOT_EXECUTABLE)
+  SET(CPACK_DEBIAN_FAKEROOT_EXECUTABLE ${FAKEROOT_EXECUTABLE})
+ENDIF(FAKEROOT_EXECUTABLE)
+
 IF(CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
   # dpkg-shlibdeps is a Debian utility for generating dependency list
   FIND_PROGRAM(SHLIBDEPS_EXECUTABLE dpkg-shlibdeps)

+ 4 - 1
Source/CPack/cmCPackDebGenerator.cxx

@@ -392,7 +392,10 @@ int cmCPackDebGenerator::createDeb()
     }
 
   std::string cmd;
-  cmd = "\"";
+  if (NULL != this->GetOption("CPACK_DEBIAN_FAKEROOT_EXECUTABLE")) {
+      cmd += this->GetOption("CPACK_DEBIAN_FAKEROOT_EXECUTABLE");
+  }
+  cmd += " \"";
   cmd += cmakeExecutable;
   cmd += "\" -E tar cfz data.tar.gz ";