blob: 436ffca5217f01222ac981b7427b06754ffac4a3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#! /usr/bin/perl
use warnings;
use strict;
my %subst = ();
while ($ARGV[0] =~ /(.*?)=(.*)/) {
$subst{$1} = $2;
shift;
}
die "no package specified\n" unless exists $subst{PACKAGE};
(my $package = $subst{PACKAGE}) =~ s/-(?:bin|dbg)$//;
my $grub_dir_path = "debian/tmp-$package/usr/lib/grub";
opendir my $grub_dir, $grub_dir_path or die "can't opendir $grub_dir_path: $!";
my @cpu_platforms = grep { !/^\./ } readdir $grub_dir;
closedir $grub_dir;
$subst{FIRST_CPU_PLATFORM} = $cpu_platforms[0];
sub emit ($) {
my $line = shift;
while (my ($key, $value) = each %subst) {
$line =~ s/\@$key\@/$value/g;
}
print $line;
}
while (<>) {
if (/\@CPU_PLATFORM\@/) {
for my $cpu_platform (@cpu_platforms) {
(my $line = $_) =~ s/\@CPU_PLATFORM\@/$cpu_platform/g;
emit($line);
}
} else {
emit($_);
}
}
|