[Catalyst] ._ files in installation of Catalyst-5.67 from CPAN
Shlomi Fish
shlomif at iglu.org.il
Mon Apr 24 15:22:04 CEST 2006
On Monday 24 April 2006 15:36, John Siracusa wrote:
> On 4/24/06 3:57 AM, Shlomi Fish wrote:
> > On Monday 24 April 2006 02:18, Scott Karns wrote:
> >> [...]
> >> /usr/lib/perl5/vendor_perl/5.8.7/Catalyst/._Exception.pm
> >
> > Hmmm... Mac OS X' tar strikes again?
> >
> > http://www.advogato.org/person/fxn/diary.html?start=401
>
> It's not Mac OS X's tar. The same thing can happen if you compile GNU tar
> from source and use it instead.
Have you tried it that you can testify that it happens with GNU tar? According
to the blog entry that I pointed in the URL, the problems FXN encountered
with his Perl modules have disappeared after he switched to using GNU tar to
package the archives.
> It's the OS trying to preserve HFS+
> metadata: not just the resource fork, but all the other stuff too like last
> backup date, Finder flags, type and creator codes, extended attributes,
> etc.
>
It's unlikely that the OS will do that by instructing any vanilla tar to put
such files inside the archive. Rather, it makes more sense to assume that the
OS X tar was modified in a way to do that explicitly. That's what FXN says is
the case in his blog entry.
> The really evil part is that it'll create those ._ files inconsistently.
> For example, on one of my Macs it happens every time I run "make dist," and
> on the other, it does not. The software is identical on both (one HD was
> cloned to create the other's).
>
> I've tried many things to fight this. I delete all the ._ files as part of
> "make clean" and right before "make dist," but it doesn't help. I've even
> tried running "make distdir" instead, then deleting the ._ files from the
> distdir, then tarring it myself. That works sometimes.
>
> I recently did battle with the problem again (after releasing yet another
> module to CPAN filled with ._ files...grrr) and came up with this solution
> (for ExtUtils::MakeMaker users, anyway). Add these arguments to the call
> to WriteMakefile()
>
> dist => { DIST_CP => 'cp' }, # Avoid Mac OS X ._* files
>
> Since Mac OS X's 10.4 "cp" command actually preserves all metadata
> "natively," I guess it doesn't feel the need to create the ._ files. Or
> maybe it's something else, I didn't really have time to get down to the
> bottom of it. I just know that, so far, this solution has worked for me.
> I can run "make dist" now and no ._ files are created. Presumably there's
> some similar solution that's applicable to Module::Build and friends.
>
Regards,
Shlomi Fish
> -John
>
>
>
> _______________________________________________
> Catalyst mailing list
> Catalyst at lists.rawmode.org
> http://lists.rawmode.org/mailman/listinfo/catalyst
--
---------------------------------------------------------------------
Shlomi Fish shlomif at iglu.org.il
Homepage: http://www.shlomifish.org/
95% of the programmers consider 95% of the code they did not write, in the
bottom 5%.
More information about the Catalyst
mailing list