MantisBT - CMake
View Issue Details
0014782CMake(No Category)public2014-03-01 16:442015-07-08 08:57
Xiaoming Wang 
Domen Vrankar 
highmajoralways
closedfixed 
RPM base Linux
CMake 2.8.12.2 
CMake 3.3CMake 3.3 
0014782: CPack fails when install file/dir path has '@'
patch "https://public.kitware.com/Bug/file/4715/0001-CPackRPM-protect-character-in-filename-processed-in-.patch [^] fixed install path with double '@' problem. This patch is merged in CMake 2.8.12.2 (not sure other 2.8.12 and 2.8.12.1)
But in CMake 2.8.12.2 generating RPM spec.in changed to use @CPACK_RPM_INSTALL_FILES@ instead of expansion of ${CPACK_RPM_INSTALL_FILES@} in earlier cake version. These combination makes install path with '@' no longer works.

One of simple fix is just remove the patch in <CAMKE_HOME>/Modules/CPackRPM.cmake in 2.8.12.x.
Our company provide some crucial products in Big Data area for both Open Source and Enterprise users.
This bug breaks our builds on any systems with CMake 2.8.12.2 (possible CMake 2.8.12 or later).

We can handle it in our internal build systems now but it will be hard to community users who want to compile our code on their own environment.

It will be appreciated if this bug can be fixed in the future CMake release.
For build RPM base package and have install path with '@'. It can be reproduced on CMake 2.8.12.2 (probably 2.8.12 or later)
No tags attached.
Issue History
2014-03-01 16:44Xiaoming WangNew Issue
2014-03-03 08:47Brad KingAssigned To => Eric NOULARD
2014-03-03 08:47Brad KingStatusnew => assigned
2014-03-03 08:48Brad KingNote Added: 0035227
2014-12-15 21:18Xiaoming WangNote Added: 0037465
2014-12-16 08:23Brad KingAssigned ToEric NOULARD => Domen Vrankar
2015-01-05 07:10Domen VrankarNote Added: 0037556
2015-02-24 08:52Brad KingNote Added: 0038048
2015-02-24 08:52Brad KingStatusassigned => resolved
2015-02-24 08:52Brad KingResolutionopen => fixed
2015-02-24 08:52Brad KingFixed in Version => CMake 3.3
2015-02-24 08:52Brad KingTarget Version => CMake 3.3
2015-07-08 08:57Robert MaynardNote Added: 0039062
2015-07-08 08:57Robert MaynardStatusresolved => closed

Notes
(0035227)
Brad King   
2014-03-03 08:48   
The patch in question is:

 CPackRPM protect '@' character in filename processed in the spec file.
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1703e069 [^]
(0037465)
Xiaoming Wang   
2014-12-15 21:18   
This bug also need to be fixed in CMake 3.x
(0037556)
Domen Vrankar   
2015-01-05 07:10   
I've tested CPackRPM with @ characters on different locations in the paths and I'd say that this patch is no longer needed and is only causing invalid path expansion (@ symbols are not replaced recursively so no need for this patch).

I'll remove the patch and the problem should be fixed.
(0038048)
Brad King   
2015-02-24 08:52   
CPackRPM: Drop explicit handling of '@' symbols that breaks them
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5857ca5e [^]
(0039062)
Robert Maynard   
2015-07-08 08:57   
Closing resolved issues that have not been updated in more than 4 months.