package/gnu-efi: bump version to 3.0.1
PATCH 1/4 package/gnu-efi: bump version to 3.0.1
remove upstream patch gnu-efi-03-parallel-make.patch
--- ...S-CPPFLAGS-to-be-completed-from-the-envir.patch | 80 ++++++++++++++++++++++ ...02-Fix-parallel-make-failure-for-archives.patch | 57 +++++++++++++++ .../gnu-efi/gnu-efi-01-use-override-cflags.patch | 53 -------------- .../gnu-efi-02-parallel-make-archives.patch | 48 ------------- package/gnu-efi/gnu-efi-03-parallel-make.patch | 22 ------ package/gnu-efi/gnu-efi.hash | 5 +- package/gnu-efi/gnu-efi.mk | 4 +- 7 files changed, 142 insertions(+), 127 deletions(-) create mode 100644 package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch create mode 100644 package/gnu-efi/0002-Fix-parallel-make-failure-for-archives.patch delete mode 100644 package/gnu-efi/gnu-efi-01-use-override-cflags.patch delete mode 100644 package/gnu-efi/gnu-efi-02-parallel-make-archives.patch delete mode 100644 package/gnu-efi/gnu-efi-03-parallel-make.patch
package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch new file +80 -0
@@ -0,0 +1,80 @@ +From eea0f62a1f6712f10afe47635b80a061505d2d2f Mon Sep 17 00:00:00 2001 +From: Romain Naour <[email protected]> +Date: Sat, 17 Jan 2015 18:33:37 +0100 +Subject: [PATCH 1/2] Allow CFLAGS/CPPFLAGS to be completed from the + environment + +Buildroot passes its own CPPFLAGS and CFLAGS in the environment, so +the CFLAGS += and CPPFLAGS += statements in gnu-efi Makefile have no +effect. Change these to override <VARIABLE> += so that they extend the +flags passed by Buildroot. + +[Romain: + - rebase on top of 3.0.1 release] + +Signed-off-by: Thomas Petazzoni <[email protected]> +Signed-off-by: Romain Naour <[email protected]> +--- + Make.defaults | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/Make.defaults b/Make.defaults +index 169273d..b0ddea0 100644 +--- a/Make.defaults ++++ b/Make.defaults +@@ -80,14 +80,14 @@ endif + # + + # Arch-specific compilation flags +-CPPFLAGS += -DCONFIG_$(ARCH) ++override CPPFLAGS += -DCONFIG_$(ARCH) + + ifeq ($(ARCH),ia64) +- CFLAGS += -mfixed-range=f32-f127 ++ override CFLAGS += -mfixed-range=f32-f127 + endif + + ifeq ($(ARCH),ia32) +- CFLAGS += -mno-mmx -mno-sse ++ override CFLAGS += -mno-mmx -mno-sse + ifeq ($(HOSTARCH),x86_64) + ARCH3264 = -m32 + endif +@@ -103,10 +103,10 @@ ifeq ($(ARCH),x86_64) + && [ $(GCCMINOR) -ge "7" ] ) ) \ + && echo 1) + ifeq ($(GCCNEWENOUGH),1) +- CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11 ++ override CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11 + endif + +- CFLAGS += -mno-red-zone -mno-mmx -mno-sse ++ override CFLAGS += -mno-red-zone -mno-mmx -mno-sse + ifeq ($(HOSTARCH),ia32) + ARCH3264 = -m64 + endif +@@ -127,7 +127,7 @@ export LIBGCC=$(shell $(CC) $(ARCH3264) -print-libgcc-file-name) + endif + + ifeq ($(ARCH),arm) +-CFLAGS += -marm ++override CFLAGS += -marm + endif + + # Generic compilation flags +@@ -135,10 +135,10 @@ INCDIR += -I$(SRCDIR) -I$(TOPDIR)/inc -I$(TOPDIR)/inc/$(ARCH) \ + -I$(TOPDIR)/inc/protocol + + ifeq (FreeBSD, $(findstring FreeBSD, $(OS))) +-CFLAGS += $(ARCH3264) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing \ ++override CFLAGS += $(ARCH3264) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing \ + -ffreestanding -fno-stack-protector + else +-CFLAGS += $(ARCH3264) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing \ ++override CFLAGS += $(ARCH3264) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing \ + -fno-merge-constants -ffreestanding -fno-stack-protector \ + -fno-stack-check + endif +-- +1.9.3 +
package/gnu-efi/0002-Fix-parallel-make-failure-for-archives.patch new file +57 -0
57 lines not on this page · raw message
package/gnu-efi/gnu-efi-01-use-override-cflags.patch deleted +0 -53
53 lines not on this page · raw message
package/gnu-efi/gnu-efi-02-parallel-make-archives.patch deleted +0 -48
48 lines not on this page · raw message
package/gnu-efi/gnu-efi-03-parallel-make.patch deleted +0 -22
@@ -1,22 +0,0 @@ -Fix parallel make failure - -Upstream-Status: Submitted [Maintainer directly] - -Add a missing dependency which resulted in a race leading to failure -on larger values of -j. - -Signed-off-by: Darren Hart <[email protected]> - -Index: gnu-efi-3.0/Makefile -=================================================================== ---- gnu-efi-3.0.orig/Makefile -+++ gnu-efi-3.0/Makefile -@@ -42,6 +42,8 @@ include $(SRCDIR)/Make.defaults - - SUBDIRS = lib gnuefi inc apps - -+gnuefi: lib -+ - all: check_gcc $(SUBDIRS) - - $(SUBDIRS):
package/gnu-efi/gnu-efi.hash +3 -2
@@ -1,2 +1,3 @@ -# Locally computed: -sha256 3c0d450d5829204ca05dcb3b2aae772e52c379b7c7e09146759c6315606f934e gnu-efi_3.0u.orig.tar.gz +# From http://sourceforge.net/projects/gnu-efi/files +md5 c4099c443b6b0c2b04dedc33e7814ec0 gnu-efi-3.0.1.tar.bz2 +sha1 07eea4d72f7ecb7229aaa77ddd411de5673c67b6 gnu-efi-3.0.1.tar.bz2
package/gnu-efi/gnu-efi.mk +2 -2
@@ -4,8 +4,8 @@ # ################################################################################ -GNU_EFI_VERSION = 3.0u -GNU_EFI_SOURCE = gnu-efi_$(GNU_EFI_VERSION).orig.tar.gz +GNU_EFI_VERSION = 3.0.1 +GNU_EFI_SOURCE = gnu-efi-$(GNU_EFI_VERSION).tar.bz2 GNU_EFI_SITE = http://downloads.sourceforge.net/project/gnu-efi GNU_EFI_INSTALL_STAGING = YES GNU_EFI_LICENSE = GPLv2+ (gnuefi), BSD (efilib)
Signature · 1 line
1.9.3
PATCH 2/4 boot/syslinux: bump version to 6.03
Remove gnu-efi dependency since it's directly included in syslinux sources since 6.03 release. Also remove the patch for find-gnu-efi.sh script which was removed.
There are still some parallel build issues, so MAKE1 can't be removed for now.
Also add a hash file.
--- .../syslinux-000-user-headers-from-sysroot.patch | 37 ---------------------- boot/syslinux/syslinux.hash | 2 ++ boot/syslinux/syslinux.mk | 4 +-- 3 files changed, 4 insertions(+), 39 deletions(-) delete mode 100644 boot/syslinux/syslinux-000-user-headers-from-sysroot.patch create mode 100644 boot/syslinux/syslinux.hash
boot/syslinux/syslinux-000-user-headers-from-sysroot.patch deleted +0 -37
@@ -1,37 +0,0 @@ -efi: look for headers and libs in the sysroot - -Currently, syslinux hard-codes search paths to /usr/.... directories. -This does not play well in cross-compilation. - -If $SYSROOT is defined, prepend it to the search paths. - -Signed-off-by: "Yann E. MORIN" <[email protected]> - -diff -durN syslinux-6.02.orig/efi/find-gnu-efi.sh syslinux-6.02/efi/find-gnu-efi.sh ---- syslinux-6.02.orig/efi/find-gnu-efi.sh 2013-10-13 19:59:03.000000000 +0200 -+++ syslinux-6.02/efi/find-gnu-efi.sh 2014-04-22 00:19:23.638483887 +0200 -@@ -9,7 +9,7 @@ - find_include() - { - for d in $include_dirs; do -- found=`find $d -name efi -type d 2> /dev/null` -+ found=`find $SYSROOT$d -name efi -type d 2> /dev/null` - if [ "$found"x != "x" ] && [ -e $found/$ARCH/efibind.h ]; then - echo $found - break; -@@ -20,12 +20,12 @@ - find_lib() - { - for d in $lib_dirs; do -- found=`find $d -name libgnuefi.a 2> /dev/null` -+ found=`find $SYSROOT$d -name libgnuefi.a 2> /dev/null` - if [ "$found"x != "x" ]; then - crt_name='crt0-efi-'$ARCH'.o' -- crt=`find $d -name $crt_name 2> /dev/null` -+ crt=`find $SYSROOT$d -name $crt_name 2> /dev/null` - if [ "$crt"x != "x" ]; then -- echo $d -+ echo $SYSROOT$d - break; - fi - fi
boot/syslinux/syslinux.hash new file +2 -0
@@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/utils/boot/syslinux/sha256sums.asc +sha256 26d3986d2bea109d5dc0e4f8c4822a459276cf021125e8c9f23c3cca5d8c850e syslinux-6.03.tar.xz
boot/syslinux/syslinux.mk +2 -2
@@ -4,7 +4,7 @@ # ################################################################################ -SYSLINUX_VERSION = 6.02 +SYSLINUX_VERSION = 6.03 SYSLINUX_SOURCE = syslinux-$(SYSLINUX_VERSION).tar.xz SYSLINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux
@@ -19,13 +19,13 @@ ifeq ($(BR2_TARGET_SYSLINUX_LEGACY_BIOS),y) SYSLINUX_TARGET = bios endif +# gnu-efi is directly included in syslinux sources since 6.03 release. ifeq ($(BR2_TARGET_SYSLINUX_EFI),y) ifeq ($(BR2_ARCH_IS_64),y) SYSLINUX_EFI_BITS = efi64 else SYSLINUX_EFI_BITS = efi32 endif # 64-bit -SYSLINUX_DEPENDENCIES += gnu-efi SYSLINUX_TARGET = $(SYSLINUX_EFI_BITS) endif # EFI
Signature · 1 line
1.9.3
PATCH 2/4 boot/syslinux: bump version to 6.03
Dear Romain Naour,
Quoted 3 lines · Romain Naour
Remove gnu-efi dependency since it's directly included in syslinux sources since 6.03 release. Also remove the patch for
find-gnu-efi.shscript which was removed.
The script has been renamed to output/build/syslinux-6.03/efi/check-gnu-efi.sh. And its contents seems to hint that syslinux can use an external gnu-efi installation, which would be the preferred solution in Buildroot. Can you investigate this? Of course, if there is no upstream supported way of using an external gnu-efi installation, then leave things as is in your current patch.
Also, if the gnu-efi dependency really needs to be removed, you also need to remove the "select" in syslinux Config.in file.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 2/4 boot/syslinux: bump version to 6.03
Hi Thomas,
Le 26/01/2015 23:22, Thomas Petazzoni a ?crit :
Quoted 7 lines
Dear Romain Naour,
Quoted 3 lines · Romain Naour
Remove gnu-efi dependency since it's directly included in syslinux sources since 6.03 release. Also remove the patch for
find-gnu-efi.shscript which was removed.
Quoted 6 lines
The script has been renamed to
output/build/syslinux-6.03/efi/check-gnu-efi.sh. And its contents seems to hint that syslinux can use an external gnu-efi installation, which would be the preferred solution in Buildroot. Can you investigate this? Of course, if there is no upstream supported way of using an external gnu-efi installation, then leave things as is in your current patch.
I checked if an external gnu-efi can be used but it's hard coded in build-gnu-efi.sh.
The gnu-efi build start in mk/efi.mk line 51 by calling:
$(topdir)/efi/check-gnu-efi.sh $(EFI_SUBARCH) $(objdir)
Where:
topdir = output/build/syslinux-6.03EFI_SUBARCH = ia32
objdir = output/build/syslinux-6.03/efi32 (build output directory)
The script check-gnu-efi.sh test if gnu-efi needs to be build. If yes, it call build-gnu-efi.sh
The path to gnu-efi is hard coded by EFIDIR:
EFIDIR="$(readlink -f "$objdir/../gnu-efi/gnu-efi-3.0")"
I tried to comment this line and define EFIDIR=$(GNU_EFI_DIR) in SYSLINUX_BUILD_CMDS.
But there are some build issues to be investigated.
But clearly, external gnu-efi is not supported anymore...
Quoted 2 lines
Also, if the gnu-efi dependency really needs to be removed, you also need to remove the "select" in syslinux Config.in file.
Indeed, I forgot to remove the "select", thanks.
Quoted 5 lines
Thanks!
Thomas
PATCH 2/4 boot/syslinux: bump version to 6.03
Dear Romain Naour,
Quoted 14 lines · Romain Naour
I checked if an external gnu-efi can be used but it's hard coded in
build-gnu-efi.sh.The gnu-efi build start in
mk/efi.mkline 51 by calling:
$(topdir)/efi/check-gnu-efi.sh $(EFI_SUBARCH) $(objdir)Where:
topdir = output/build/syslinux-6.03EFI_SUBARCH= ia32
objdir = output/build/syslinux-6.03/efi32 (build output directory)The script
check-gnu-efi.shtest if gnu-efi needs to be build. If yes, it callbuild-gnu-efi.sh
Quoted 8 lines
The path to gnu-efi is hard coded by EFIDIR:
EFIDIR="$(readlink -f "$objdir/../gnu-efi/gnu-efi-3.0")"I tried to comment this line and define EFIDIR=$(GNU_EFI_DIR) in
SYSLINUX_BUILD_CMDS.
But there are some build issues to be investigated.But clearly, external gnu-efi is not supported anymore...
Ok, thanks for looking a bit closer!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 3/4 boot/syslinux: disable MinGW support
In reply to Romain NaourIf MinGW is found on the host, syslinux.exe and syslinux64.exe are build. Disable it since there are no MinGW support in Buildroot.
--- boot/syslinux/0001-disable-MinGW-support.patch | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 boot/syslinux/0001-disable-MinGW-support.patch
boot/syslinux/0001-disable-MinGW-support.patch new file +29 -0
@@ -0,0 +1,29 @@ +From 0455fc58e191687931fe2c0eb5ab4b1d9b970aa4 Mon Sep 17 00:00:00 2001 +From: Romain Naour <[email protected]> +Date: Sat, 17 Jan 2015 19:16:50 +0100 +Subject: [PATCH 1/1] disable MinGW support + +Signed-off-by: Romain Naour <[email protected]> +--- + win32/find-mingw32.sh | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/win32/find-mingw32.sh b/win32/find-mingw32.sh +index 51dcdd7..674f46a 100755 +--- a/win32/find-mingw32.sh ++++ b/win32/find-mingw32.sh +@@ -2,6 +2,11 @@ + + cc="$1" + ++# There is no mingw package in Buildroot. ++# Don't use mingw from the host ++echo missing- ++exit 1 ++ + for prefix in \ + mingw- \ + mingw32- \ +-- +1.9.3 +
Signature · 1 line
1.9.3
PATCH 3/4 boot/syslinux: disable MinGW support
Dear Romain Naour,
Quoted 9 lines · Romain Naour
If MinGW is found on the host, syslinux.exe and syslinux64.exe are build. Disable it since there are no MinGW support in Buildroot.
Signed-off-by Romain Naour <[email protected]>--- boot/syslinux/0001-disable-MinGW-support.patch | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 boot/syslinux/0001-disable-MinGW-support.patch
Hum, why not, but your patch is clearly not upstreamable in Syslinux as is. Do you think you can instead propose a patch that could potentially be upstreamed (and submit it upstream) ?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 4/4 boot/syslinux: add host-perl dependency
In reply to Romain NaourSyslinux use a perl interpreter in it's build system, so add host-perl as dependency.
--- boot/syslinux/syslinux.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
boot/syslinux/syslinux.mk +1 -1
@@ -13,7 +13,7 @@ SYSLINUX_LICENSE_FILES = COPYING SYSLINUX_INSTALL_IMAGES = YES -SYSLINUX_DEPENDENCIES = host-nasm host-util-linux host-upx +SYSLINUX_DEPENDENCIES = host-nasm host-perl host-util-linux host-upx ifeq ($(BR2_TARGET_SYSLINUX_LEGACY_BIOS),y) SYSLINUX_TARGET = bios
Signature · 1 line
1.9.3
PATCH 4/4 boot/syslinux: add host-perl dependency
Hi Romain,
Quoted 2 lines · Romain Naour
Syslinux use a perl interpreter in it's build system, so add host-perl as dependency.
Buildroot expects perl to be installed on the host system already. See ?2.1 (Mandatory packages) in the manual. AFAIK host-perl is only used to build perl itself for the target.
Have you encountered any specific build failure?
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH 4/4 boot/syslinux: add host-perl dependency
Hi Baruch,
Le 20/01/2015 09:54, Baruch Siach a ?crit :
Quoted 9 lines
Hi Romain,
Quoted 2 lines · Romain Naour
Syslinux use a perl interpreter in it's build system, so add host-perl as dependency.
Buildroot expects perl to be installed on the host system already. See ?2.1 (Mandatory packages) in the manual. AFAIK host-perl is only used to build perl itself for the target.
Thanks for the reminder, I haven't checked if perl was a mandatory packages before sending the patch...
Quoted 2 lines
Have you encountered any specific build failure?
Not at all.
Best regards,
Romain
Quoted 3 lines
baruch
PATCH 4/4 boot/syslinux: add host-perl dependency
Dear Romain Naour,
Quoted 10 lines · Romain Naour
Quoted 3 lines
Buildroot expects perl to be installed on the host system already. See ?2.1 (Mandatory packages) in the manual. AFAIK host-perl is only used to build perl itself for the target.
Thanks for the reminder, I haven't checked if perl was a mandatory packages before sending the patch...
Quoted 1 line
Have you encountered any specific build failure?
Not at all.
So I'll mark the patch as Rejected in patchwork. Thanks Romain and Baruch.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Thomas Petazzoni
AppliedPATCH 1/4 package/gnu-efi: bump version to 3.0.1
In reply to Romain NaourDear Romain Naour,
Quoted 17 lines · Romain Naour
remove upstream patch gnu-efi-03-parallel-make.patch
Signed-off-by Romain Naour <[email protected]>--- ...S-CPPFLAGS-to-be-completed-from-the-envir.patch | 80 ++++++++++++++++++++++ ...02-Fix-parallel-make-failure-for-archives.patch | 57 +++++++++++++++ .../gnu-efi/gnu-efi-01-use-override-cflags.patch | 53 -------------- .../gnu-efi-02-parallel-make-archives.patch | 48 ------------- package/gnu-efi/gnu-efi-03-parallel-make.patch | 22 ------ package/gnu-efi/gnu-efi.hash | 5 +- package/gnu-efi/gnu-efi.mk | 4 +- 7 files changed, 142 insertions(+), 127 deletions(-) create mode 100644 package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch create mode 100644 package/gnu-efi/0002-Fix-parallel-make-failure-for-archives.patch delete mode 100644 package/gnu-efi/gnu-efi-01-use-override-cflags.patch delete mode 100644 package/gnu-efi/gnu-efi-02-parallel-make-archives.patch delete mode 100644 package/gnu-efi/gnu-efi-03-parallel-make.patch
Applied, thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com