[CMake] CPack Bundle Generator easily hits hdiutil MNAMELEN limit

Timothy M. Shead tshead at sandia.gov
Wed Jan 7 13:54:17 EST 2009


Bill Hoffman wrote:
> Mike Arthur wrote:
>> >From the hdiutil manpage:
>> -mountroot path	mount volumes in path instead of in /Volumes.  path must 
>> exist.  Note that mountpoint paths must be less than MNAMELEN characters (90 
>> as of this writing).
>>
>> This limit is easily hit by the mounting of the temporary dmg (tmp.dmg) in the 
>> Bundle Generator and causes it to fail.
>>
>> May I suggest that, instead of mounting into ./_CPack_Packages/OSX-
>> Universal/Bundle/mnt/ instead /tmp/cpackmnt/ is used instead or the mountpoint 
>> parameter omitted and the Volumes mountpoint is used instead?
>>
>> I can write a patch if necessary but it should be a trivial fix (if agreed).
> 
> I am concerned that /tmp/ would not be unique enough, what if two cpacks 
> run at the same time?

BTW, this is a known issue that has a patch:

http://public.kitware.com/Bug/view.php?id=7523

Certainly we could incorporate the pid into the mountpoint, etc. but the 
larger concern was making-sure things get cleaned-up properly.  It would 
be a nice-to-have if CPack provided some API around tempfiles for 
package-developers - I could imagine something where you request a temp 
file / temp directory from CPack, which returns the path, then CPack 
ensures that it gets cleaned-up automatically.

Cheers,
Tim

-- 
Timothy M. Shead
Data Analysis & Visualization (1424)
Sandia National Laboratories
505-284-0139



More information about the CMake mailing list