]>
git.proxmox.com Git - pve-kernel.git/blob - debian/scripts/abi-generate
a4df443ba643e2871987a965ce44f3d42a100bda
8 die "USAGE: $0 INFILE OUTFILE ABI [INFILE-IS-DEB]\n";
11 my $input_file = shift // usage
();
12 my $output_file = shift // usage
();
13 my $abi = shift // usage
();
14 my $extract_deb = shift;
16 die "input file '$input_file' does not exist\n" if ! -e
$input_file;
18 my $modules_symver_fh;
22 push @$cmd, ['dpkg', '--fsys-tarfile', $input_file];
23 push @$cmd, ['tar', '-xOf', '-', "./usr/src/linux-headers-${abi}/Module.symvers"];
24 $modules_symver_fh = IO
::File-
>new_tmpfile();
25 PVE
::Tools
::run_command
($cmd, output
=> '>&'.fileno($modules_symver_fh));
26 seek($modules_symver_fh, 0, 0);
28 open($modules_symver_fh, '<', $input_file) or die "can't open '$input_file' - $!\n";
32 while(my $line = <$modules_symver_fh>) {
33 if ($line =~ /^(.+)\s+(.+)\s+(.+)$/) {
34 push @$lines, "$3 $2 $1";
36 warn "malformed symvers line: '$line'\n";
39 close($modules_symver_fh);
41 PVE
::Tools
::file_set_contents
($output_file, join("\n", sort @$lines));