#!/usr/bin/perl
#
#
use strict;

# Usage:
#  cd /srv/benno/archive
#  zgrep ARCHIVED repo/*/journal/*.gz > archived.list
#  benno-repo2tarinput archived.list | tar -T- -cf- | ssh benno@targethost 'cd /benno/repo;tar -xf-'
#
# Writes log in current directory.



my $journal = shift;

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
#                         0-11,+1900,0-6  ,0-366,SZ=(+)
#                                   ,So-Sa,0-366,WZ=0,NA=(-)

$year += 1900;
$mon  += 1; $mon = sprintf("%02d",$mon);
$mday = sprintf("%02d",$mday);
$hour = sprintf("%02d",$hour);
$min  = sprintf("%02d",$min);
$sec  = sprintf("%02d",$sec);

my $startts = "$mday.$mon.$year $hour:$min:$sec";
my $logfile = "tarsend_$startts.log";

open my $jh, $journal               or die "Cannot open journal file: $!\n";
open my $lh, ">$logfile"            or die "Cannot open logfile $logfile: $!\n";
my $n = 1;
foreach my $line (<$jh>) {
    my ($path,$first,$second,$third,$filename) = $line =~ /^(repo\/\S+?)\/journal\/.+?"(\w\w)(\w\w)(\w\w)(\w+?)": archived$/;
    my $jrlentry = "$first$second$third$filename";
    my $filepath = "$path/$first/$second/$third/$filename.gz";

    print "$filepath\n";
    print $lh "$jrlentry added: ".$n++."\n";
}

close $lh;
close $jh;
