]>
Commit | Line | Data |
---|---|---|
5198ce8d | 1 | #!/usr/bin/perl |
ba2f1a67 FG |
2 | |
3 | use strict; | |
5198ce8d | 4 | use warnings; |
ba2f1a67 FG |
5 | |
6 | my $dir = shift; | |
7 | ||
8 | die "no directory to scan" if !$dir; | |
9 | ||
10 | die "no such directory" if ! -d $dir; | |
11 | ||
35fd4287 | 12 | warn "\n\nNOTE: strange directory name: $dir\n\n" if $dir !~ m|^(.*/)?(\d+.\d+.\d+\-\d+\-pve)(/+)?$|; |
ba2f1a67 FG |
13 | |
14 | my $apiver = $2; | |
15 | ||
5198ce8d TL |
16 | open(my $FIND_KO_FH, "find '$dir' -name '*.ko'|"); |
17 | while (defined(my $fn = <$FIND_KO_FH>)) { | |
ba2f1a67 FG |
18 | chomp $fn; |
19 | my $relfn = $fn; | |
20 | $relfn =~ s|^$dir/*||; | |
21 | ||
22 | my $cmd = "/sbin/modinfo -F firmware '$fn'"; | |
5198ce8d TL |
23 | open(my $MOD_FH, "$cmd|"); |
24 | while (defined(my $fw = <$MOD_FH>)) { | |
ba2f1a67 FG |
25 | chomp $fw; |
26 | print "$fw $relfn\n"; | |
27 | } | |
5198ce8d | 28 | close($MOD_FH); |
ba2f1a67 FG |
29 | |
30 | } | |
5198ce8d | 31 | close($FIND_KO_FH); |
ba2f1a67 FG |
32 | |
33 | exit 0; |