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.419 second using v1.01-cache-2.11-cpan-496ff517765 )