mschilli / archive-tar-wrapper-perl Goto Github PK
View Code? Open in Web Editor NEWArchive::Tar::Wrapper CPAN Module
Home Page: http://perlmeister.com
Archive::Tar::Wrapper CPAN Module
Home Page: http://perlmeister.com
Hi,
I've stumbled onto a problem while trying to run tests for Dist-Zilla, it seems to be related to Archive::Tar::Wrapper attempting to chown a file. Here's a sample of the error, just running prove on Dist-Zilla's t/tester.t.
Archive::Tar::Wrapper installs without any errors:
inky:dist-zilla-for-perlcritic hartzell$ cpanm -L foo Archive::Tar::Wrapper
--> Working on Archive::Tar::Wrapper
Fetching http://www.cpan.org/authors/id/M/MS/MSCHILLI/Archive-Tar-Wrapper-0.19.tar.gz ... OK
Configuring Archive-Tar-Wrapper-0.19 ... OK
==> Found dependencies: IPC::Run, File::Which, Log::Log4perl
[...]
Building and testing Archive-Tar-Wrapper-0.19 ... OK
Successfully installed Archive-Tar-Wrapper-0.19
7 distributions installed
My far from minimal test case is:
git clone https://github.com/rjbs/Dist-Zilla.git
cd Dist-Zilla
cpanm -n Dist::Zilla::PluginBundle::RJBS
dzil authordeps --missing | cpanm -n
dzil listdeps | cpanm -n
dzil listdeps --all | cpanm -n
dzil test
inky:Dist-Zilla hartzell$ prove -l t/tester.t
t/tester.t .. Cannot chown /var/folders/87/zvbr9my14c52h4fb253c65500000gn/T/66ntLzD13y/tar/DZT-0.001 (Operation not permitted) at /Volumes/RedMonster/Users/hartzell/.perlbrew/libs/perl-5.16.3@critical/lib/perl5/Archive/Tar/Wrapper.pm line 248
t/tester.t .. Dubious, test returned 1 (wstat 256, 0x100)
I've repeated it on two different OS X 10.9 machines, under 5.18.2 and 5.16.3 with current prereq's downloaded from CPAN.
That same test works on a FreeBSD 8.2 system.
I believe that only root can chown
so I'm not sure why it works on my FreeBSD box. Possibly since the UID's already match there's no conflict?
is_gnu()
should be made private and invoked during object initialization. It doesn't look possible that during object existence the value of is_gnu()
will be changed at all.
By doing that, a attribute of the instance could be setup and a getter could be created instead. This look simple to do, if you agree I can make a pull request for it.
Not sure why, but 0.22 is failing in Mac OS X:
[ambs@stravinski Archive-Tar-Wrapper-0.22]$ prove -v t/001Basic.t
t/001Basic.t ..
1..24
ok 1 - use Archive::Tar::Wrapper;
ok 2 - opening compressed tarfile
[...]
ok 22 - permtest
ok 23 # skip Only with gnu tar
# Looks like you planned 24 tests but ran 23.
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 1/24 subtests
(less 1 skipped subtest: 22 okay)
not sure what it might be. I can help debugging if you need...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.