Archive-Tar-Wrapper-IPC-Cmd
view release on metacpan or search on metacpan
lib/Archive/Tar/Wrapper/IPC/Cmd.pm view on Meta::CPAN
chown $uid, -1, $target or
LOGDIE "Can't chown $target uid to $uid ($!)";
}
if(defined $gid) {
chown -1, $gid, $target or
LOGDIE "Can't chown $target gid to $gid ($!)";
}
if(defined $perm) {
chmod $perm, $target or
LOGDIE "Can't chmod $target to $perm ($!)";
}
if(!defined $uid and
!defined $gid and
!defined $perm and
!ref($path_or_stringref)) {
perm_cp($path_or_stringref, $target) or
LOGDIE "Can't perm_cp $path_or_stringref to $target ($!)";
}
lib/Archive/Tar/Wrapper/IPC/Cmd.pm view on Meta::CPAN
return \@stats;
}
######################################
sub perm_set {
######################################
my($filename, $perms) = @_;
chown($perms->[1], $perms->[2], $filename) or
LOGDIE "Cannot chown $filename ($!)";
chmod($perms->[0] & 07777, $filename) or
LOGDIE "Cannot chmod $filename ($!)";
}
###########################################
sub remove {
###########################################
my($self, $rel_path) = @_;
my $target = File::Spec->catfile($self->{tardir}, $rel_path);
rmtree($target) or LOGDIE "Can't rmtree $target ($!)";
t/006DirPerms.t view on Meta::CPAN
my $arch = Archive::Tar::Wrapper::IPC::Cmd->new();
my $tempdir = tempdir( CLEANUP => 1 );
my($fh, $tarfile) = tempfile(UNLINK => 1);
my $foodir = "$tempdir/foo";
my $foofile = "$foodir/foofile";
mkdir "$foodir";
chmod 0710, $foodir;
open FILE, ">$foofile" or die "Cannot open $foofile ($!)";
print FILE "blech\n";
close FILE;
ok($arch->add("foo/foofile", $foofile), "adding file");
# Make a tarball
ok($arch->write($tarfile), "Tarring up");
( run in 0.356 second using v1.01-cache-2.11-cpan-496ff517765 )