[CMake] dpkg: filepath with > 100 characters do not get installed

Mathieu Malaterre mathieu.malaterre at gmail.com
Thu Apr 17 06:38:56 EDT 2008


Hi there,

  CMake CVS does not correctly produces debian package, when filenames
are longer than 100 chars (default tar implementation). To handle
longer filepath, there are two extensions: GNU and POSIX. By default
(except on cygwin), cmake will generate POSIX tarball:

Is there a way to tell cpack then generating the debian package to do
GNU tarball ? The only patch I have so far is pretty intrusive:

$ cvs di Source/CPack/cmCPackTGZGenerator.cxx
Index: Source/CPack/cmCPackTGZGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CPack/cmCPackTGZGenerator.cxx,v
retrieving revision 1.19
diff -u -r1.19 cmCPackTGZGenerator.cxx
--- Source/CPack/cmCPackTGZGenerator.cxx        27 Sep 2007 18:44:10
-0000      1.19
+++ Source/CPack/cmCPackTGZGenerator.cxx        17 Apr 2008 10:34:36 -0000
@@ -234,9 +234,9 @@
     {
     options |= TAR_VERBOSE;
     }
-#ifdef __CYGWIN__
+  // I need that for creating proper debian package on debian stable
+  // which is *still* using GNU tarball (not POSIX ones)...
   options |= TAR_GNU;
-#endif
   if (tar_open(&t, realName,
                &gztype,
                flags, 0644,


Technically -at least on my linux debian- tar will generate GNU
tarball by default, what *NIX system requires the POSIX ones ?


Thanks
-- 
Mathieu
Ref:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=474092


More information about the CMake mailing list