summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2019-06-20 10:27:24 +0200
committerGerd Hoffmann <kraxel@redhat.com>2019-06-20 10:27:24 +0200
commitf9adc9a8a7ac6cb7f3405899e92ba3c91d13b6ff (patch)
tree1e7f0aae80705116c7eba231060dbcc815b253f9
parent88d3f39fa39d3f643d5186cdb4e7f33a693a06b5 (diff)
downloadseabios-f9adc9a8a7ac6cb7f3405899e92ba3c91d13b6ff.tar.gz
add firmware descriptor files
-rwxr-xr-xdescriptor-bios.pl28
-rw-r--r--seabios.git.spec15
2 files changed, 40 insertions, 3 deletions
diff --git a/descriptor-bios.pl b/descriptor-bios.pl
new file mode 100755
index 0000000..ffb8845
--- /dev/null
+++ b/descriptor-bios.pl
@@ -0,0 +1,28 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use JSON;
+
+my $desc = shift;
+my $file = shift;
+die "arguments missing" unless defined($desc) and defined($file);
+
+my $json = JSON->new->allow_nonref;
+my $info;
+my $x86;
+my $x64;
+
+$x86->{'architecture'} = 'i386';
+$x86->{'machines'} = [ 'pc-i440fx-*', 'pc-q35-*' ];
+$x64->{'architecture'} = 'x86_64';
+$x64->{'machines'} = [ 'pc-i440fx-*', 'pc-q35-*' ];
+
+$info->{'description'} = $desc;
+$info->{'interface-types'} = [ 'bios' ];
+$info->{'mapping'}->{'device'} = 'memory';
+$info->{'mapping'}->{'filename'} = $file;
+$info->{'targets'} = [ $x86, $x64 ];
+$info->{'features'} = [ 'acpi-s3', 'acpi-s4' ];
+$info->{'tags'} = [ 'git master autobuild' ];
+
+print $json->pretty->encode($info);
diff --git a/seabios.git.spec b/seabios.git.spec
index 0aba7a3..025a3e4 100644
--- a/seabios.git.spec
+++ b/seabios.git.spec
@@ -9,11 +9,14 @@ Group: Applications/Emulators
License: LGPLv3
Source0: seabios.git-g5b63109.tar.xz
+Source1: descriptor-bios.pl
+
Source10: config.bios.qemu
Source11: config.bios.qemu-256k
Source12: config.bios.fast
Source15: config.bios.coreboot
Source16: config.bios.csm
+
Source20: config.vga.stdvga
Source21: config.vga.cirrus
Source22: config.vga.vmware
@@ -23,8 +26,8 @@ Source25: config.vga.bochs-display
Source26: config.vga.ramfb
Source27: config.vga.ati
-BuildRequires: iasl
-BuildRequires: python
+BuildRequires: make gcc python
+BuildRequires: perl perl-JSON
%description
SeaBIOS is an open-source legacy BIOS implementation which can be used as
@@ -60,7 +63,6 @@ function do_build() {
cp "$cfg" ".config"
yes "" | make oldconfig
rm -f "src/fw/"*.hex
- make EXTRAVERSION="$extra" iasl
make EXTRAVERSION="$extra"
make EXTRAVERSION="$extra" $target
}
@@ -123,9 +125,16 @@ cp rpm.vga.bin/* %{buildroot}/usr/share/seavgabios.git
ln -s bios-qemu.bin %{buildroot}/usr/share/%{name}/bios.bin
ln -s bios-qemu-256k.bin %{buildroot}/usr/share/%{name}/bios-256k.bin
+mkdir -p %{buildroot}/usr/share/qemu/firmware
+%{SOURCE1} "/usr/share/%{name}/bios-qemu-256k.bin" "SeaBIOS (git master, default)" \
+ > %{buildroot}/usr/share/qemu/firmware/90-seabios-git-default.json
+%{SOURCE1} "/usr/share/%{name}/bios-qemu-fast.bin" "SeaBIOS (git master, fastboot)" \
+ > %{buildroot}/usr/share/qemu/firmware/90-seabios-git-fastboot.json
+
%files
%doc rpm.doc/*.config
/usr/share/%{name}
+/usr/share/qemu/firmware/*
%files coreboot
%doc rpm.core.doc/*.config