remind us about cvs tagging when we've built a release archive
[platform/upstream/c-ares.git] / maketgz
1 #!/usr/bin/env perl
2
3 $version = $ARGV[0];
4
5 $name="c-ares";
6
7 if($version eq "") {
8     print "Enter version number!\n";
9     exit;
10 }
11
12 if(!-f "ares.h") {
13     print "run this script in the ares source root dir\n";
14     exit;
15 }
16
17 if(!-f "configure") {
18     `autoconf`;
19 }
20
21 @files=`find . -name FILES`;
22
23 my @entries;
24
25 sub dirpart {
26     my ($file)=@_;
27     my @p=split("/", $file);
28     $p[$#p]=""; # blank the last one
29     my $dir=join("/", @p);
30
31     $dir =~ s/^\.\///; # cut off ./ beginnings
32
33     $dir =~ s/\/$//;  # off / trailers
34
35     if(!$dir) {
36         $dir = ".";
37     }
38
39     return $dir;
40 }
41
42 sub add {
43     my ($file)=@_;
44
45     my $dir=dirpart($file);
46
47     open(FILE, "<$file");
48     while(<FILE>) {
49         if($_ =~ /^ *\#/) {
50             next;
51         }
52         chomp;
53         push @entries, "$dir/$_";
54     }
55     close(FILE);
56 }
57
58 for(@files) {
59     chomp;
60     add($_);
61 }
62
63 sub mkalldir {
64     my ($dir) = @_;
65
66     my @parts = split("/", $dir);
67
68     #print "IN: $dir\n";
69
70     my $sub="";
71     for(@parts) {
72         #print "PART: $_\n";
73
74         $sub .= "$_";
75         if($_ eq "") {
76             next;
77         }
78         mkdir($sub, 0777);
79         #print "make $sub\n";
80         $sub .= "/";
81     }
82     
83 }
84
85 for(@entries) {
86     my $dir = dirpart("$name-$version/$_");
87  #   print "Create $dir\n";
88     mkalldir($dir);
89  #   print "Copy $_ to $dir\n";
90     `cp -p $_ $dir`;
91 }
92
93 # make a tarball
94 `tar -cf $name-$version.tar $name-$version`;
95 # gzip the tarball
96 `gzip -9 $name-$version.tar`;
97 # remove the dir
98 `rm -rf $name-$version`;
99
100 print "NOTE: now cvs tag this release!\n";