Bug 467437, bump automation config for fx2.0.0.19 build 2, r=bhearsum
[mozilla-1.9.git] / config / clobber_miss.pl
blob16ffdb46d11d71a9dadf68d162384b6d398d6ca0
1 #!perl5
3 # ***** BEGIN LICENSE BLOCK *****
4 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
6 # The contents of this file are subject to the Mozilla Public License Version
7 # 1.1 (the "License"); you may not use this file except in compliance with
8 # the License. You may obtain a copy of the License at
9 # http://www.mozilla.org/MPL/
11 # Software distributed under the License is distributed on an "AS IS" basis,
12 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 # for the specific language governing rights and limitations under the
14 # License.
16 # The Original Code is mozilla.org code.
18 # The Initial Developer of the Original Code is
19 # Netscape Communications Corporation.
20 # Portions created by the Initial Developer are Copyright (C) 1998
21 # the Initial Developer. All Rights Reserved.
23 # Contributor(s):
25 # Alternatively, the contents of this file may be used under the terms of
26 # either of the GNU General Public License Version 2 or later (the "GPL"),
27 # or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28 # in which case the provisions of the GPL or the LGPL are applicable instead
29 # of those above. If you wish to allow use of your version of this file only
30 # under the terms of either the GPL or the LGPL, and not to allow others to
31 # use your version of this file under the terms of the MPL, indicate your
32 # decision by deleting the provisions above and replace them with the notice
33 # and other provisions required by the GPL or the LGPL. If you do not delete
34 # the provisions above, a recipient may use your version of this file under
35 # the terms of any one of the MPL, the GPL or the LGPL.
37 # ***** END LICENSE BLOCK *****
40 # Searches the tree for unclobbered files
41 # should be relatively cross platform
44 $start_dir = $ENV{"MOZ_SRC"};
45 @ignore_list = ("make.dep","manifest.mnw");
47 $missed = 0;
49 print "\n\nChecking for unclobbered files\n" .
50 "------------------------------\n";
52 GoDir("ns");
53 GoDir("mozilla");
55 if( $missed ){
56 die "\nError: $missed files or directories unclobbered\n";
58 else {
59 print "No unclobbered files found\n";
62 sub GoDir {
63 local($dir) = @_;
64 local(%filelist,$iscvsdir);
65 local($k,$v,$d,$fn,$rev, $mod_time);
66 local($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
67 $atime,$mtime,$ctime,$blksize,$blocks);
69 if(! chdir "$start_dir/$dir" ){
70 return;
73 while(<*.*> ){
74 if( $_ ne '.' && $_ ne '..' && $_ ne 'CVS'
75 && $_ ne 'nuke' ){
76 $filelist{$_} = 1;
80 if( -r "CVS/Entries" ){
81 $iscvsdir=1;
82 open(ENT, "CVS/Entries" ) ||
83 die "Cannot open CVS/Entries for reading\n";
84 while(<ENT>){
85 chop;
86 ($d,$fn,$rev,$mod_time) = split(/\//);
88 if( $fn ne "" ){
89 if( $d eq "D" ){
90 $filelist{$fn} = 3;
92 else {
93 $filelist{$fn} = 2;
97 close(ENT);
100 while( ($k,$v) = each %filelist ){
101 if( $v == 1 && $iscvsdir && !IgnoreFile( $k ) ){
102 if( ! -d $k ){
103 print " file: $dir/$k\n";
104 $missed++;
106 else {
107 if( ! -r "$k/CVS/Entries" ){
108 print "directory: $dir/$k\n";
109 $missed++;
111 else {
112 $filelist{$k} = 3;
119 while( ($k,$v) = each %filelist ){
120 if( $v == 3 ){
121 GoDir("$dir/$k");
125 # while( ($k,$v) = each %filelist ){
126 # print "$k: $v\n";
131 sub IgnoreFile {
132 local($fn) = @_;
133 local($i);
135 for $i (@ignore_list){
136 if( $fn eq $i ){
137 return 1;
140 return 0;