diff --git a/.cvsignore b/.cvsignore index e69de29..830dc39 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +openbios-1.0.tar.gz diff --git a/import.log b/import.log new file mode 100644 index 0000000..015ae96 --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +openbios-1_0-0_5_svn463_fc11:HEAD:openbios-1.0-0.5.svn463.fc11.src.rpm:1236281781 diff --git a/openbios-noerror.patch b/openbios-noerror.patch new file mode 100644 index 0000000..1a6a3da --- /dev/null +++ b/openbios-noerror.patch @@ -0,0 +1,11 @@ +--- a/config/examples/ppc_rules.xml 2009-03-02 19:02:44.000000000 -0300 ++++ b/config/examples/ppc_rules.xml 2009-03-02 19:02:50.000000000 -0300 +@@ -30,7 +30,7 @@ + RANLIB := ranlib + CFLAGS := -Os -Wall -msoft-float -DNATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH -USWAP_ENDIANNESS -fno-builtin-bcopy -fno-builtin-log2 + CFLAGS+= -Wredundant-decls -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations +-CFLAGS+= -Wundef -Wendif-labels -Wstrict-aliasing -Wwrite-strings -Wmissing-prototypes -Werror ++CFLAGS+= -Wundef -Wendif-labels -Wstrict-aliasing -Wwrite-strings -Wmissing-prototypes + INCLUDES := -I$(SRCDIR)/include -I$(SRCDIR)/kernel/include -I$(ODIR)/target/include + + M4 := m4 diff --git a/openbios.spec b/openbios.spec new file mode 100644 index 0000000..b6d43a2 --- /dev/null +++ b/openbios.spec @@ -0,0 +1,171 @@ +Name: openbios +Version: 1.0 +Release: 0.5.svn463%{?dist} +Summary: OpenBios implementation of IEEE 1275-1994 +Group: Applications/Emulators +License: GPLv2 +URL: http://www.openfirmware.info/OpenBIOS +# Getting openbios tarball: +# svn export -r463 svn://openbios.org/openbios/openbios-devel openbios-1.0 +# tar czvf openbios-1.0.tar.gz openbios-1.0 +Source0: %{name}/%{name}-%{version}.tar.gz +Patch0: openbios-noerror.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: libxslt + +# debugging firmwares does not goes the same way as a normal program. +# moreover, all architectures providing debuginfo for a single noarch +# package is currently clashing in koji, so don't bother. +%global debug_package %{nil} +%define _binaries_in_noarch_packages_terminate_build 0 + +%define ob_desc \ +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. \ + \ + +%description %{ob_desc} + +# building firmwares are quite tricky, because they often has to be built on +# their native architecture (or in a cross-capable compiler, that we lack in +# koji), and deployed everywhere. Recent koji builders support a feature +# that allow us to build packages in a single architecture, and create noarch +# subpackages that will be deployed everywhere. Because the package can only +# be built in certain architectures, the main package has to use +# BuildArch: , or something like that. +# Note that using ExclusiveArch is _wrong_, because it will prevent the noarch +# packages from getting into the excluded repositories. +# +# Openbios is even trickier compared to other firmwares, because the same +# source must originate firmwares for multiple architectures. The magic here +# is to only create the subpackages in the architectures that can build it. +%ifarch sparcv9 +%package sparc +Summary: OpenBIOS for sparc +BuildArch: noarch +Requires: %{name}-common = %{version}-%{release} + +%description sparc %{ob_desc} +%endif + +%ifarch sparc64 +%package sparc64 +Summary: OpenBIOS for sparc64 +BuildArch: noarch +Requires: %{name}-common = %{version}-%{release} + +%description sparc64 %{ob_desc} +%endif + +%ifarch ppc ppc64 +%package ppc +Summary: OpenBIOS for ppc +BuildArch: noarch +Requires: %{name}-common = %{version}-%{release} + +%description ppc %{ob_desc} +%endif + +%package common +Summary: Common files for OpenBIOS +BuildArch: noarch + +%description common %{ob_desc} +%prep + +%setup -q +%patch0 -p1 + +%build + +CFLAGS="%{optflags}" +%ifarch ppc +/bin/sh ./config/scripts/switch-arch ppc +make build-verbose %{?_smp_mflags} +%endif + +%ifarch sparcv9 +/bin/sh ./config/scripts/switch-arch sparc32 +make build-verbose %{?_smp_mflags} +%endif + +%ifarch sparc64 +/bin/sh ./config/scripts/switch-arch sparc64 +make build-verbose %{?_smp_mflags} +%endif + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT%{_datadir}/openbios +%ifarch sparcv9 +install -p -m 0644 obj-sparc32/openbios-builtin.elf $RPM_BUILD_ROOT%{_datadir}/openbios/openbios-sparc32 +%endif +%ifarch sparc64 +install -p -m 0644 obj-sparc64/openbios-builtin.elf $RPM_BUILD_ROOT%{_datadir}/openbios/openbios-sparc64 +%endif +%ifarch ppc +install -p -m 0644 obj-ppc/openbios-qemu.elf $RPM_BUILD_ROOT%{_datadir}/openbios/openbios-ppc +%endif + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%ifarch sparcv9 +%files sparc +%defattr(-,root,root,-) +%{_datadir}/openbios/openbios-sparc32 +%endif + +%ifarch sparc64 +%files sparc64 +%defattr(-,root,root,-) +%{_datadir}/openbios/openbios-sparc64 +%endif + +%ifarch ppc +%files ppc +%defattr(-,root,root,-) +%{_datadir}/openbios/openbios-ppc +%endif + +%files common +%defattr(-,root,root,-) +%dir %{_datadir}/openbios/ +%doc COPYING README + + +%changelog +* Wed Mar 04 2009 Glauber Costa - 1.0.0.5 +- created openbios-common instead of openbios-doc. It owns the directories + and everybody depends on it. + +* Wed Mar 04 2009 Glauber Costa - 1.0.0.4 +- Addressed comments on BZ 485420. rpmlint provides no error for me, + added comentaries, and tell how to get the source. + +* Tue Mar 03 2009 Glauber Costa - 1.0.0.3 +- Don't use prebuilt binaries anywhere. + +* Fri Feb 13 2009 Glauber Costa - 1.0.0.2 +- Addressed comments on BZ 485420: clean build environment, own + directories we create. +* Fri Feb 13 2009 Glauber Costa - 1.0.0.1 +- Created initial build for sparc32/sparc64 diff --git a/sources b/sources index e69de29..62c6349 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +a8c020255bd18a3b7ae901a658d0191c openbios-1.0.tar.gz