-
Notifications
You must be signed in to change notification settings - Fork 24
/
make_release
executable file
·70 lines (56 loc) · 1.95 KB
/
make_release
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/usr/bin/env perl
#########################################################################
#
# mairix - message index builder and finder for maildir folders.
#
# Copyright (C) Richard P. Curnow 2005,2006
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of version 2 of the GNU General Public License as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# =======================================================================
#########################################################################
$version = shift || die "Usage : $0 <version>\n";
$subdir = "mairix-${version}";
unless (-d "RELEASES") {
mkdir "RELEASES", 0755;
}
system ("git tag -s $version");
die "git tag failed" if ($? != 0);
if (-d "RELEASES/$subdir") {
system ("rm -rf RELEASES/$subdir");
}
system ("git archive --format=tar --prefix=RELEASES/${subdir}/ ${version} | tar xf -");
die "git archive failed" if ($? != 0);
chdir "RELEASES" or die "Cannot get into RELEASES";
$here = qx/pwd/;
chomp $here;
chdir $subdir or die "Cannot get into $subdir";
open (OUT, ">version.txt");
print OUT $version."\n";
close OUT;
open (IN, "<mairix.spec.sample");
open (OUT, ">mairix.spec");
while (<IN>) {
s/\@\@VERSION\@\@/$version/;
print OUT;
}
close (IN);
close (OUT);
unlink "make_release";
unlink "mairix.spec.sample";
unlink ".gitignore";
unlink "dfasyn/.gitignore";
chdir $here;
system ("tar cvf - $subdir | gzip -9 > ${subdir}.tar.gz");
system ("gpg -b -a -o ${subdir}-tar-gz-asc.txt ${subdir}.tar.gz");