printf $fmt, @args;
}
-sub timestamp {
- my $tm = File::Spec->catfile(PORTAGE, 'metadata', 'timestamp.chk');
- return unless -e $tm;
- open my $fh, '<', $tm;
- local $/;
- <$fh>;
-}
-
-my $timestamp = timestamp();
+my $timestamp = CPANPLUS::Dist::Gentoo::Maps::get_portage_timestamp(PORTAGE);
{
my $ua;
if (-e STATE_FILE) {
my $state = Storable::retrieve(STATE_FILE);
- if ($state->[0] eq $timestamp) {
+ if ($state->[0] == $timestamp) {
printf "State retrieved from %s\n", STATE_FILE;
@not_on_cpan = @{ $state->[1] };
@unfindable = @{ $state->[2] };
unless ($already_parsed) {
if (-e DATA_FILE) {
my $data = Storable::retrieve(DATA_FILE);
- if ($data->[0] eq $timestamp) {
+ if ($data->[0] == $timestamp) {
printf "Data retrieved from %s\n", DATA_FILE;
%fetched_uri = %{ $data->[1] };
} else {
my $max = max map length, keys %name_mismatch;
SRC: while (<$src>) {
- print $dst $_;
- if (/^__DATA__$/) {
+ if (/^sub TIMESTAMP/) {
+ print $dst "sub TIMESTAMP () { $timestamp }\n";
+ } elsif (/^__DATA__$/) {
+ print $dst "__DATA__\n";
printf $dst "%s%s %s\n", $_, (' ' x ($max - length)), $name_mismatch{$_}
for sort keys %name_mismatch;
last SRC;
+ } else {
+ print $dst $_;
}
}