[CMake] CPack Bundle Generator easily hits hdiutil MNAMELEN limit
Michael Jackson
mike.jackson at bluequartz.net
Wed Jan 7 14:24:49 EST 2009
On Jan 7, 2009, at 1:42 PM, 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?
>
> -Bill
My vote is for /Volumes since that is where OS X mounts everything
else and is the expected behavior for mounting disk images on OS X.
As far as duplicate names go in /Volumes there must some sort of API
because I mount USB multiple thumb drives all the time and each has
the name "UNTITLED" but yet they all mount.
There is also the option:
-mountrandom path like -mountroot, but mountpoint names are
randomized with mkdtemp(3). Note that mountpoint paths must be less
than MNAMELEN characters (90 as of this writing).
Which would probably just solve the problem in combination with
mounting in /Volumes.
Just my 2 cents.
---
Mike Jackson www.bluequartz.net
More information about the CMake
mailing list