CPANPLUS-Dist-Slackware
view release on metacpan or search on metacpan
lib/CPANPLUS/Dist/Slackware.pm view on Meta::CPAN
else {
error( loc($NONROOT_WARNING) );
return;
}
}
}
msg( loc( q{Creating package '%1'}, $outputname ) );
my $orig_uid = $UID;
my $orig_gid = ( split /\s+/, $GID )[0];
if ($needs_chown) {
my @stat = stat($destdir);
if ( !@stat ) {
error( loc( q{Could not stat '%1': %2}, $destdir, $OS_ERROR ) );
return;
}
$orig_uid = $stat[4];
$orig_gid = $stat[5];
$dist->_chown_recursively( 0, 0, $destdir ) or return;
}
my $fail = 0;
if ( !run( $cmd, { dir => $destdir, verbose => $verbose } ) ) {
++$fail;
}
if ($needs_chown) {
if ( -d $destdir ) {
if (!$dist->_chown_recursively( $orig_uid, $orig_gid, $destdir ) )
{
++$fail;
}
}
if ( -f $outputname ) {
if (!$dist->_chown_recursively(
$orig_uid, $orig_gid, $outputname
)
)
{
++$fail;
}
}
}
if ( !$param_ref->{keep_source} ) {
lib/CPANPLUS/Dist/Slackware.pm view on Meta::CPAN
my $cb = $module->parent;
my $pkgdesc = $status->_pkgdesc;
my $installdir = catdir( $pkgdesc->destdir, 'install' );
my $descfile = catfile( $installdir, 'slack-desc' );
my $desc = $pkgdesc->slack_desc;
return spurt( $descfile, $desc );
}
sub _chown_recursively {
my ( $dist, $uid, $gid, @filenames ) = @_;
my $module = $dist->parent;
my $cb = $module->parent;
my $conf = $cb->configure_object;
my $cmd = [ '/bin/chown', '-R', "$uid:$gid", @filenames ];
if ( $EFFECTIVE_USER_ID > 0 ) {
my $sudo = $conf->get_program('sudo');
if ($sudo) {
unshift @{$cmd}, $sudo;
}
else {
error( loc($NONROOT_WARNING) );
return;
}
}
( run in 0.987 second using v1.01-cache-2.11-cpan-5735350b133 )