32 lines
554 B
Perl
Executable file
32 lines
554 B
Perl
Executable file
#!/usr/bin/perl -w
|
|
|
|
use strict;
|
|
|
|
my $dir = shift;
|
|
|
|
die "no directory to scan" if !$dir;
|
|
|
|
die "no such directory" if ! -d $dir;
|
|
|
|
die "strange directory name" if $dir !~ m|^(.*/)?(4.13.\d+\-\d+\-pve)(/+)?$|;
|
|
|
|
my $apiver = $2;
|
|
|
|
open(TMP, "find '$dir' -name '*.ko'|");
|
|
while (defined(my $fn = <TMP>)) {
|
|
chomp $fn;
|
|
my $relfn = $fn;
|
|
$relfn =~ s|^$dir/*||;
|
|
|
|
my $cmd = "/sbin/modinfo -F firmware '$fn'";
|
|
open(MOD, "$cmd|");
|
|
while (defined(my $fw = <MOD>)) {
|
|
chomp $fw;
|
|
print "$fw $relfn\n";
|
|
}
|
|
close(MOD);
|
|
|
|
}
|
|
close TMP;
|
|
|
|
exit 0;
|