This commit is contained in:
rhelmer%mozilla.com 2006-12-05 19:58:38 +00:00
Родитель 1cfcfbb03a
Коммит 481219e2a3
2 изменённых файлов: 107 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,60 @@
#
# Config object for release automation
#
package Bootstrap::Config;
use strict;
# shared static config
my %config;
# single shared instance
my $singleton = undef;
sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
return $singleton if defined $singleton;
my $this = {};
bless($this, $class);
$this->Parse();
$singleton = $this;
return $this;
}
sub Parse {
my $this = shift;
open (CONFIG, "< bootstrap.cfg")
|| die "Can't open config file bootstrap.cfg";
while (<CONFIG>) {
chomp; # no newline
s/#.*//; # no comments
s/^\s+//; # no leading white
s/\s+$//; # no trailing white
next unless length; # anything left?
my ($var, $value) = split(/\s*=\s*/, $_, 2);
$config{$var} = $value;
}
close CONFIG;
}
sub Get {
my $this = shift;
my %args = @_;
my $var = $args{'var'};
if ($config{$var}) {
return $config{$var};
} else {
die("No such config variable: $var\n");
}
}
1;

47
tools/release/Makefile Normal file
Просмотреть файл

@ -0,0 +1,47 @@
test:
for f in release t/test.pl `find . -name "*.pm"`; do perl -c $$f; done
./t/test.pl
stage:
# basic environment
mkdir -p /builds/tags
mkdir -p /builds/updates/
mkdir -p /builds/verify/
# ftp
mkdir -p /home/ftp/pub/firefox/nightly
# fake key
mkdir -p /home/ftp/pub/firefox/releases/1.5/
touch /home/ftp/pub/firefox/releases/1.5/KEY
# staging environment
mkdir -p /data/cltbld/firefox-1.5.0.7/batch1/stage
cvsmirror: cvsmirror_main cvsmirror_mofo
cvsmirror_main:
rsync -a --delete-after cvs-mirror.mozilla.org::mozilla/ /builds/cvsmirror/cvsroot/
rsync -a --delete-after cvs-mirror.mozilla.org::l10n/ /builds/cvsmirror/l10n/
chgrp -R cvs /builds/cvsmirror/cvsroot /builds/cvsmirror/l10n /builds/cvsmirror/mofo
chmod -R g+rw /builds/cvsmirror/cvsroot /builds/cvsmirror/l10n /builds/cvsmirror/mofo
cvsmirror_mofo:
mkdir -p /builds/cvsmirror/tmp/mofo
mkdir -p /builds/cvsmirror/mofo
cvs -d /builds/cvsmirror/mofo init
cd /builds/cvsmirror/tmp/mofo && cvs -d cltbld@cvs.mozilla.org:/mofo export -r MOZILLA_1_8_0_BRANCH talkback
cd /builds/cvsmirror/tmp/mofo && cvs -d cltbld@cvs.mozilla.org:/mofo export -r HEAD release
rm -rf /builds/cvsmirror/tmp/mofo/release/tinderbox-configs/
cd /builds/cvsmirror/tmp/mofo && cvs -d cltbld@cvs.mozilla.org:/mofo export -r MOZILLA_1_8_0_BRANCH_release release/tinderbox-configs/
cd /builds/cvsmirror/tmp/mofo/release && cvs -d /builds/cvsmirror/mofo import -m "import CVS snapshot" release MOZILLA_1_8_0_BRANCH_release R0_1
cd /builds/cvsmirror/tmp//mofo/talkback && cvs -d /builds/cvsmirror/mofo import -m"import CVS snapshot" talkback MOZILLA_1_8_0_BRANCH R0_1
rm -rf /builds/cvsmirror/tmp/mofo
clean_stage:
rm -rf /builds/tags/*
rm -rf /builds/release/logs/*
rm -rf /builds/updates/*
rm -rf /builds/verify/*
rm -rf /data/cltbld/firefox-1.5.0.7/
rm -rf /home/ftp/pub/firefox/*
clean_cvsmirror:
rm -rf /builds/cvsmirror/*