]> rtime.felk.cvut.cz Git - socketcan-devel.git/blob - mkpatch
Remove superfluous close;
[socketcan-devel.git] / mkpatch
1 #!/usr/bin/perl
2 #
3 # $Id$
4 #
5 # Generate a kernel patch to add socketcan to a kernel src tree.
6 # The list of files to be added is read from stdin.
7
8 $version = shift;
9
10 if (-r "patches/$version.diff") {
11     copy_file("patches/$version.diff");
12 }
13
14 while (<>) {
15     next if (/^#/);
16     my ($file, $n) = split;
17     my ($name);
18     if ($n eq "") {
19         $name = $file;
20     } else {
21         $name = $file;
22         $name =~ s/[^\/]*$/$n/;
23     }
24     $name =~ s/[^\/]*\/[^\/]*\///;
25     
26     add_file($file, $name);
27 }
28
29 sub copy_file {
30     my ($file) = @_;
31
32     open file, "$file" || die "open $file\n";
33     while (<file>) {
34         print;
35     }
36     close file;
37 }
38
39 sub add_file {
40     my ($file, $name) = @_;
41     my (@lines, $count, $ts, $mtime);
42
43     open file, "./kv $version $file |" || die "open $file\n";
44     @lines = <file>;
45     $count = $#lines + 1;
46     use POSIX qw(strftime);
47     $mtime = (stat($file))[9];
48     $ts = strftime "%F %T", gmtime((stat($file))[9]);
49
50     print "--- a/$name 1970-01-01 00:00:00\n";
51     print "+++ b/$name $ts\n";
52     print "@@ -0,0 +1,$count @@\n";
53     for (@lines) {
54         print "+$_";
55     }
56     close file;
57 }