Blob Blame History Raw
%global svnrel 1061

# Disable unhelpful RPM test.
%global _binaries_in_noarch_packages_terminate_build 0

Name:           openbios
Version:        1.0
Release:        5.svn%{svnrel}%{?dist}
Summary:        OpenBIOS implementation of IEEE 1275-1994

License:        GPLv2
URL:            http://www.openfirmware.info/OpenBIOS
BuildArch:      noarch

# There are no upstream tarballs.  This tarball is prepared as follows:
#
# svn export -r %{svnrel} \
#     svn://username@openbios.org/openbios/trunk/openbios-devel \
#     %{name}-%{version}
# tar czf %{name}-%{version}-svn%{svnrel}.tar.gz %{name}-%{version}
# rm -r %{name}-%{version}
Source0:        %{name}-%{version}-svn%{svnrel}.tar.gz

# Remove -Werror from flags (not for upstream).
Patch0:         openbios-no-werror.patch

# Fix for ppc 32 bit support.
# Not suitable for upstream because it's specific to Fedora cross-gcc.
Patch1:         openbios-ppc.patch

# Fix for sparc 32 bit support.
# Not suitable for upstream because it's specific to Fedora cross-gcc.
Patch2:         openbios-sparc.patch

# Note that these packages build 32 bit binaries with the -m32 flag.
BuildRequires:  gcc-powerpc64-linux-gnu
BuildRequires:  gcc-sparc64-linux-gnu

BuildRequires:  libxslt


%description
The OpenBIOS project provides you with most free and open source Open
Firmware implementations available. Here you find several
implementations of IEEE 1275-1994 (Referred to as Open Firmware)
compliant firmware. Among its features, Open Firmware provides an
instruction set independent device interface. This can be used to boot
the operating system from expansion cards without native
initialization code.

It is Open Firmware's goal to work on all common platforms, like x86,
AMD64, PowerPC, ARM and Mips. With its flexible and modular design,
Open Firmware targets servers, workstations and embedded systems,
where a sane and unified firmware is a crucial design goal and reduces
porting efforts noticably.

Open Firmware is found on many servers and workstations and there are
sever commercial implementations from SUN, Firmworks, CodeGen, Apple,
IBM and others.

In most cases, the Open Firmware implementations provided on this site
rely on an additional low-level firmware for hardware initialization,
such as coreboot or U-Boot.


%prep
%setup -q
%patch0 -p0
%patch1 -p0
%patch2 -p0


%build
/bin/sh config/scripts/switch-arch ppc
/bin/sh config/scripts/switch-arch sparc32
/bin/sh config/scripts/switch-arch sparc64
make build-verbose V=1 %{?_smp_mflags}


%install
qemudir=$RPM_BUILD_ROOT%{_datadir}/qemu
mkdir -p $qemudir
cp -a obj-ppc/openbios-qemu.elf $qemudir/openbios-ppc
cp -a obj-sparc32/openbios-builtin.elf $qemudir/openbios-sparc32
cp -a obj-sparc64/openbios-builtin.elf $qemudir/openbios-sparc64


%files
%doc COPYING
%doc README
%doc VERSION
%dir %{_datadir}/qemu
%{_datadir}/qemu/openbios-ppc
%{_datadir}/qemu/openbios-sparc32
%{_datadir}/qemu/openbios-sparc64


%changelog
* Tue Jul 31 2012 Richard W.M. Jones <rjones@redhat.com> - 1.0-5.svn1061
- Initial release in Fedora.