The package rpms/fwupdate.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/fwupdate.git/commit/?id=8f9c94c63f17....
Change: -%ifarch x86_64
Thanks.
Full change: ============
commit 8f9c94c63f17c1f7f58022b716c24691fe86421b Author: Peter Jones pjones@redhat.com Date: Wed May 2 10:24:04 2018 -0400
Use efi-rpm-macros instead of defining all the efi macros ourselves
Signed-off-by: Peter Jones pjones@redhat.com
diff --git a/0001-Update-arch-names-for-gnu-efi-3.0.8-3.fc29.patch b/0001-Update-arch-names-for-gnu-efi-3.0.8-3.fc29.patch new file mode 100644 index 0000000..0ad2c34 --- /dev/null +++ b/0001-Update-arch-names-for-gnu-efi-3.0.8-3.fc29.patch @@ -0,0 +1,117 @@ +From aeee5fbf54423a516780f06106f78ee28760bda8 Mon Sep 17 00:00:00 2001 +From: Peter Jones pjones@redhat.com +Date: Wed, 2 May 2018 10:33:10 -0400 +Subject: [PATCH] Update arch names for gnu-efi-3.0.8-3.fc29 + +Signed-off-by: Peter Jones pjones@redhat.com +--- + Make.defaults | 16 +++++++++++++--- + efi/.syntastic_c_config | 4 ++-- + efi/Makefile | 8 ++++---- + efi/{elf_aarch64_efi.lds => elf_aa64_efi.lds} | 0 + efi/{elf_x86_64_efi.lds => elf_x64_efi.lds} | 2 +- + 5 files changed, 20 insertions(+), 10 deletions(-) + rename efi/{elf_aarch64_efi.lds => elf_aa64_efi.lds} (100%) + rename efi/{elf_x86_64_efi.lds => elf_x64_efi.lds} (93%) + +diff --git a/Make.defaults b/Make.defaults +index 18b37955def..be0e1f2d890 100644 +--- a/Make.defaults ++++ b/Make.defaults +@@ -20,8 +20,18 @@ ABIDW := abidw + prefix ?= /usr/ + prefix := $(abspath $(prefix)) + exec_prefix ?= $(prefix) +-ARCH = $(shell $(CC) -dumpmachine | cut -f1 -d- | sed s,i[3456789]86,ia32,) +-ifeq ($(ARCH),x86_64) ++ARCH = $(shell $(CC) -dumpmachine | cut -f1 -d- | sed \ ++ -e s,i[3456789]86,ia32, \ ++ -e s,amd64,x64, -e s,x86_64,x64, \ ++ -e s,aarch64,aa64, \ ++ -e 's,armv7.*,arm,' \ ++ ) ++BFD_ARCH = $(shell $(CC) -dumpmachine | cut -f1 -d- | sed \ ++ -e s,i[3456789]86,ia32, \ ++ -e s,amd64,x86_64, \ ++ -e 's,armv7.*,arm,' \ ++ ) ++ifeq ($(ARCH),x64) + LIBDIR ?= $(exec_prefix)/lib64 + ifeq "$(wildcard $(LIBDIR) )" "" + LIBDIR = $(exec_prefix)/lib/x86_64-linux-gnu +@@ -30,7 +40,7 @@ endif + ifeq ($(ARCH),ia32) + LIBDIR ?= $(exec_prefix)/lib + endif +-ifeq ($(ARCH),aarch64) ++ifeq ($(ARCH),aa64) + LIBDIR ?= $(exec_prefix)/lib64 + endif + ifeq ($(ARCH),arm) +diff --git a/efi/.syntastic_c_config b/efi/.syntastic_c_config +index c212237ee10..25172a51780 100644 +--- a/efi/.syntastic_c_config ++++ b/efi/.syntastic_c_config +@@ -16,9 +16,9 @@ + -fno-stack-protector + -fno-stack-check + --std=gnu11 +--DCONFIG_x86_64 ++-DCONFIG_x64 + -I/usr/include/efi/ +--I/usr/include/efi/x86_64/ ++-I/usr/include/efi/x64/ + -iquote/home/pjones/devel/github.com/fwupdate/ux-capsule/include + -mno-mmx + -mno-sse +diff --git a/efi/Makefile b/efi/Makefile +index 635c4571e6a..f92b1aa2b6e 100644 +--- a/efi/Makefile ++++ b/efi/Makefile +@@ -35,22 +35,22 @@ OBJCOPY_GTE224 := $(shell expr `$(objcopy_version)` >= 2.24) + + FWUP = fwupdate + +-ifeq ($(ARCH),x86_64) +- FORMAT = --target efi-app-$(ARCH) ++ifeq ($(ARCH),x64) ++ FORMAT = --target efi-app-$(BFD_ARCH) + BUILDFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc \ + $(CLANG_BUGS) -DEFI_FUNCTION_WRAPPER \ + -DGNU_EFI_USE_MS_ABI -I$(shell $(CC) -print-file-name=include) + FWUP = fwupx64 + endif + ifeq ($(ARCH),ia32) +- FORMAT = --target efi-app-$(ARCH) ++ FORMAT = --target efi-app-$(BFD_ARCH) + BUILDFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc \ + $(CLANG_BUGS) -m32 \ + -I$(shell $(CC) -print-file-name=include) + FWUP = fwupia32 + endif + +-ifeq ($(ARCH),aarch64) ++ifeq ($(ARCH),aa64) + FORMAT = -O binary + CCLDFLAGS += -Wl,--defsym=EFI_SUBSYSTEM=0xa + BUILDFLAGS += -ffreestanding -I$(shell $(CC) -print-file-name=include) +diff --git a/efi/elf_aarch64_efi.lds b/efi/elf_aa64_efi.lds +similarity index 100% +rename from efi/elf_aarch64_efi.lds +rename to efi/elf_aa64_efi.lds +diff --git a/efi/elf_x86_64_efi.lds b/efi/elf_x64_efi.lds +similarity index 93% +rename from efi/elf_x86_64_efi.lds +rename to efi/elf_x64_efi.lds +index 73a79e7d8b0..9b254b0085f 100644 +--- a/efi/elf_x86_64_efi.lds ++++ b/efi/elf_x64_efi.lds +@@ -1,4 +1,4 @@ +-/* Same as elf_x86_64_fbsd_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */ ++/* Same as elf_x64_fbsd_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */ + OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") + OUTPUT_ARCH(i386:x86-64) + ENTRY(_start) +-- +2.14.3 + diff --git a/fwupdate.spec b/fwupdate.spec index efb9ad9..b94d7d9 100644 --- a/fwupdate.spec +++ b/fwupdate.spec @@ -1,15 +1,19 @@ -%global efivar_version 35-1 -%global efibootmgr_version 16-1 -%global gnu_efi_version 3.0.8-1 +%global efivar_version 35-3 +%global efibootmgr_version 16-3 +%global gnu_efi_version 3.0.8-4 +%global efi_macros_version 3-2 %undefine _debuginfo_subpackages
Name: fwupdate Version: 11 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Tools to manage UEFI firmware updates License: GPLv2+ -URL: https://github.com/rhinstaller/fwupdate +URL: https://github.com/rhboot/fwupdate Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: efi-filesystem +BuildRequires: efi-srpm-macros >= %{efi_macros_version} +BuildRequires: efi-filesystem BuildRequires: efivar-devel >= %{efivar_version} BuildRequires: gnu-efi >= %{gnu_efi_version} BuildRequires: gnu-efi-devel >= %{gnu_efi_version} @@ -20,9 +24,10 @@ BuildRequires: libabigail %ifarch x86_64 BuildRequires: libsmbios-devel %endif -ExclusiveArch: x86_64 aarch64 -Source0: https://github.com/rhinstaller/fwupdate/releases/download/%%7Bname%7D-%%7Bve... +ExclusiveArch: %{efi} +Source0: https://github.com/rhboot/fwupdate/releases/download/%%7Bname%7D-%%7Bversion... Source1: find-debuginfo-efi.sh +Patch0001: 0001-Update-arch-names-for-gnu-efi-3.0.8-3.fc29.patch
%global __os_install_post %{expand:\ %{?__debug_package:%{__debug_install_post}} \ @@ -31,17 +36,6 @@ Source1: find-debuginfo-efi.sh %{__os_install_post} \ %{nil}}%{nil}
-%ifarch x86_64 -%global efiarch x64 -%global efialtarch ia32 -%endif -%ifarch aarch64 -%global efiarch aa64 -%endif - -# Figure out the right file path to use -%global efidir %(eval echo $(grep ^ID= /etc/os-release | sed -e 's/^ID=//' -e 's/rhel/redhat/')) - %description fwupdate provides a simple command line interface to the UEFI firmware updates.
@@ -80,64 +74,59 @@ AutoProv: 1 debuginfo for UEFI binaries used by libfwup.
%prep -%setup -q -n %{name}-%{version} -git init -git config user.email "%{name}-owner@fedoraproject.org" -git config user.name "Fedora Ninjas" -git add . -mkdir build-%{efiarch} -%ifarch x86_64 -mkdir build-%{efialtarch} +%autosetup -S git +mkdir build-%{efi_arch} +%if %{efi_has_alt_arch} + mkdir build-%{efi_alt_arch} %endif -git commit -a -q -m "%{version} baseline." -git am %{patches} </dev/null -git config --unset user.email -git config --unset user.name -git config fwupdate.efidir %{efidir} +git config --local --add fwupdate.efidir %{efi_vendor}
%build -cd build-%{efiarch} -make TOPDIR=.. -f ../Makefile OPT_FLAGS="$RPM_OPT_FLAGS" \ - libdir=%{_libdir} bindir=%{_bindir} \ - EFIDIR=%{efidir} %{?_smp_mflags} -mv -v efi/fwup%{efiarch}.efi efi/fwup%{efiarch}.unsigned.efi -%pesign -s -i efi/fwup%{efiarch}.unsigned.efi -o efi/fwup%{efiarch}.efi +cd build-%{efi_arch} +%make_build -f ../Makefile \ + TOPDIR=.. OPT_FLAGS="$RPM_OPT_FLAGS" \ + libdir=%{_libdir} bindir=%{_bindir} \ + EFIDIR=%{efi_vendor} +mv -v efi/fwup%{efi_arch}.efi efi/fwup%{efi_arch}.unsigned.efi +%pesign -s -i efi/fwup%{efi_arch}.unsigned.efi -o efi/fwup%{efi_arch}.efi cd ..
-%ifarch x86_64 -cd build-%{efialtarch} -setarch linux32 -B make TOPDIR=.. -f ../Makefile ARCH=%{efialtarch} \ - OPT_FLAGS="$RPM_OPT_FLAGS" \ - libdir=%{_libdir} bindir=%{_bindir} \ - EFIDIR=%{efidir} %{?_smp_mflags} -mv -v efi/fwup%{efialtarch}.efi efi/fwup%{efialtarch}.unsigned.efi -%pesign -s -i efi/fwup%{efialtarch}.unsigned.efi -o efi/fwup%{efialtarch}.efi -cd .. +%if %{efi_has_alt_arch} + cd build-%{efi_alt_arch} + setarch linux32 -B %make_build -f ../Makefile \ + TOPDIR=.. ARCH=%{efi_alt_arch} \ + OPT_FLAGS="$RPM_OPT_FLAGS" \ + libdir=%{_libdir} bindir=%{_bindir} \ + EFIDIR=%{efi_vendor} + mv -v efi/fwup%{efi_alt_arch}.efi efi/fwup%{efi_alt_arch}.unsigned.efi + %pesign -s -i efi/fwup%{efi_alt_arch}.unsigned.efi -o efi/fwup%{efi_alt_arch}.efi + cd .. %endif
%install rm -rf $RPM_BUILD_ROOT -cd build-%{efiarch} -%make_install TOPDIR=.. -f ../Makefile \ - EFIDIR=%{efidir} RPMARCH=%{_arch} RELEASE=%{RELEASE} \ - libdir=%{_libdir} bindir=%{_bindir} mandir=%{_mandir} \ - localedir=%{_datadir}/locale/ includedir=%{_includedir} \ - libexecdir=%{_libexecdir} datadir=%{_datadir} \ - sharedstatedir=%{_sharedstatedir} +cd build-%{efi_arch} +%make_install -f ../Makefile \ + TOPDIR=.. RPMARCH=%{_arch} RELEASE=%{RELEASE} \ + libdir=%{_libdir} bindir=%{_bindir} mandir=%{_mandir} \ + localedir=%{_datadir}/locale/ includedir=%{_includedir} \ + libexecdir=%{_libexecdir} datadir=%{_datadir} \ + sharedstatedir=%{_sharedstatedir} cd ..
-%ifarch x86_64 -cd build-%{efialtarch} -setarch linux32 -B %make_install ARCH=%{efialtarch} TOPDIR=.. -f ../Makefile \ - EFIDIR=%{efidir} RPMARCH=%{_arch} \ - RELEASE=%{RELEASE} libdir=%{_libdir} \ - bindir=%{_bindir} mandir=%{_mandir} \ - localedir=%{_datadir}/locale/ \ - includedir=%{_includedir} \ - libexecdir=%{_libexecdir} \ - datadir=%{_datadir} \ - sharedstatedir=%{_sharedstatedir} -cd .. +%if %{efi_has_alt_arch} + cd build-%{efi_alt_arch} + setarch linux32 -B %make_install -f ../Makefile \ + ARCH=%{efi_alt_arch} TOPDIR=.. \ + EFIDIR=%{efi_vendor} RPMARCH=%{_arch} \ + RELEASE=%{RELEASE} libdir=%{_libdir} \ + bindir=%{_bindir} mandir=%{_mandir} \ + localedir=%{_datadir}/locale/ \ + includedir=%{_includedir} \ + libexecdir=%{_libexecdir} \ + datadir=%{_datadir} \ + sharedstatedir=%{_sharedstatedir} + cd .. %endif
%post libs @@ -185,18 +174,19 @@ make abicheck %{_libexecdir}/fwupdate/cleanup
%files efi -%dir %attr(0700,root,root) /boot/efi -%dir %attr(0700,root,root) /boot/efi/EFI/%{efidir}/ -%dir %attr(0700,root,root) /boot/efi/EFI/%{efidir}/fw/ -%attr (0700,root,root) /boot/efi/EFI/%{efidir}/fwup%{efiarch}.efi -%ifarch x86_64 -%attr (0700,root,root) /boot/efi/EFI/%{efidir}/fwup%{efialtarch}.efi +%dir %attr(0700,root,root) %{efi_esp_dir}/fw/ +%attr (0700,root,root) %{efi_esp_dir}/fwup%{efi_arch}.efi +%if %{efi_has_alt_arch} +%attr (0700,root,root) %{efi_esp_dir}/fwup%{efi_alt_arch}.efi %endif
%files efi-debuginfo -f debugfiles-efi.list %defattr(-,root,root)
%changelog +* Tue May 01 2018 Peter Jones pjones@redhat.com - 11-2 +- Use efi-rpm-macros instead of defining all the efi macros ourselves + * Mon Apr 09 2018 Peter Jones pjones@redhat.com - 11-1 - Update to fwupdate 11