]> git.ipfire.org Git - people/ms/strongswan.git/blame - packaging/utils/mkcand
(no commit message)
[people/ms/strongswan.git] / packaging / utils / mkcand
CommitLineData
997358a6
MW
1#!/usr/bin/perl
2# mkcand m.nn
3# package candidate, leaving it in tmp directory
4
5require($ENV{'HOME'}."/bin/disttools.pl");
6
7&defvars;
8&suckvars;
9
10umask(022);
11
12$localdir=$ENV{'HOME'}."/archive";
13$ENV{'DEV_DIR'}=$localdir."/development";
14$tmpdir=$ENV{'BTMP'}."/".$ENV{'USER'}."/snapshots";
15
16$transmit=1;
17$snapprefix="";
18$tarinfix="";
19$date="now";
20$lastrel=$ENV{'LASTREL'};
21
22sub usage {
23 print STDERR "mkcand:\n";
24 print STDERR "\t-l do not transmit\n";
25 print STDERR "\t-p name set candidate name\n";
26 print STDERR "\t-r rel set release branch\n";
27}
28
29while(@ARGV) {
30 $_=shift;
31
32 if(/^-l/) {
33 $transmit=0;
34
35 } elsif(/^-S/) {
36 $symlink=1;
37
38 } elsif(/^-p/) {
39 $rel=shift;
40 $snapprefix="pre$rel-";
41
42 } elsif(/^-r/) {
43 $arg=shift;
44 ($lastrel=$arg) =~ y/\./\_/;
45 $relopt="-r PRE${lastrel}"
46
47# } elsif(/^-d/) {
48# $arg=shift;
49# $transmit=0;
50# $date=$arg;
51
52 } else {
53 &usage;
54 exit;
55 }
56}
57
58
59
60if(!defined($relopt) ||
61 !defined($rel)) {
62 &usage;
63 exit;
64}
65
66if($rel < 2.00) {
67 undef(@supportedkernels);
68}
69
70
71$candname=&snapname($snapprefix);
72$dirname="freeswan-cand".$candname;
73# $pkgname="candidate-".$candname;
74$pkgname=$dirname;
75$tarname=$pkgname.".tar";
76$vername="cand-".$candname;
77
78&nicesystem("mkdir -p $tmpdir");
79print "BUILDING candidate $candname in $dirname\n";
80if($transmit) {
81 print "WILL TRANSMIT TO $ENV{'DISTHOST'}\n"
82} else {
83 print "WILL NOT TRANSMIT\n";
84}
85
86&setuppgp($lastrel);
87
88&makedisttarfile($tmpdir, $pkgname, $vername, $dirname, $date, $relopt, 1);
89
90unlink("CANDIDATE.tar.gz");
91&nicesystem("ln $tarname.gz CANDIDATE.tar.gz") || die "failed to symlink to CANDIDATE.tar.gz: $?\n";
92&nicesystem("md5sum CANDIDATE.tar.gz >CANDIDATE.tar.gz.md5") || die "failed to md5sum of CANDIDATE.tar.gz: $?\n";
93
94&dopgpsig($pkgname);
95
96&nicesystem("pgp -kxa $ENV{'PGPNAME'} $pkgname.tar.gz.pgpkey && chmod +r $pkgname.tar.gz.pgpkey.asc");
97
98if($transmit) {
99 system("date");
100
101 local($snapprefix);
102
103 &upload($pkgname);
104
105 if($symlink) {
106 &sendfiles("CANDIDATE.tar.gz.md5");
107
108 &remotecmd("cd ".$ENV{'DISTDIR'}." && ln -f -s $pkgname.tar.gz CANDIDATE.tar.gz && ln -f -s $tarname.gz.sig CANDIDATE.tar.gz.sig");
109
110 foreach $ver (@supportedkernels) {
111 &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");
112 }
113 }
114
115 print "Cleaning up old candidates\n";
116
117 local($file, $localroot);
118
119 $localroot=$ENV{'DEV_DIR'};
120 &nicesystem("cd $localroot && find . -mtime +3 | grep 'freeswan-cand$snapprefix' | xargs rm");
121
122 &upsync;
123
124 system("date");
125}
126