I uploaded a Perl module yesterday to CPAN and testers report failures on several platforms when building the module.
The error logs mention unknown files whose name is the same one that the actual included files, but with "._" prepended. For instance, if the tarball contains "Makefile.PL" it turns out that it also contains a mysterious "._Makefile.PL".
Even "ls -a" does not show those "._" files, and opening one of them in a Windows machine showed something that seemed binary, and with "www.macromates.com" somewhere with something that looks like metadata like caret position (I think). That makes me wonder whether TM could have anything to do with them. I am not familiar enough with resource forks to be able to guess what's happening on my own.
Does this ring any bell?
-- fxn
On 13/09/2005, at 16.13, Xavier Noria wrote:
Even "ls -a" does not show those "._" files [...] I am not familiar enough with resource forks to be able to guess what's happening on my own.
It is indeed metadata -- they do not exist as files on HFS+ volumes (for Tiger and onward), but with Tiger cp, tar, zip etc. were all “improved” to store the metadata as these ._... files (and restore the metadata when unpacking on a Tiger machine).
I don't know of an out-of-the-box workaround, other than maybe using cat to copy the files to strip the meta data. If you use tar, you can fetch a version of tar not from Apple and use that instead, since it then won't do the ._... files.
As for the metadata containing www.macromates.com, that should be com.macrmates.textmate.«key name», as that's the recommended way to name meta data keys/extended attributes.
On Sep 13, 2005, at 8:24 AM, Allan Odgaard wrote:
On 13/09/2005, at 16.13, Xavier Noria wrote:
Even "ls -a" does not show those "._" files [...] I am not familiar enough with resource forks to be able to guess what's happening on my own.
It is indeed metadata -- they do not exist as files on HFS+ volumes (for Tiger and onward), but with Tiger cp, tar, zip etc. were all “improved” to store the metadata as these ._... files (and restore the metadata when unpacking on a Tiger machine).
Does this technote only apply to .DS_Store, or also to dot-underscore files? http://docs.info.apple.com/article.html?artnum=301711
On 13/09/2005, at 16.34, Gavin Kistner wrote:
Does this technote only apply to .DS_Store, or also to dot- underscore files? http://docs.info.apple.com/article.html?artnum=301711
Quite sure it doesn't affect this, since this is tar (and zip) which use Darwin API to query the file for extended attributes (and resources forks) to store in the archive (as what I think is AppleDouble).
Actually, I just looked at zip, and for zip archives you can disable this using -X.
I don't see a similar option for tar, if someone needs it, I'd suggest filling an enhancement report with Apple: http:// radar.apple.com/ (or as mentioned in my previous letter, getting a non-Apple blessed version of tar).
On Sep 13, 2005, at 16:24, Allan Odgaard wrote:
On 13/09/2005, at 16.13, Xavier Noria wrote:
Even "ls -a" does not show those "._" files [...] I am not familiar enough with resource forks to be able to guess what's happening on my own.
It is indeed metadata -- they do not exist as files on HFS+ volumes (for Tiger and onward), but with Tiger cp, tar, zip etc. were all “improved” to store the metadata as these ._... files (and restore the metadata when unpacking on a Tiger machine).
I see.
I don't know of an out-of-the-box workaround, other than maybe using cat to copy the files to strip the meta data. If you use tar, you can fetch a version of tar not from Apple and use that instead, since it then won't do the ._... files.
Great, that was really helpful. I installed GNU Tar 1.14 (the current 1.15 does not compile) and the problem is fixed.
As for the metadata containing www.macromates.com, that should be com.macrmates.textmate.«key name», as that's the recommended way to name meta data keys/extended attributes.
That's right, sorry, I was talking from memory. The exact readable string is "com.macromates.caret {column = 0; line = 11; }".
Thank you Allan!
-- fxn
Xavier Noria wrote:
The error logs mention unknown files whose name is the same one that the actual included files, but with "._" prepended. For instance, if the tarball contains "Makefile.PL" it turns out that it also contains a mysterious "._Makefile.PL".
U can read something about metadata in "Mac OSX Tiger for Unix Geeks" http://www.oreilly.com/catalog/macxtigerunix/index.html
The suitable chapter can be read online. On the last page th author says, that ._ files are created automatically, when you copy files to a non-Mac system.
Maby this helps?