[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