Blob Blame History Raw
Name:           seabios
Version:        1.7.2.2
Release:        4%{?dist}
Summary:        Open-source legacy BIOS implementation

Group:          Applications/Emulators
License:        LGPLv3
URL:            http://www.coreboot.org/SeaBIOS


# No source releases of seabios stable. To generate:
# git clone git://git.seabios.org/seabios.git && cd seabios
# git archive --output seabios-1.7.2.2.tar.gz --prefix seabios-1.7.2.2/ rel-1.7.2.2
#Source0:        http://code.coreboot.org/p/seabios/downloads/get/%{name}-%{version}.tar.gz
Source0: seabios-%{version}.tar.gz

Source10:       config.vga.cirrus
Source11:       config.vga.isavga
Source12:       config.vga.qxl
Source13:       config.vga.stdvga
Source14:       config.vga.vmware
Source15:       config.base

# Add pvpanic device driver (rhbz 967777)
Patch1: Add-pvpanic-device-driver.patch
# For bz#920140 - qemu-kvm emulation of 2.88M floppy fails
Patch2: seabios-floppy-Introduce-struct-floppy_pio_s-for-floppy-PIO-.patch
# For bz#920140 - qemu-kvm emulation of 2.88M floppy fails
Patch3: seabios-floppy-Cleanup-floppy-irq-wait-handling.patch
# For bz#920140 - qemu-kvm emulation of 2.88M floppy fails
Patch4: seabios-floppy-Implement-media-format-sensing.patch
# For bz#894979 - place rpm version info into version banner
Patch5: seabios-Place-rpm-version-info-into-version-banner.patch
# For bz#1005747 - fail to boot rhel7 guest with >126(21 ahci controller) ahci disks
Patch6: seabios-ahci-add-missing-check-for-allocation-failure.patch
# For bz#947051 - [RFE] implement xhci support in seabios
Patch7: seabios-Introduce-and-convert-pmm-code-to-use-standard-list-.patch
# For bz#947051 - [RFE] implement xhci support in seabios
Patch8: seabios-Fix-error-in-hlist_for_each_entry_safe-macro.patch
# For bz#947051 - [RFE] implement xhci support in seabios
Patch9: seabios-Another-fix-for-hlist_for_each_entry_safe.patch
# For bz#947051 - [RFE] implement xhci support in seabios
Patch10: seabios-uas-add-temporary-superspeed-stopgap.patch
# For bz#947051 - [RFE] implement xhci support in seabios
Patch11: seabios-usb-add-usb_update_pipe.patch
# For bz#947051 - [RFE] implement xhci support in seabios
Patch12: seabios-usb-add-xhci-support.patch
# For bz#947051 - [RFE] implement xhci support in seabios
Patch13: seabios-xhci-adaptions-for-old-rhel7-seabios-codebase.patch
# For bz#1016974 - [HP 7.0 FEAT]: Increase KVM guest supported memory to 4TiB
Patch14: seabios-allow-1TB-of-RAM.patch

BuildRequires: python iasl
ExclusiveArch: x86_64

Requires: %{name}-bin = %{version}-%{release}
Requires: seavgabios-bin = %{version}-%{release}
Buildarch: x86_64

# Seabios is noarch, but required on architectures which cannot build it.
# Disable debuginfo because it is of no use to us.
%global debug_package %{nil}

# You can build a debugging version of the BIOS by setting this to a
# value > 1.  See src/config.h for possible values, but setting it to
# a number like 99 will enable all possible debugging.  Note that
# debugging goes to a special qemu port that you have to enable.  See
# the SeaBIOS top-level README file for the magic qemu invocation to
# enable this.
%global debug_level 1


%description
SeaBIOS is an open-source legacy BIOS implementation which can be used as
a coreboot payload. It implements the standard BIOS calling interfaces
that a typical x86 proprietary BIOS implements.


%package bin
Summary: Seabios for x86
Buildarch: noarch


%description bin
SeaBIOS is an open-source legacy BIOS implementation which can be used as
a coreboot payload. It implements the standard BIOS calling interfaces
that a typical x86 proprietary BIOS implements.


%package -n seavgabios-bin
Summary: Seavgabios for x86
Buildarch: noarch

Obsoletes: vgabios < vgabios-0.6c-10
Provides: vgabios = vgabios-0.6c-10


%description -n seavgabios-bin
SeaVGABIOS is an open-source VGABIOS implementation.


%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1

# Store version to be used
echo "%{name}-%{version}-%release" > .version

%build
cp %{SOURCE15} .config
make oldnoconfig V=1
sed -i 's,CONFIG_DEBUG_LEVEL=.*,CONFIG_DEBUG_LEVEL=%{debug_level},g' .config

export CFLAGS="$RPM_OPT_FLAGS"
mkdir binaries

# seabios
make
cp out/bios.bin binaries

# seavgabios
for config in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14}; do
	name=${config#*config.vga.}
	make clean distclean
	cp ${config} .config
	echo "CONFIG_DEBUG_LEVEL=%{debug_level}" >> .config
	make oldnoconfig
	make
	cp out/vgabios.bin binaries/vgabios-${name}.bin
done


%install
mkdir -p $RPM_BUILD_ROOT%{_datadir}/seabios
mkdir -p $RPM_BUILD_ROOT%{_datadir}/seavgabios
install -m 0644 binaries/bios.bin $RPM_BUILD_ROOT%{_datadir}/seabios
install -m 0644 binaries/vgabios*.bin $RPM_BUILD_ROOT%{_datadir}/seavgabios


%files
%doc COPYING COPYING.LESSER README TODO


%files bin
%dir %{_datadir}/seabios/
%{_datadir}/seabios/bios.bin

%files -n seavgabios-bin
%dir %{_datadir}/seavgabios/
%{_datadir}/seavgabios/vgabios*.bin


%changelog
* Tue Nov 05 2013 Miroslav Rezanina <mrezanin@redhat.com> - 1.7.2.2-4.el7
- seabios-Introduce-and-convert-pmm-code-to-use-standard-list-.patch [bz#947051]
- seabios-Fix-error-in-hlist_for_each_entry_safe-macro.patch [bz#947051]
- seabios-Another-fix-for-hlist_for_each_entry_safe.patch [bz#947051]
- seabios-uas-add-temporary-superspeed-stopgap.patch [bz#947051]
- seabios-usb-add-usb_update_pipe.patch [bz#947051]
- seabios-usb-add-xhci-support.patch [bz#947051]
- seabios-xhci-adaptions-for-old-rhel7-seabios-codebase.patch [bz#947051]
- seabios-allow-1TB-of-RAM.patch [bz#1016974]
- Resolves: bz#1016974
  ([HP 7.0 FEAT]: Increase KVM guest supported memory to 4TiB)
- Resolves: bz#947051
  ([RFE] implement xhci support in seabios)

* Tue Sep 24 2013 Miroslav Rezanina <mrezanin@redhat.com> - seabios-1.7.2.2-3.el7
- seabios-floppy-Introduce-struct-floppy_pio_s-for-floppy-PIO-.patch [bz#920140]
- seabios-floppy-Cleanup-floppy-irq-wait-handling.patch [bz#920140]
- seabios-floppy-Implement-media-format-sensing.patch [bz#920140]
- seabios-Place-rpm-version-info-into-version-banner.patch [bz#894979]
- seabios-ahci-add-missing-check-for-allocation-failure.patch [bz#1005747]
- Resolves: bz#1005747
  (fail to boot rhel7 guest with >126(21 ahci controller) ahci disks)
- Resolves: bz#894979
  (place rpm version info into version banner)
- Resolves: bz#920140
  (qemu-kvm emulation of 2.88M floppy fails)

* Wed Jun 26 2013 Miroslav Rezanina <mrezanin@redhat.com> - 1.7.2.2-2
- Disable options not used / not supported by RHEL-7 (rhbz 927582)
- Add pvpanic device driver (rhbz 967777)
- Obsolete vgabios (rhbz 976340)

* Tue Jun 04 2013 Miroslav Rezanina <mrezanin@redhat.com> - 1.7.2.2-1
- Rebase to 1.7.2.2

* Tue Dec 18 2012 Michal Novotny <minovotn@redhat.com> - 1.7.1-5
- Remove the cross compilation code as we compile it on x86_64 always

* Thu Dec  6 2012 Peter Robinson <pbrobinson@fedoraproject.org> 1.7.1-4
- Root seabios package is noarch too because it only contains docs

* Fri Oct 19 2012 Cole Robinson <crobinso@redhat.com> - 1.7.1-3
- Add seavgabios subpackage

* Wed Oct 17 2012 Paolo Bonzini <pbonzini@redhat.com> - 1.7.1-2
- Build with cross compiler.  Resolves: #866664.

* Wed Sep 05 2012 Cole Robinson <crobinso@redhat.com> - 1.7.1-1
- Rebased to version 1.7.1
- Initial support for booting from USB attached scsi (USB UAS) drives
- USB EHCI 64bit controller support
- USB MSC multi-LUN device support
- Support for booting from LSI SCSI controllers on emulators
- Support for booting from AMD PCscsi controllers on emulators

* Mon Aug 13 2012 Richard W.M. Jones <rjones@redhat.com> - 1.7.0-4
- Modernise and tidy up the RPM.
- Allow debug versions of SeaBIOS to be built easily.

* Mon Aug 06 2012 Cole Robinson <crobinso@redhat.com> - 1.7.0-3
- Enable S3/S4 support for guests (it's an F18 feature after all)

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Mon May 28 2012 Cole Robinson <crobinso@redhat.com> - 1.7.0-1
- Rebased to version 1.7.0
- Support for virtio-scsi
- Improved USB drive support
- Several USB controller bug fixes and improvements

* Wed Mar 28 2012 Paolo Bonzini <pbonzini@redhat.com> - 1.6.3-2
- Fix bugs in booting from host (or redirected) USB pen drives

* Wed Feb 08 2012 Justin M. Forbes <jforbes@redhat.com> - 1.6.3-1
- Update to 1.6.3 upstream
- Add virtio-scsi

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Wed Oct 05 2011 Justin M. Forbes <jforbes@redhat.com> - 0.6.2-3
- Stop advertising S3 and S4 in DSDT (bz#741375)
- incdule iasl buildreq

* Wed Jul 13 2011 Justin M. Forbes <jforbes@redhat.com> - 0.6.2-2
- Fix QXL bug in 0.6.2

* Wed Jul 13 2011 Justin M. forbes <jforbes@redhat.com> - 0.6.2-1
- Update to 0.6.2 upstream for a number of bugfixes

* Mon Feb 14 2011 Justin M. forbes <jforbes@redhat.com> - 0.6.1-1
- Update to 0.6.1 upstream for a number of bugfixes

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Tue Aug 10 2010 Justin M. Forbes <jforbes@redhat.com> 0.6.0-1
- Update seabios to latest stable so we can drop patches.

* Tue Apr 20 2010 Justin M. Forbes <jforbes@redhat.com> 0.5.1-2
- Ugly hacks to make package noarch and available for arch that cannot build it.
- Disable useless debuginfo

* Wed Mar 03 2010 Justin M. Forbes <jforbes@redhat.com> 0.5.1-1
- Update to 0.5.1 stable release
- Pick up patches required for current qemu

* Thu Jan 07 2010 Justin M. Forbes <jforbes@redhat.com> 0.5.1-0.1.20100108git669c991
- Created initial package