App-CPANtoRPM
view release on metacpan or search on metacpan
lib/App/CPANtoRPM.pm view on Meta::CPAN
push(@opts,$line);
}
}
return @opts;
}
###############################################################################
# This either renames or copies a file.
#
sub _backup_file {
my($self,$file1,$file2,$copy) = @_;
if ($copy) {
if (-d $file2) {
my @f = split(/\//,$file1);
my $f = pop(@f);
$file2 = "$file2/$f";
}
lib/App/CPANtoRPM.pm view on Meta::CPAN
# Copy in the binary RPM
my $dir;
if (-d "$yum/RPMS/$package{arch_val}") {
$dir = "$yum/RPMS/$package{arch_val}";
} else {
$dir = "$yum/RPMS";
}
$self->_backup_file($package{'rpmfile'},$dir,"copy");
# Copy in the source RPM
$self->_backup_file($package{'srpmfile'},"$yum/SRPMS","copy");
}
###############################################################################
###############################################################################
# This will install a newly created RPM on the current system. This will
# allow us to create other RPMs that depend on this one.
sub _install_rpm {
my($self) = @_;
lib/App/CPANtoRPM.pm view on Meta::CPAN
my($self,$file,$macro,$val) = @_;
if (! -f $file) {
# If the macros file is new, we'll remove it once we're done.
$package{'remove'} = 1;
} elsif ($package{'remove'} || $package{'restore'}) {
# If we've already created a backup of the macros file
# which will be restore, or if we've already determined
# that the macros file will be removed, we don't have
# redetermine anything.
} else {
# This is the first time we're adding a macro to
# the macros file, so we want to save it so that it
# can be restored at the end.
$self->_backup_file($file,"$file.cpantorpm",1);
$package{'restore'} = 1;
}
my $out = new IO::File;
$out->open(">> $file") ||
$self->_log_message('ERR',"Unable to write to .rpmmacros file: $!");
print $out "\n$macro $val\n";
$out->close();
}
lib/App/CPANtoRPM.pm view on Meta::CPAN
#
# Check to see if there is a conflict between %_topdir in .rpmmacros
# file and $$self{rpmbuild} . We won't use 'rpm --eval' because it's only
# a conflict if the value in MY rpm macro file differs.
#
my $macros = "$ENV{HOME}/.rpmmacros";
if ($$self{'clean_macros'}) {
if (-f $macros) {
$self->_backup_file($macros,"$macros.cpantorpm",0);
$package{'restore'} = 1;
}
}
my $macroval;
if (-f $macros) {
my $in = new IO::File;
$in->open($macros) ||
$self->_log_message('ERR',"Unable to open .rpmmacros file: $!");
my @in = <$in>;
lib/App/CPANtoRPM.pm view on Meta::CPAN
$package{'dist'} = $dist;
$package{'vers'} = $vers;
$package{'archive'} = $archive;
$package{'ext'} = $ext;
$package{'filetype'} = $filetype;
# Copy in the file
$self->_log_message('INFO',"Copying file");
$self->_backup_file($$self{'file_path'},$TMPDIR,1);
# Extract it.
$self->_extract_archive();
}
sub _apply_patch {
my($self) = @_;
return if (! $$self{'patch'} && ! $$self{'patch_dir'});
( run in 1.292 second using v1.01-cache-2.11-cpan-49f99fa48dc )