Skip Menu |

This queue is for tickets about the ExtUtils-MakeMaker CPAN distribution.

Report information
The Basics
Id: 25913
Status: resolved
Priority: 0/
Queue: ExtUtils-MakeMaker

People
Owner: Nobody in particular
Requestors: gilad [...] arbingersys.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: tar options on NTFS for CPAN submissions
My system is Windows XP, with an NTFS filesystem. I have created a CPAN module with h2xs, and create the distribution with an 'nmake dist'. When I upload the resulting tar.gz file to CPAN, the permissions in the tarball are missing the 'x' bit (the following text is from one of the CPAN maintainers): When you do an 'ls -l' you will normally see something like this: -rw-r--r-- ... Changes -rw-r--r-- ... MANIFEST -rw-r--r-- ... META.yml -rw-r--r-- ... Makefile.PL -rw-r--r-- ... README drwxr-xr-x ... lib drwxr-xr-x ... t but you currently have this: -rw-r--r-- ... Changes -rw-r--r-- ... MANIFEST -rw-r--r-- ... META.yml -rw-r--r-- ... Makefile.PL -rw-r--r-- ... README drw-r--r-- ... lib drw-r--r-- ... t As a result, non-root users can't install the module. I am using the GnuWin32 ports of tar and gzip. I think the problem is that because NTFS doesn't understand UNIX permissions, tar must use the above as the default. I got around this by manually running tar with the "--mode" parameter set, e.g. tar --create --verbose --file=Module-Name-0.01.tar --mode=a+x Module-Name-0.01 Currently it looks like the tar options in the generated Makefile are TAR = tar TARFLAGS = cvf I wonder if the "--mode" parameter should be included in the mix?
Subject: Re: [rt.cpan.org #25913] tar options on NTFS for CPAN submissions
Date: Thu, 29 Mar 2007 14:16:02 -0700
To: bug-ExtUtils-MakeMaker [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
via RT wrote: Show quoted text
> Currently it looks like the tar options in the generated Makefile are > > TAR = tar > TARFLAGS = cvf > > I wonder if the "--mode" parameter should be included in the mix?
Unfortunately --mode is a GNUism. BSD tar doesn't have it. Its difficult to tell which the user has installed so I can't make it the default. I would instead suggest you pass in your flags to "make dist" or include them in the arguments to WriteMakefile(). make dist TARFLAGS="cvf --mode=a+x" WriteMakefile( NAME => 'Foo', VERSION_FROM => 'lib/Foo.pm', dist => { TARFLAGS => "cvf --mode=a+x" } );
On Thu Mar 29 17:16:38 2007, schwern@pobox.com wrote: Show quoted text
> via RT wrote:
> > Currently it looks like the tar options in the generated Makefile
> are
> > > > TAR = tar > > TARFLAGS = cvf > > > > I wonder if the "--mode" parameter should be included in the mix?
> > Unfortunately --mode is a GNUism. BSD tar doesn't have it. Its > difficult to > tell which the user has installed so I can't make it the default.
Gotcha. Thanks.
Won't/don't know how to fix. There's a work around so marking it resolved.
Won't/don't know how to fix. There's a work around so marking it resolved.
Won't/don't know how to fix. There's a work around so marking it resolved.
Won't/don't know how to fix. There's a work around so marking it resolved.