CPAN-Packager
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
# If the script that is loading Module::Install is from the future,
# then make will detect this and cause it to re-run over and over
# again. This is bad. Rather than taking action to touch it (which
# is unreliable on some platforms and requires write permissions)
# for now we should catch this and refuse to run.
if ( -f $0 ) {
my $s = (stat($0))[9];
# If the modification time is only slightly in the future,
# sleep briefly to remove the problem.
my $a = $s - time;
if ( $a > 0 and $a < 5 ) { sleep 5 }
# Too far in the future, throw an error.
my $t = time;
if ( $s > $t ) { die <<"END_DIE" }
lib/CPAN/Packager/Builder/RPM/Spec.pm view on Meta::CPAN
my $ver = $options{version} || $2;
my $tarball_top_dir = "$name-%{version}";
die "Module name/version not parsable from $tarball"
unless $name and $ver;
$name =~ s/::/-/g;
copy( $fullname, $tmpdir )
or die "copy $fullname: $!";
utime( ( stat($fullname) )[ 8, 9 ], "$tmpdir/$tarball" );
if ( my @files = Archive::Tar->list_archive("$tmpdir/$tarball") ) {
$use_module_build = 1 if grep {/Build\.PL$/} @files;
if ( not exists $options{noarch} ) {
$noarch = 1;
$noarch = 0 if grep {/\.(xs|c|cc|C)$/} @files;
}
my %prefixes;
lib/CPAN/Packager/Builder/RPM/Spec.pm view on Meta::CPAN
#
# Get patches copied into place
my $patchfile = '';
my @patchfiles = ();
my $patch = '';
if ( $options{patch} ) {
for $patch ( @{ $options{'patch'} } ) { ## no critic
copy( $patch, $tmpdir ) or die "copy ${patch}: $!";
utime(
( stat( $options{patch} ) )[ 8, 9 ],
"$tmpdir/" . basename( $options{patch} )
);
push @patchfiles, ( basename($patch) );
}
}
#
# Copy install scriptlets if defined to the tmp directory
foreach my $scriptlet (qw(pre post preun postun)) {
if ( defined( $options{$scriptlet} ) ) {
copy( $options{$scriptlet}, $tmpdir )
or die "copy ${options{${scriptlet}}}: $!";
my ( $atime, $mtime ) = ( stat( $options{$scriptlet} ) )[ 8, 9 ];
$options{$scriptlet}
= "${tmpdir}/" . basename( $options{$scriptlet} );
utime( $atime, $mtime, $options{$scriptlet} );
}
}
my $spec = new RPM::Specfile;
# some basic spec fields
$spec->name("perl-$name");
( run in 0.462 second using v1.01-cache-2.11-cpan-49f99fa48dc )