use Cwd 'chdir';
use AppConfig;
use HTTP::DAV;
my $config = AppConfig->new('username' => { ARGCOUNT => 1 },
'password' => { ARGCOUNT => 1 });
$config->file($ENV{'HOME'} . '/.buildrelease');
my $version = '';
open PIPE, "/usr/local/bin/gtk123 --version |" or die "can't fork: $!";
while (<PIPE>) {
if (/version/) {
s/.*version //;
$version = $_;
chop ($version);
}
}
close PIPE;
print "Building gtk123 release ", $version, "\n";
chdir "$ENV{'HOME'}/gtk123-$version" or die "Couldn't chdir to source directory: $!\n";
system ('autoconf');
system ('./configure');
system ('make dist');
chdir '..';
system ("tar -cf mac.com/gtk123/gtk123_$version.tar gtk123-$version");
chdir 'mac.com/gtk123/';
system ('bzip2 -k *.tar');
system ('gzip *.tar');
system ("md5sum gtk123_$version.tar.gz > gtk123_$version.tar.gz.md5sum");
system ("md5sum gtk123_$version.tar.bz2 > gtk123_$version.tar.bz2.md5sum");
system ("ncftpput upload.sourceforge.net incoming gtk123_$version.tar.gz gtk123_$version.tar.bz2");
system ('rm index.backup.html') if (-w 'index.backup.html');
system ('mv index.html index.backup.html');
open OLDPAGE, '<index.backup.html';
open NEWPAGE, '>index.html';
while (<OLDPAGE>) {
print NEWPAGE $_;
if (/<caption>Downloads available here<\/caption>/) {
print NEWPAGE '<tr><td>Release ', $version, '</td><td><a href=gtk123_', $version, '.tar.gz>GZip; </a><a href=gtk123_', $version, '.tar.gz.md5sum>md5 checksum</a></td><td><a href=gtk123_', $version, '.tar.bz2>BZip2; </a><a href=gtk123_', $version, '.tar.bz2.md5sum>md5 checksum</a></td></tr>', "\n";
}
}
close OLDPAGE;
close NEWPAGE;
$idisk = new HTTP::DAV;
$URL = "http://idisk.mac.com/danflemming/Sites/gtk123/";
$idisk->credentials( -user=>$config->username,-pass =>$config->password,
-url =>$URL);
$idisk->open( -url=>$URL) or die("Couldn't open $URL: $idisk->message\n");
$idisk->put( -local => "gtk123_$version.tar.gz");
$idisk->put( -local => "gtk123_$version.tar.gz.md5sum");
$idisk->put( -local => "gtk123_$version.tar.bz2");
$idisk->put( -local => "gtk123_$version.tar.bz2.md5sum");
$idisk->put( -local => "index.html");
exec ('elinks https://sourceforge.net/projects/gtk123/');
