ljr/ljcom/bin/release.pl

77 lines
2.2 KiB
Perl
Executable File

#!/usr/bin/perl
#
my $mode = shift @ARGV;
if ($< == 0 || $> ==0) { die "Don't run as root.\n"; }
chdir("/home/lj") || die "Can't cd to /home/lj";
chdir("/home/ljcode") || die "Can't cd to /home/ljcode";
unless (-d "LiveJournal") {
die "directory 'LiveJournal' doesn't exist.\n";
}
print "Dumping SQL...\n";
system("dumpsql.pl init > LiveJournal/livejournal.sql");
system("dumpsql.pl data > LiveJournal/livejournal-data.sql");
system("dumpsql.pl datareplace > LiveJournal/livejournal-datareplace.sql");
mkdir "LiveJournal/bin/", 0755;
mkdir "LiveJournal/cgi-bin/", 0755;
mkdir "LiveJournal/htdocs/", 0755;
foreach my $dir (qw(htdocs/files htdocs/temp htdocs/misc htdocs/img
htdocs/stats htdocs/download htdocs/clients
logs var))
{
mkdir "LiveJournal/htdocs/$dir", 0755;
open (T, ">LiveJournal/htdocs/$dir/.touch");
print T "placeholder\n";
close T;
}
print "Syncing cgi-bin...\n";
system("rsync -rl --delete --exclude='archive' --exclude='clients' --exclude='ljconfig.pl' /home/lj/cgi-bin/ LiveJournal/cgi-bin/");
print "Syncing htdocs...\n";
system("rsync -rl --delete --exclude='htdocs/dev/' --exclude='img' --exclude='files' --exclude='download' --exclude='temp' --exclude='misc' --exclude='stats' /home/lj/htdocs/ LiveJournal/htdocs/");
print "Syncing bin...\n";
system("rsync -rl --delete --exclude='old' /home/lj/bin/ LiveJournal/bin/");
my @now = localtime();
my $date = sprintf("%04d%02d%02d", $now[5]+1900, $now[4]+1, $now[3]);
my $append = $date;
print "Date is: $date\n";
my $count = 1;
while (-e "LiveJournal-$append" || -e "LiveJournal-$append.tar.gz") {
$count++;
$append = "$date-$count";
}
chdir("LiveJournal");
print "Cleaning emacs files.\n";
system("no-emacs.sh");
print "Cleaning other files.\n";
system("rm cgi-bin/pod2html-* cgi-bin/perl.core");
chdir("..");
unless ($mode eq "lite")
{
print "Renaming to LiveJournal-$append...\n";
rename "LiveJournal", "LiveJournal-$append";
print "Tarring...\n";
system("tar -zcvf LiveJournal-$append.tar.gz LiveJournal-$append");
print "Renaming back...\n";
rename "LiveJournal-$append", "LiveJournal";
}
else
{
print "Skipping tarball.\n";
}
print "Done\n";