]>
Commit | Line | Data |
---|---|---|
997358a6 MW |
1 | #!/usr/bin/perl |
2 | # mkcand m.nn | |
3 | # package candidate, leaving it in tmp directory | |
4 | ||
5 | require($ENV{'HOME'}."/bin/disttools.pl"); | |
6 | ||
7 | &defvars; | |
8 | &suckvars; | |
9 | ||
10 | umask(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 | ||
22 | sub 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 | ||
29 | while(@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 | ||
60 | if(!defined($relopt) || | |
61 | !defined($rel)) { | |
62 | &usage; | |
63 | exit; | |
64 | } | |
65 | ||
66 | if($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"); | |
79 | print "BUILDING candidate $candname in $dirname\n"; | |
80 | if($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 | ||
90 | unlink("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 | ||
98 | if($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 |