Summary: Development Libraries and headers for EFI Name: gnu-efi Version: 3.0.5 Release: 9%{?dist}%{?buildid} Epoch: 1 Group: Development/System License: BSD URL: ftp://ftp.hpl.hp.com/pub/linux-ia64 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) ExclusiveArch: x86_64 aarch64 BuildRequires: git %ifarch x86_64 #BuildRequires: glibc32 #BuildRequires: glibc-devel(x86-32) %endif Source: http://superb-dca2.dl.sourceforge.net/project/gnu-efi/gnu-efi-%{version}.tar.bz2 Patch0001: 0001-Mark-our-explicit-fall-through-so-Wextra-will-work-i.patch Patch0002: 0002-Fix-some-types-gcc-doesn-t-like.patch Patch0003: 0003-Fix-arm-build-paths-in-the-makefile.patch Patch0004: 0004-Work-around-Werror-maybe-uninitialized-not-being-ver.patch Patch0005: 0005-Fix-a-sign-error-in-the-debughook-example-app.patch Patch0006: 0006-Fix-typedef-of-EFI_PXE_BASE_CODE.patch Patch0007: 0007-make-clang-not-complain-about-fno-merge-constants.patch Patch0008: 0008-Fix-another-place-clang-complains-about.patch Patch0009: 0009-route80h-remove-some-dead-code.patch Patch0010: 0010-Make-clang-not-complain-about-the-debughook-s-optimi.patch Patch0011: 0011-Nerf-Werror-pragma-away.patch Patch0012: 0012-Make-ia32-use-our-own-div-asm-on-gnu-C-as-well.patch Patch0013: 0013-Call-ar-in-deterministic-mode.patch %define debug_package %{nil} # brp-strip-static-archive will senselessly /add/ timestamps and uid/gid # data to our .a and make them not multilib clean if we don't have this. # Note that if we don't have the shell quotes there, -p becomes $2 on its # invocation, and so it completely ignores it. # # Also note that if we try to use -D as we should (so it doesn't add # uid/gid), strip(1) from binutils-2.25.1-22.base.el7.x86_64 throws a # syntax error. # # True story. # %global __strip "%{__strip} -p" # Figure out the right file path to use %global efidir powerel %ifarch x86_64 %global efiarch x86_64 %endif %ifarch aarch64 %global efiarch aarch64 %endif %ifarch %{ix86} %global efiarch ia32 %endif %description This package contains development headers and libraries for developing applications that run under EFI (Extensible Firmware Interface). %package devel Summary: Development Libraries and headers for EFI Group: Development/System Obsoletes: gnu-efi < 1:3.0.2-1 Requires: gnu-efi %description devel This package contains development headers and libraries for developing applications that run under EFI (Extensible Firmware Interface). %package utils Summary: Utilities for EFI systems Group: Applications/System %description utils This package contains utilties for debugging and developing EFI systems. %prep %setup -q -n gnu-efi-%{version} git init git config user.email "gnu-efi-owner@redhat.com" git config user.name "RHEL Ninjas" git config sendemail.to "gnu-efi-owner@fedoraproject.org" git add . git commit -a -q -m "%{version} baseline." git am %{patches} - 3.0.5-9 - Just don't build the .i686 package at all. After a scratch build, it's clear that "strip -p" is not good enough, because our different builders have non-matching UIDs for the build process, and -p adds uid/gid to the archive. So there's no way to fix the multiarch conflict here without either fixing that or fixing strip(1) with: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=patch;h=7a093a78 We don't strictly need the .i686 package anyway, since we've moved to making the dependent binaries all build the ia32 bits on x86_64 for other reasons. Related: rhbz#1310782 * Thu Mar 30 2017 Peter Jones - 3.0.5-9 - One more attempt at nerfing timestamps. It's surprising how broken this can be. "ar rDv" works just fine, but /usr/lib/rpm/redhat/brp-strip-static-archive is calling "%{__strip} -g $for_each.a", and it's rewriting our binary from ts/uid/gid of 0/0/0 to $epoch/$UID/$GID. Awesomely /usr/bin/strip it seems to have 3 modes of operation: -U: the default, which adds $epoch/$UID/$GID to your binary archive instead of just removing stuff. Clearly the Principle of Least Surprise is strong here. -p: preserve the timestamp from the original .a, but add UID and GID, because this is 1980 and people use ar(1) for archiving stuff they might want that out of. -D: Condescend at you in a command line error and explain that -D both is and is not a valid option: /usr/bin/strip: invalid option -- 'D' Usage: /usr/bin/strip in-file(s) Removes symbols and sections from files The options are: ... -D --enable-deterministic-archives Produce deterministic output when stripping archives So I agree that it's invalid, but I think we may be pronouncing that second vowel differently. They say in-VAL-id, I say IN-vuh-lid. Nobody should ever have to run "strace -ttt -v -f -o make.strace make all", just to discover the problem isn't even in there. Related: rhbz#1310782 * Tue Mar 28 2017 Peter Jones - 3.0.5-8 - Nerf the timestamps on our .o files while building, because RHEL's ar(1) is horrible and silently ignores the 'D' option. It's fine, I probably didn't put it there for any reason. Related: rhbz#1310782 * Tue Mar 28 2017 Peter Jones - 3.0.5-7 - Call ar(1) in deterministic mode so our .a's are multipath clean. Related: rhbz#1310782 * Mon Mar 20 2017 Peter Jones - 3.0.5-6 - Also build the ia32 bits in a separate 32-bit package for other consumers. Related: rhbz#1310782 * Wed Mar 15 2017 Peter Jones - 3.0.5-5 - Fix a codegin bug that makes it want libgcc_s (but not know it) on ia32. Related: rhbz#1310782 * Mon Mar 13 2017 Peter Jones - 3.0.5-4 - Package the ia32 bits somewhat better. Related: rhbz#1310782 * Mon Mar 13 2017 Peter Jones - 3.0.5-3 - Include ia32 bits in the x86_64 packages instead of making a separate 32-bit package Resolves: rhbz#1310782 * Mon Mar 06 2017 Peter Jones - 3.0.5-2 - Fix some bugs in the 3.0.5 release. Related: rhbz#1310782 * Thu Feb 02 2017 Peter Jones - 3.0.5-1 - Update to 3.0.5 - Re-enable ia32 builds for the most hilarious changelog series... Resolves: rhbz#1310782 * Mon Jun 15 2015 Peter Jones - 3.0.2-2 - Fix .spec mismerge from upstream that causes ia32 to build. Related: rhbz#1190191 Related: rhbz#1115843 Related: rhbz#1100048 * Mon Jun 15 2015 Peter Jones - 3.0.2-1 - Update to 3.0.2 Related: rhbz#1190191 Related: rhbz#1115843 Related: rhbz#1100048 - Fix base package requirement on subpackages * Fri Aug 22 2014 Kyle McMartin - 3.0w-0.1 - New upstream version 3.0w - Add pjones' build fixes patch from that other distro. - Enable AArch64 * Fri Dec 27 2013 Daniel Mach - 3.0u-2 - Mass rebuild 2013-12-27 * Fri Oct 25 2013 Peter Jones - 3.0u-1 - Reflect that we're not supporting this on anything but x86_64. Related: rhbz#1017861 * Tue Sep 24 2013 Peter Jones - 3.0u-0.1 - Update to 3.0u Related: rhbz#996863 - Split out subpackages so -devel can be multilib - Fix path in apps subpackage to vary by distro. * Thu Jul 25 2013 Peter Jones - 3.0q-3 - Revert to 3.0q Related: rhbz#978766 * Fri Jun 07 2013 Peter Jones - 3.0t-0.1 - Update to 3.0t - Don't allow use of mmx or sse registers. * Thu May 16 2013 Peter Jones - 3.0s-2 - Update to 3.0s Related: rhbz#963359 * Thu Feb 14 2013 Fedora Release Engineering - 3.0q-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Fri Jul 27 2012 Matthew Garrett - 3.0q-1 - Update to current upstream - License change - GPLv2+ to BSD * Thu Jul 19 2012 Fedora Release Engineering - 3.0e-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Wed Apr 25 2012 Peter Jones - 3.0e-17 - Align .reloc section as well to make secureboot work (mfleming) * Fri Jan 13 2012 Fedora Release Engineering - 3.0e-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Thu Aug 11 2011 Peter Jones - 3.0e-15 - Correctly pad the stack when doing uefi calls Related: rhbz#677468 - Add ability to write UEFI callbacks and drivers - Add test harness for ABI Calling Conventions * Thu Jun 16 2011 Peter Jones - 3.0e-14 - Handle uninitialized GOP driver gracefully. * Wed Feb 09 2011 Fedora Release Engineering - 3.0e-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Fri Sep 10 2010 Peter Jones - 3.0e-12 - Add "modelist.efi" test utility in apps/ * Mon Jul 26 2010 Peter Jones - 3.0e-11 - Add PciIo headers. * Fri Jul 23 2010 Peter Jones - 3.0e-10 - Add UEFI 2.x boot services. * Tue Aug 11 2009 Peter Jones - 3.0e-9 - Change ExclusiveArch to reflect arch changes in repos. * Fri Jul 24 2009 Fedora Release Engineering - 3.0e-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Fri Apr 03 2009 Peter Jones - 3.0e-7 - Use nickc's workaround for #492183 * Tue Mar 31 2009 Peter Jones - 3.0e-6.1 - Make a test package for nickc. * Thu Mar 12 2009 Chris Lumens 3.0e-6 - Add IA64 back into the list of build arches (#489544). * Mon Mar 02 2009 Peter Jones - 3.0e-5 - Switch to i586 from i386. * Tue Feb 24 2009 Fedora Release Engineering - 3.0e-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Feb 13 2009 Peter Jones - 3.0e-3 - Pad sections out in the provided linker scripts to make sure they all of some content. * Fri Oct 03 2008 Peter Jones - 3.0e-2 - Fix install paths on x86_64. * Thu Oct 02 2008 Peter Jones - 3.0e-1 - Update to 3.0e - Fix relocation bug in 3.0e * Tue Jul 29 2008 Tom "spot" Callaway - 3.0d-6 - fix license tag * Mon Jul 28 2008 Peter Jones - 3.0d-5 - Remove ia64 palproc code since its license isn't usable. - Remove ia64 from ExclusiveArch since it can't build... * Thu Mar 27 2008 Peter Jones - 3.0d-4 - Fix uefi_call_wrapper(x, 10, ...) . - Add efi_main wrappers and EFI_CALL() macro so drivers are possible. * Mon Feb 18 2008 Fedora Release Engineering - 3.0d-3 - Autorebuild for GCC 4.3 * Fri Jan 11 2008 Peter Jones - 3.0d-2 - Get rid of a bogus #ifdef . * Wed Dec 19 2007 Peter Jones - 3.0d-1 - Update to 3.0d * Tue Jun 12 2007 Chris Lumens - 3.0c-2 - Fixes for package review (#225846). * Wed Jul 12 2006 Jesse Keating - 3.0c-1.1 - rebuild * Thu Apr 27 2006 Chris Lumens 3.0c-1 - Upgrade to gnu-efi-3.0c. - Enable build on i386. * Tue Feb 07 2006 Jesse Keating - 3.0a-7.2 - rebuilt for new gcc4.1 snapshot and glibc changes * Fri Dec 09 2005 Jesse Keating - rebuilt * Thu Mar 3 2005 Jeremy Katz - 3.0a-7 - rebuild with gcc 4 * Tue Sep 21 2004 Jeremy Katz - 3.0a-6 - add fix from Jesse Barnes for newer binutils (#129197) * Tue Jun 15 2004 Elliot Lee - rebuilt * Wed Apr 21 2004 Jeremy Katz - 3.0a-4 - actually add the patch * Tue Apr 20 2004 Bill Nottingham 3.0a-3 - add patch to coalesce some relocations (#120080, ) * Fri Feb 13 2004 Elliot Lee - rebuilt * Fri Oct 4 2002 Jeremy Katz - rebuild in new environment * Sun Jul 8 2001 Bill Nottingham - update to 3.0 * Tue Jun 5 2001 Bill Nottingham - add fix for invocations from the boot manager menu (#42222) * Tue May 22 2001 Bill Nottingham - add bugfix for efibootmgr () * Mon May 21 2001 Bill Nottingham - update to 2.5 - add in efibootmgr from Dell () * Thu May 3 2001 Bill Nottingham - fix booting of kernels with extra arguments (#37711) * Wed Apr 25 2001 Bill Nottingham - take out Stephane's initrd patch * Fri Apr 20 2001 Bill Nottingham - fix the verbosity patch to not break passing arguments to images * Wed Apr 18 2001 Bill Nottingham - update to 2.0, build elilo, obsolete eli * Tue Dec 5 2000 Bill Nottingham - update to 1.1 * Thu Oct 26 2000 Bill Nottingham - add patch for new toolchain, update to 1.0 * Thu Aug 17 2000 Bill Nottingham - update to 0.9