#!/usr/bin/perl

umask 022;

my $PROGNAME = $0; $PROGNAME =~ s|.*/||;
sub fatal {
  foreach my $msg (@_) { print STDERR "[$PROGNAME] ERROR:  $msg\n"; }
  unlink('Documentation.html');
  unlink('License.txt');
  exit(-1);
}

my $VERSION = shift @ARGV || fatal("No version supplied?");

my $ver_dir = 'album.versions';

print "Tarring/Zipping album version [$VERSION]\n";

symlink('/WWW/web/MarginalHacks.com/Hacks/album/Chapters/Documentation/Section_1.html', 'Documentation.html')
  || fatal("Couldn't link Documentation");
symlink('/WWW/web/MarginalHacks.com/Hacks/album/License.txt','License.txt')
  || fatal("Couldn't link License");

my @files = qw(album album.1 Documentation.html License.txt);
my $tar = "$ver_dir/album-${VERSION}.tar.gz";
my $zip = "$ver_dir/album-${VERSION}.zip";

# Tar
unlink($tar);
system("tar hczf $tar @files");
  fatal("Couldn't tar $tar") if $?;
chmod 0644, $tar;

# Zip
unlink($zip);
system("zip -q $zip @files");
  fatal("Couldn't zip $zip") if $?;
chmod 0644, $zip;

# Update current links
unlink("album.tar.gz");
symlink($tar,"album.tar.gz") || fatal("Couldn't link album.tar.gz");
unlink("album.zip");
symlink($zip,"album.zip") || fatal("Couldn't link album.zip");

unlink('Documentation.html') || fatal("Couldn't unlink Documentation");
unlink('License.txt') || fatal("Couldn't unlink License");

