127 lines
2.5 KiB
Perl
Executable File
127 lines
2.5 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
# mkcand m.nn
|
|
# package candidate, leaving it in tmp directory
|
|
|
|
require($ENV{'HOME'}."/bin/disttools.pl");
|
|
|
|
&defvars;
|
|
&suckvars;
|
|
|
|
umask(022);
|
|
|
|
$localdir=$ENV{'HOME'}."/archive";
|
|
$ENV{'DEV_DIR'}=$localdir."/development";
|
|
$tmpdir=$ENV{'BTMP'}."/".$ENV{'USER'}."/snapshots";
|
|
|
|
$transmit=1;
|
|
$snapprefix="";
|
|
$tarinfix="";
|
|
$date="now";
|
|
$lastrel=$ENV{'LASTREL'};
|
|
|
|
sub usage {
|
|
print STDERR "mkcand:\n";
|
|
print STDERR "\t-l do not transmit\n";
|
|
print STDERR "\t-p name set candidate name\n";
|
|
print STDERR "\t-r rel set release branch\n";
|
|
}
|
|
|
|
while(@ARGV) {
|
|
$_=shift;
|
|
|
|
if(/^-l/) {
|
|
$transmit=0;
|
|
|
|
} elsif(/^-S/) {
|
|
$symlink=1;
|
|
|
|
} elsif(/^-p/) {
|
|
$rel=shift;
|
|
$snapprefix="pre$rel-";
|
|
|
|
} elsif(/^-r/) {
|
|
$arg=shift;
|
|
($lastrel=$arg) =~ y/\./\_/;
|
|
$relopt="-r PRE${lastrel}"
|
|
|
|
# } elsif(/^-d/) {
|
|
# $arg=shift;
|
|
# $transmit=0;
|
|
# $date=$arg;
|
|
|
|
} else {
|
|
&usage;
|
|
exit;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if(!defined($relopt) ||
|
|
!defined($rel)) {
|
|
&usage;
|
|
exit;
|
|
}
|
|
|
|
if($rel < 2.00) {
|
|
undef(@supportedkernels);
|
|
}
|
|
|
|
|
|
$candname=&snapname($snapprefix);
|
|
$dirname="freeswan-cand".$candname;
|
|
# $pkgname="candidate-".$candname;
|
|
$pkgname=$dirname;
|
|
$tarname=$pkgname.".tar";
|
|
$vername="cand-".$candname;
|
|
|
|
&nicesystem("mkdir -p $tmpdir");
|
|
print "BUILDING candidate $candname in $dirname\n";
|
|
if($transmit) {
|
|
print "WILL TRANSMIT TO $ENV{'DISTHOST'}\n"
|
|
} else {
|
|
print "WILL NOT TRANSMIT\n";
|
|
}
|
|
|
|
&setuppgp($lastrel);
|
|
|
|
&makedisttarfile($tmpdir, $pkgname, $vername, $dirname, $date, $relopt, 1);
|
|
|
|
unlink("CANDIDATE.tar.gz");
|
|
&nicesystem("ln $tarname.gz CANDIDATE.tar.gz") || die "failed to symlink to CANDIDATE.tar.gz: $?\n";
|
|
&nicesystem("md5sum CANDIDATE.tar.gz >CANDIDATE.tar.gz.md5") || die "failed to md5sum of CANDIDATE.tar.gz: $?\n";
|
|
|
|
&dopgpsig($pkgname);
|
|
|
|
&nicesystem("pgp -kxa $ENV{'PGPNAME'} $pkgname.tar.gz.pgpkey && chmod +r $pkgname.tar.gz.pgpkey.asc");
|
|
|
|
if($transmit) {
|
|
system("date");
|
|
|
|
local($snapprefix);
|
|
|
|
&upload($pkgname);
|
|
|
|
if($symlink) {
|
|
&sendfiles("CANDIDATE.tar.gz.md5");
|
|
|
|
&remotecmd("cd ".$ENV{'DISTDIR'}." && ln -f -s $pkgname.tar.gz CANDIDATE.tar.gz && ln -f -s $tarname.gz.sig CANDIDATE.tar.gz.sig");
|
|
|
|
foreach $ver (@supportedkernels) {
|
|
&remotecmd("cd ".$ENV{'DISTDIR'}." && ln -f -s $pkgname$ver.patch.gz CAND.KERN$ver.gz && ln -f -s $tarname.gz.sig CAND.KERN$ver.gz.sig");
|
|
}
|
|
}
|
|
|
|
print "Cleaning up old candidates\n";
|
|
|
|
local($file, $localroot);
|
|
|
|
$localroot=$ENV{'DEV_DIR'};
|
|
&nicesystem("cd $localroot && find . -mtime +3 | grep 'freeswan-cand$snapprefix' | xargs rm");
|
|
|
|
&upsync;
|
|
|
|
system("date");
|
|
}
|
|
|