4 # translation_listを自動作成するスクリプト
6 # original/ディレクトリ以下にファイルを揃えてから、
7 # translation_listがあるべきディレクトリで実行して下さい。
8 # パッケージ名はディレクトリから、バージョンはlsmファイルから
10 # 標準出力に結果を出力するので、適当にリダイレクトして下さい。
13 # ・シンボリックリンクには対応していません。
14 # ・manページの日付所得に失敗することがあります。
21 local ($time, $year, $month, $day);
22 local ($pattern) = $_[0];
23 @monthstr = ('Jan','Feb','Mar','Apr','May','Jun',
24 'Jul','Aug','Sep','Oct','Nov','Dec');
30 @pat = split (/\s+/, $pattern);
32 for($x = 0; $x <= $#pat; $x++){
36 $day = sprintf("%02d", $dd);
38 $year = sprintf("%04d", $dd);
42 for($i = 0; $i <= $#monthstr; $i++){
43 if($dd =~ /$monthstr[$i].*/i){
44 $month = sprintf("%02d", $i + 1);
50 return "$year/$month/$day";
55 local @p = split('/', cwd());
56 local $pname = $p[$#p];
68 opendir DH, 'original';
69 @files = grep /.*\.lsm/, readdir DH;
72 open FF, "original/$files[0]";
74 if(/Version:\s+(.+)$/){
84 local ($dir, $name) = @_;
85 local($key, $datestr);
87 open FF, "original/$dir/$name";
89 if(/^\.\\\"/) { next; }
93 $src = sprintf("%-2s %s", $2, $1);
94 $name =~ /(\w+)\.(\w+)/;
95 $dist = sprintf("%-2s %s", $2, $1);
100 @words = quotewords('\\s+', 0, $_);
101 $manname = $words[1];
102 $manname =~ tr/[A-Z]/[a-z]/;
103 $section = $words[2];
104 $datestr = &detectdate($words[3]);
105 $key = sprintf("%-2s %s", $section, $manname);
106 $otime{$key} = $datestr;
111 $datestr = &detectdate($1);
117 $name =~ tr/[A-Z]/[a-z]/;
119 $key = sprintf("%-2s %s", $sec, $name);
120 $otime{$key} = $datestr;
130 opendir DH, 'original';
131 @mandirs = grep /man.+/, readdir DH;
134 foreach $d (@mandirs) {
135 opendir DH, "original/$d";
136 @manfiles = grep /.+\..+/, readdir DH;
138 foreach $f (@manfiles) {
147 foreach $k (keys %alias){
148 $otime{$k} = $otime{$alias{$k}};
155 foreach $k (sort keys %otime){
156 ($sec, $name) = split / +/, $k;
157 if($alias{$k} ne ''){
158 local($osec, $oname) = split / +/, $alias{$k};
159 print join ':', '※', $package, $ver, $otime{$k},
160 $name, $sec, $oname, $osec, "\n";
162 print join ':', '×', $package, $ver, $otime{$k},
163 $name, $sec, '', '', '', '', "\n";
168 $package = &packagename();
169 $ver = &lsmversion();