--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package edk2
Current package in testing has 2 FTBFS bugs due to testing switched to
gcc4.9 and edk2 in testing not supporting it. Version in unstable contains
two fixes for these 2 FTBFS bugs, plus a clarification of why it is not
part of debian main archive (it is in non-free). The package in unstable
builds and works fine.
Overall, edk2, being a UEFI firmware, is a leaf package -- it builds only
ovmf binary package which is optional, to be used with qemu-system to emulate
an UEFI system. Nothing else depends on it, so unblock should not affect
anything. On the other hand, if it is to be removed, qemu will need to be
modified to remove ovmf from the list of recommends.
unblock edk2/0~20131112.2590861a-3
Thanks,
/mjt
Debdiff (please note: some files are with MS-DOS (CR/LF) line endings):
diff -Nru edk2-0~20131112.2590861a/debian/changelog edk2-0~20131112.2590861a/debian/changelog
--- edk2-0~20131112.2590861a/debian/changelog 2014-02-25 22:49:07.000000000 +0400
+++ edk2-0~20131112.2590861a/debian/changelog 2014-12-19 10:23:06.000000000 +0300
@@ -1,3 +1,17 @@
+edk2 (0~20131112.2590861a-3) unstable; urgency=medium
+
+ [ Steve Langasek ]
+ * debian/copyright: include a Disclaimer field to document clearly why
+ this package is not in main. Closes: #742589.
+
+ [ Michael Tokarev ]
+ * apply gcc-4.9-align.patch kindly provided by dann frazier to fix ftbfs
+ with gcc-4.9 (Closes: #771114)
+ * apply upstream fix-undefined-behavior-in-vfrcompiler.patch, kindly provided
+ by dann frazier, to fix another ftbfs (Closes: #773492)
+
+ -- Michael Tokarev <mjt@tls.msk.ru> Fri, 19 Dec 2014 10:16:14 +0300
+
edk2 (0~20131112.2590861a-2) unstable; urgency=medium
* debian/ovmf.links: create a OVMF.fd link for qemu
diff -Nru edk2-0~20131112.2590861a/debian/copyright edk2-0~20131112.2590861a/debian/copyright
--- edk2-0~20131112.2590861a/debian/copyright 2014-02-25 22:49:07.000000000 +0400
+++ edk2-0~20131112.2590861a/debian/copyright 2014-12-19 09:52:21.000000000 +0300
@@ -4,6 +4,10 @@
and https://efi-shell.svn.sourceforge.net/svnroot/efi-shell/trunk/Shell,
with .efi binary files removed from the source at package generation time.
See get-orig-source in debian/rules for details.
+Disclaimer: This package is not part of Debian because it does not meet
+ Debian's license standards due to the licensing on the Intel FAT driver
+ (see License: Intel-Fat-Driver below). With this exception, all other
+ code in this package meets the Debian Free Software Guidelines.
Files: *
Copyright: 1999-2013, Intel Corporation
diff -Nru edk2-0~20131112.2590861a/debian/patches/fix-undefined-behavior-in-vfrcompiler.patch edk2-0~20131112.2590861a/debian/patches/fix-undefined-behavior-in-vfrcompiler.patch
--- edk2-0~20131112.2590861a/debian/patches/fix-undefined-behavior-in-vfrcompiler.patch 1970-01-01 03:00:00.000000000 +0300
+++ edk2-0~20131112.2590861a/debian/patches/fix-undefined-behavior-in-vfrcompiler.patch 2014-12-19 10:22:48.000000000 +0300
@@ -0,0 +1,35 @@
+Description: Fix undefined behavior in VfrCompiler.
+Origin: http://sourceforge.net/p/edk2-buildtools/code/2667/
+Bug-Debian: http://bugs.debian.org/773492
+Author: Reza Jelveh <reza.jelveh@tuhh.de>
+Reviewed-by: Eric Dong <eric.dong@intel.com>
+Last-Update: 2014-12-18
+Applied-Upstream: commit:r2667
+
+Index: edk2-0~20131112.2590861a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
+===================================================================
+--- edk2-0~20131112.2590861a.orig/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
++++ edk2-0~20131112.2590861a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
+@@ -372,6 +372,8 @@ CVfrCompiler::CVfrCompiler (
+ mPreProcessCmd = (CHAR8 *) PREPROCESSOR_COMMAND;
+ mPreProcessOpt = (CHAR8 *) PREPROCESSOR_OPTIONS;
+
++ SET_RUN_STATUS (STATUS_STARTED);
++
+ OptionInitialization(Argc, Argv);
+
+ if ((IS_RUN_STATUS(STATUS_FAILED)) || (IS_RUN_STATUS(STATUS_DEAD))) {
+Index: edk2-0~20131112.2590861a/BaseTools/Source/C/VfrCompile/VfrCompiler.h
+===================================================================
+--- edk2-0~20131112.2590861a.orig/BaseTools/Source/C/VfrCompile/VfrCompiler.h
++++ edk2-0~20131112.2590861a/BaseTools/Source/C/VfrCompile/VfrCompiler.h
+@@ -61,7 +61,8 @@ typedef struct {
+ } OPTIONS;
+
+ typedef enum {
+- STATUS_INITIALIZED = 1,
++ STATUS_STARTED = 0,
++ STATUS_INITIALIZED,
+ STATUS_PREPROCESSED,
+ STATUS_COMPILEED,
+ STATUS_GENBINARY,
diff -Nru edk2-0~20131112.2590861a/debian/patches/gcc-4.9-align.patch edk2-0~20131112.2590861a/debian/patches/gcc-4.9-align.patch
--- edk2-0~20131112.2590861a/debian/patches/gcc-4.9-align.patch 1970-01-01 03:00:00.000000000 +0300
+++ edk2-0~20131112.2590861a/debian/patches/gcc-4.9-align.patch 2014-12-19 10:21:22.000000000 +0300
@@ -0,0 +1,30 @@
+Description: Update linker script for gcc-4.9 which uses 64 byte alignment
+ When the Facp.dll file is built w/ gcc-4.9, it uses a 64-byte alignment for
+ the data section - but the EDK2 uses a linker script that only requires 32-
+ byte alignment. This results in a binary that violates the ELF spec. GenFw
+ has an assertion to catch this when doing a binary conversion - this trips,
+ and the build fails.
+ .
+ This was resolved upstream by adding a new toolchain config for GCC49, which
+ includes a new linker script that uses 64-byte alignment. This is a more
+ surgical fix that just adjusts the existing GCC44 toolchain config (which is
+ what we're using in Debian, even with gcc-4.9) to allow for 64-byte alignment.
+Origin: http://sourceforge.net/p/edk2/code/15697/
+Bug-Debian: http://bugs.debian.org/771114
+Author: dann frazier <dannf@debian.org>
+Last-Update: 2014-12-18
+Applied-Upstream: commit:r15697
+
+Index: edk2-0~20131112.2590861a/BaseTools/Scripts/gcc4.4-ld-script
+===================================================================
+--- edk2-0~20131112.2590861a.orig/BaseTools/Scripts/gcc4.4-ld-script
++++ edk2-0~20131112.2590861a/BaseTools/Scripts/gcc4.4-ld-script
+@@ -8,7 +8,7 @@ SECTIONS
+ *(.text .stub .text.* .gnu.linkonce.t.*)
+ . = ALIGN(0x20);
+ } =0x90909090
+- .data ALIGN(0x20) :
++ .data ALIGN(0x40) :
+ {
+ *(
+ .rodata .rodata.* .gnu.linkonce.r.*
diff -Nru edk2-0~20131112.2590861a/debian/patches/series edk2-0~20131112.2590861a/debian/patches/series
--- edk2-0~20131112.2590861a/debian/patches/series 2014-02-25 22:49:07.000000000 +0400
+++ edk2-0~20131112.2590861a/debian/patches/series 2014-12-19 10:21:44.000000000 +0300
@@ -1,2 +1,6 @@
shell-efiapi.patch
enable-nvme
+#771114:
+gcc-4.9-align.patch
+#773492 (from upstream)
+fix-undefined-behavior-in-vfrcompiler.patch
--- End Message ---