OSDN Git Service

Update to 3.1
[linuxjf/JF.git] / bin / upd-kdoc-list-2.x.pl
1 #!/usr/bin/perl
2 #
3 # Kernel Docs ¤Î¥Ð¡¼¥¸¥ç¥ó¾ðÊó¥ê¥¹¥È¤ò,
4 # ¥«¡¼¥Í¥ë¥Ñ¥Ã¥Á¤ò»È¤Ã¤Æ¹¹¿·¤¹¤ë¥¹¥¯¥ê¥×¥È
5 #
6 # ¥Ð¥°: Ê¸½ñ¤¬¤Ê¤¯¤Ê¤Ã¤¿¾ì¹ç¤Ï̤Âбþ(^^;
7 #
8 # [»È¤¤Êý]
9 #
10 # ¤Ò¤È¤Ä¤á¤Î°ú¿ô: Kernel Docs ¤Î¥Ð¡¼¥¸¥ç¥ó¾ðÊó¥ê¥¹¥È
11 # ¤Õ¤¿¤Ä¤á¤Î°ú¿ô: bzip2 ¤Ê¥«¡¼¥Í¥ë¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë
12 #
13 # [»ÈÍÑÎã]
14 #
15 # $ ./upd-kdoc-list.pl ../lists/kdoc-2.6-version.list \
16 # ~/src/patch-2.6.2.bz2 >../lists/kdoc-2.6-version.list.new
17 # $ cd ../lists
18 # $ mv kdoc-2.6-version.list.new kdoc-2.6-version.list
19 #
20
21 use File::Basename;
22
23 if (@ARGV < 2) {die "$0 oldlist kernel-patch\n"};
24
25 $OLDLIST = $ARGV[0];
26 $K_PATCH = $ARGV[1];
27
28 $NEWKVER = basename($ARGV[1], '.bz2');
29 $NEWKVER =~ s/^patch-//;
30
31 unless (-f $OLDLIST) {die "$OLDLIST does not exist.\n"};
32 unless (-f $K_PATCH) {die "$K_PATCH does not exist.\n"};
33
34 unless ($NEWKVER =~ /^[23]\.([0246])\.([1-9][0-9]?)/) {
35     die "illegal version number.\n";
36 }
37 $NEWPATCHLEVEL = $1;
38 $NEWSUBLEVEL   = $2;
39
40 open OL, $OLDLIST;
41 while (<OL>) {
42     chomp;
43     if (/^# latest versions of kernel docs, as of (2\.([246])\.([0-9][0-9]?))/) {
44         $OLDKVER       = $1;
45         $OLDPATCHLEVEL = $2;
46         $OLDSUBLEBEL   = $3;
47         unless ($OLDPATCHLEVEL == $NEWPATCHLEVEL &&
48                 ++$OLDSUBLEBEL == $NEWSUBLEVEL) {
49             die "illegal version number.\n";
50         }
51         next;
52     }
53     ($VER, $FILE) = split;
54     $FVER{$FILE} = $VER;
55 }
56 close OL;
57
58 print STDERR "Current kdoc version is $OLDKVER\n";
59 print STDERR "updating kdoc to $NEWKVER...\n";
60
61 # ¤È¤ê¤¢¤¨¤º bzip2 ¤Ê¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ë·è¤áÂǤÁ.
62 #
63 open KP, "bzip2 -dc $K_PATCH |";
64 while (<KP>){
65     next unless ((/^\+\+\+ b\/Documentation\/([^ \t\n]*)/) or
66                  (/^\+\+\+ linux-$NEWKVER\/Documentation\/([^ \t]*)/) or
67                  (/^\+\+\+ linux\/Documentation\/([^ \t]*)/));
68     print STDERR "$1 updated!\n";
69     $FVER{$1} = $NEWKVER;
70 }
71
72 print "# latest versions of kernel docs, as of $NEWKVER\n";
73 foreach $k (sort keys %FVER){
74     printf "%-7s%s\n", $FVER{$k}, $k;
75 }