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