[cmake-commits] alex committed cmCPackRPMGenerator.cxx 1.2 1.3 cmCPackRPMGenerator.h 1.1 1.2

cmake-commits at cmake.org cmake-commits at cmake.org
Fri Aug 17 09:13:17 EDT 2007


Update of /cvsroot/CMake/CMake/Source/CPack
In directory public:/mounts/ram/cvs-serv5846/Source/CPack

Modified Files:
	cmCPackRPMGenerator.cxx cmCPackRPMGenerator.h 
Log Message:

ENH: patch from Eric Noulard for an RPM package generator
It seems rpmbuild can't handle paths with spaces, it complains that
Buildroot takes only one tag (or something like this), quoting and escaping
don't seem to help.

Alex


Index: cmCPackRPMGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CPack/cmCPackRPMGenerator.cxx,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- cmCPackRPMGenerator.cxx	8 Aug 2007 19:44:02 -0000	1.2
+++ cmCPackRPMGenerator.cxx	17 Aug 2007 13:13:15 -0000	1.3
@@ -35,19 +35,34 @@
 }
 
 //----------------------------------------------------------------------
-int cmCPackRPMGenerator::CompressFiles(const char* outFileName,
-  const char* toplevel,
+int cmCPackRPMGenerator::CompressFiles(const char* /*outFileName*/,
+  const char* /*toplevel*/,
   const std::vector<std::string>& /*files*/)
 {
   this->ReadListFile("CPackRPM.cmake");
+//   const char* cmakeExecutable = this->GetOption("CMAKE_COMMAND");
+
   if (!this->IsSet("RPMBUILD_EXECUTABLE")) 
     {
     cmCPackLogger(cmCPackLog::LOG_ERROR, "Cannot find rpmbuild" << std::endl);
     return 0;
     }
-  const char* rpmbuildExecutable = this->GetOption("RPMBUILD_EXECUTABLE");
-  printf("rpmbuild: %s outFileName: %s toplevel: %s\n", rpmbuildExecutable, 
-         outFileName, toplevel);
+
+  /* FIXME we should be able to stick with RPM naming scheme
+   * and not following CMake naming scheme?
+  const char* rpmFileName = this->GetOption("RPM_FILE_NAME");
+  const char* rpmDirectory = this->GetOption("RPM_DIRECTORY");
+  this->SetOption("CPACK_OUTPUT_FILE_NAME",rpmFileName);
+  std::string rpmFilePath;
+  rpmFilePath += rpmDirectory;
+  rpmFilePath += "/";
+  rpmFilePath += rpmFileName;
+  this->SetOption("CPACK_TEMPORARY_PACKAGE_FILE_NAME",rpmFilePath.c_str());
+  */
+  //  this->SetOption("CPACK_OUTPUT_FILE_PATH",rpmFilePath);
+  
+  //FIXME I think we should split CPackRPM.cmake into (at least)
+  //      2 differents files
 
   return 1;
 }

Index: cmCPackRPMGenerator.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CPack/cmCPackRPMGenerator.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- cmCPackRPMGenerator.h	8 Aug 2007 15:33:42 -0000	1.1
+++ cmCPackRPMGenerator.h	17 Aug 2007 13:13:15 -0000	1.2
@@ -23,7 +23,11 @@
 
 /** \class cmCPackRPMGenerator
  * \brief A generator for RPM packages
- *
+ * The idea of the CPack RPM generator is to use
+ * as minimal C++ code as possible.
+ * Ideally the C++ part of the CPack RPM generator
+ * will only 'execute' (aka ->ReadListFile) several
+ * CMake macros files.
  */
 class cmCPackRPMGenerator : public cmCPackGenericGenerator
 {



More information about the Cmake-commits mailing list