gnu: vboot-utils: Fix building on armhf-linux.
* gnu/packages/bootloaders.scm (vboot-utils)[source]: Add patches. [arguments]: Conditionally add "HOST_ARCH=arm" to #:make-flags. * gnu/packages/patches/vboot-utils-fix-format-load-address.patch, gnu/packages/patches/vboot-utils-fix-tests-show-contents.patch, gnu/packages/patches/vboot-utils-skip-test-workbuf.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them.
This commit is contained in:
parent
824fc425dd
commit
b634b5c253
|
@ -1228,6 +1228,9 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/upx-fix-CVE-2017-15056.patch \
|
%D%/packages/patches/upx-fix-CVE-2017-15056.patch \
|
||||||
%D%/packages/patches/valgrind-enable-arm.patch \
|
%D%/packages/patches/valgrind-enable-arm.patch \
|
||||||
%D%/packages/patches/valgrind-glibc-compat.patch \
|
%D%/packages/patches/valgrind-glibc-compat.patch \
|
||||||
|
%D%/packages/patches/vboot-utils-fix-format-load-address.patch \
|
||||||
|
%D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \
|
||||||
|
%D%/packages/patches/vboot-utils-skip-test-workbuf.patch \
|
||||||
%D%/packages/patches/vinagre-newer-freerdp.patch \
|
%D%/packages/patches/vinagre-newer-freerdp.patch \
|
||||||
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
|
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
|
||||||
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
|
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
|
||||||
|
|
|
@ -673,10 +673,25 @@ board-independent tools.")))
|
||||||
(file-name (string-append name "-" version "-checkout"))
|
(file-name (string-append name "-" version "-checkout"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0h0m3l69vp9dr6xrs1p6y7ilkq3jq8jraw2z20kqfv7lvc9l1lxj"))))
|
"0h0m3l69vp9dr6xrs1p6y7ilkq3jq8jraw2z20kqfv7lvc9l1lxj"))
|
||||||
|
(patches
|
||||||
|
(search-patches "vboot-utils-skip-test-workbuf.patch"
|
||||||
|
"vboot-utils-fix-tests-show-contents.patch"
|
||||||
|
"vboot-utils-fix-format-load-address.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:make-flags (list "CC=gcc"
|
`(#:make-flags (list "CC=gcc"
|
||||||
|
;; On ARM, we must pass "HOST_ARCH=arm" so that the
|
||||||
|
;; ${HOST_ARCH} and ${ARCH} variables in the makefile
|
||||||
|
;; match. Otherwise, ${HOST_ARCH} will be assigned
|
||||||
|
;; "armv7l", the value of `uname -m`, and will not
|
||||||
|
;; match ${ARCH}, which will make the tests require
|
||||||
|
;; QEMU for testing.
|
||||||
|
,@(if (string-prefix? "arm"
|
||||||
|
(or (%current-target-system)
|
||||||
|
(%current-system)))
|
||||||
|
'("HOST_ARCH=arm")
|
||||||
|
'())
|
||||||
(string-append "DESTDIR=" (assoc-ref %outputs "out")))
|
(string-append "DESTDIR=" (assoc-ref %outputs "out")))
|
||||||
#:phases (modify-phases %standard-phases
|
#:phases (modify-phases %standard-phases
|
||||||
(add-after 'unpack 'patch-hard-coded-paths
|
(add-after 'unpack 'patch-hard-coded-paths
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
This patch was copied from Debian.
|
||||||
|
|
||||||
|
Description: Fix format load_address for 32 bits architectures
|
||||||
|
The offset and load_address are 64bits integers
|
||||||
|
On 32bits we have to use strtoull (instead of strtoul) to parse number
|
||||||
|
into 64bits unsigned integers. Without this the parsed numbers are
|
||||||
|
truncated to 2^32-1.
|
||||||
|
Author: Sophie Brun <sophie@freexian.com>
|
||||||
|
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881997
|
||||||
|
Forwarded: https://bugs.chromium.org/p/chromium/issues/detail?id=786969
|
||||||
|
Last-Update: 2017-11-20
|
||||||
|
---
|
||||||
|
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||||
|
--- a/futility/cmd_bdb.c
|
||||||
|
+++ b/futility/cmd_bdb.c
|
||||||
|
@@ -637,7 +637,7 @@ static int do_bdb(int argc, char *argv[]
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case OPT_OFFSET:
|
||||||
|
- offset = strtoul(optarg, &e, 0);
|
||||||
|
+ offset = strtoull(optarg, &e, 0);
|
||||||
|
if (!*optarg || (e && *e)) {
|
||||||
|
fprintf(stderr, "Invalid --offset\n");
|
||||||
|
parse_error = 1;
|
||||||
|
@@ -658,7 +658,7 @@ static int do_bdb(int argc, char *argv[]
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case OPT_LOAD_ADDRESS:
|
||||||
|
- load_address = strtoul(optarg, &e, 0);
|
||||||
|
+ load_address = strtoull(optarg, &e, 0);
|
||||||
|
if (!*optarg || (e && *e)) {
|
||||||
|
fprintf(stderr, "Invalid --load_address\n");
|
||||||
|
parse_error = 1;
|
|
@ -0,0 +1,142 @@
|
||||||
|
This patch was copied from Debian.
|
||||||
|
|
||||||
|
Description: Fix tests/futility/test_show_contents.sh
|
||||||
|
Tests compare generated files containing the file path and upstream files
|
||||||
|
("expected output") containing path like
|
||||||
|
"/mnt/host/source/src/platform/vboot_reference/tests/". They can't
|
||||||
|
match. Drop these lines mentioning paths in the generated files and in
|
||||||
|
the upstream provided files to avoid failures.
|
||||||
|
Author: Sophie Brun <sophie@freexian.com>
|
||||||
|
Last-Update: 2017-11-14
|
||||||
|
---
|
||||||
|
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||||
|
--- a/tests/futility/expect_output/show.tests_devkeys_kernel.keyblock
|
||||||
|
+++ b/tests/futility/expect_output/show.tests_devkeys_kernel.keyblock
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-Key block: /mnt/host/source/src/platform/vboot_reference/tests/devkeys/kernel.keyblock
|
||||||
|
Signature: ignored
|
||||||
|
Size: 0x4b8
|
||||||
|
Flags: 7 !DEV DEV !REC
|
||||||
|
--- a/tests/futility/expect_output/show.tests_devkeys_root_key.vbprivk
|
||||||
|
+++ b/tests/futility/expect_output/show.tests_devkeys_root_key.vbprivk
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-Private Key file: /mnt/host/source/src/platform/vboot_reference/tests/devkeys/root_key.vbprivk
|
||||||
|
Vboot API: 1.0
|
||||||
|
Algorithm: 11 RSA8192 SHA512
|
||||||
|
Key sha1sum: b11d74edd286c144e1135b49e7f0bc20cf041f10
|
||||||
|
--- a/tests/futility/expect_output/show.tests_devkeys_root_key.vbpubk
|
||||||
|
+++ b/tests/futility/expect_output/show.tests_devkeys_root_key.vbpubk
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-Public Key file: /mnt/host/source/src/platform/vboot_reference/tests/devkeys/root_key.vbpubk
|
||||||
|
Vboot API: 1.0
|
||||||
|
Algorithm: 11 RSA8192 SHA512
|
||||||
|
Key Version: 1
|
||||||
|
--- a/tests/futility/expect_output/show.tests_futility_data_bios_mario_mp.bin
|
||||||
|
+++ b/tests/futility/expect_output/show.tests_futility_data_bios_mario_mp.bin
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-BIOS: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/bios_mario_mp.bin
|
||||||
|
GBB header: GBB Area
|
||||||
|
Version: 1.0
|
||||||
|
Flags: 0x00000000
|
||||||
|
--- a/tests/futility/expect_output/show.tests_futility_data_bios_zgb_mp.bin
|
||||||
|
+++ b/tests/futility/expect_output/show.tests_futility_data_bios_zgb_mp.bin
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-BIOS: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/bios_zgb_mp.bin
|
||||||
|
GBB header: GBB
|
||||||
|
Version: 1.0
|
||||||
|
Flags: 0x00000000
|
||||||
|
--- a/tests/futility/expect_output/show.tests_futility_data_fw_gbb.bin
|
||||||
|
+++ b/tests/futility/expect_output/show.tests_futility_data_fw_gbb.bin
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-GBB header: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/fw_gbb.bin
|
||||||
|
Version: 1.1
|
||||||
|
Flags: 0x00000039
|
||||||
|
Regions: offset size
|
||||||
|
--- a/tests/futility/expect_output/show.tests_futility_data_fw_vblock.bin
|
||||||
|
+++ b/tests/futility/expect_output/show.tests_futility_data_fw_vblock.bin
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-Key block: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/fw_vblock.bin
|
||||||
|
Signature: ignored
|
||||||
|
Size: 0x8b8
|
||||||
|
Flags: 7 !DEV DEV !REC
|
||||||
|
--- a/tests/futility/expect_output/show.tests_futility_data_kern_preamble.bin
|
||||||
|
+++ b/tests/futility/expect_output/show.tests_futility_data_kern_preamble.bin
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-Kernel partition: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/kern_preamble.bin
|
||||||
|
Key block:
|
||||||
|
Signature: ignored
|
||||||
|
Size: 0x5b8
|
||||||
|
--- a/tests/futility/expect_output/show.tests_futility_data_sample.vbprik2
|
||||||
|
+++ b/tests/futility/expect_output/show.tests_futility_data_sample.vbprik2
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-Private key file: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/sample.vbprik2
|
||||||
|
Vboot API: 2.1
|
||||||
|
Desc: "sample vb21 keypair"
|
||||||
|
Signature Algorithm: 5 RSA8192
|
||||||
|
--- a/tests/futility/expect_output/show.tests_futility_data_sample.vbpubk2
|
||||||
|
+++ b/tests/futility/expect_output/show.tests_futility_data_sample.vbpubk2
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-Public Key file: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/sample.vbpubk2
|
||||||
|
Vboot API: 2.1
|
||||||
|
Desc: "sample vb21 keypair"
|
||||||
|
Signature Algorithm: 5 RSA8192
|
||||||
|
--- a/tests/futility/expect_output/show.tests_testkeys_key_rsa2048.pem
|
||||||
|
+++ b/tests/futility/expect_output/show.tests_testkeys_key_rsa2048.pem
|
||||||
|
@@ -1,3 +1,2 @@
|
||||||
|
-Private Key file: /mnt/host/source/src/platform/vboot_reference/tests/testkeys/key_rsa2048.pem
|
||||||
|
Key length: 2048
|
||||||
|
Key sha1sum: bfb2fa9188a87bf766dd7c313ea6802553b646b6
|
||||||
|
--- a/tests/futility/expect_output/show.tests_testkeys_key_rsa8192.pub.pem
|
||||||
|
+++ b/tests/futility/expect_output/show.tests_testkeys_key_rsa8192.pub.pem
|
||||||
|
@@ -1,3 +1,2 @@
|
||||||
|
-Public Key file: /mnt/host/source/src/platform/vboot_reference/tests/testkeys/key_rsa8192.pub.pem
|
||||||
|
Key length: 8192
|
||||||
|
Key sha1sum: f1afa44a1aed0d0e9ff630579df920a725e9de5e
|
||||||
|
--- a/tests/futility/test_show_contents.sh
|
||||||
|
+++ b/tests/futility/test_show_contents.sh
|
||||||
|
@@ -29,7 +29,7 @@ for file in $SHOW_FILES; do
|
||||||
|
outfile="show.${file//\//_}"
|
||||||
|
gotfile="${OUTDIR}/${outfile}"
|
||||||
|
wantfile="${SRCDIR}/tests/futility/expect_output/${outfile}"
|
||||||
|
- ${FUTILITY} show "${SRCDIR}/${file}" | tee "${gotfile}"
|
||||||
|
+ ${FUTILITY} show "${SRCDIR}/${file}" | grep -v "tests/" | tee "${gotfile}"
|
||||||
|
|
||||||
|
# Uncomment this to update the expected output
|
||||||
|
#cp ${gotfile} ${wantfile}
|
||||||
|
@@ -48,7 +48,7 @@ for file in $VBUTIL_KEY_FILES; do
|
||||||
|
outfile="vbutil_key.${file//\//_}"
|
||||||
|
gotfile="${OUTDIR}/${outfile}"
|
||||||
|
wantfile="${SRCDIR}/tests/futility/expect_output/${outfile}"
|
||||||
|
- ${FUTILITY} vbutil_key --unpack "${SRCDIR}/${file}" | tee "${gotfile}"
|
||||||
|
+ ${FUTILITY} vbutil_key --unpack "${SRCDIR}/${file}" | grep -v "tests/" | tee "${gotfile}"
|
||||||
|
|
||||||
|
# Uncomment this to update the expected output
|
||||||
|
#cp ${gotfile} ${wantfile}
|
||||||
|
@@ -64,7 +64,7 @@ gotfile="${OUTDIR}/${outfile}"
|
||||||
|
wantfile="${SRCDIR}/tests/futility/expect_output/${outfile}"
|
||||||
|
${FUTILITY} vbutil_keyblock --unpack "${SRCDIR}/${file}" \
|
||||||
|
--signpubkey "${SRCDIR}/tests/devkeys/kernel_subkey.vbpubk" \
|
||||||
|
- | tee "${gotfile}"
|
||||||
|
+ | grep -v "tests/" | tee "${gotfile}"
|
||||||
|
|
||||||
|
# Uncomment this to update the expected output
|
||||||
|
#cp ${gotfile} ${wantfile}
|
||||||
|
--- a/tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbprivk
|
||||||
|
+++ b/tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbprivk
|
||||||
|
@@ -1,2 +1 @@
|
||||||
|
-Private Key file: /mnt/host/source/src/platform/vboot_reference/tests/devkeys/root_key.vbprivk
|
||||||
|
Algorithm: 11 RSA8192 SHA512
|
||||||
|
--- a/tests/futility/expect_output/vbutil_keyblock.tests_devkeys_kernel.keyblock
|
||||||
|
+++ b/tests/futility/expect_output/vbutil_keyblock.tests_devkeys_kernel.keyblock
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-Key block file: /mnt/host/source/src/platform/vboot_reference/tests/devkeys/kernel.keyblock
|
||||||
|
Signature valid
|
||||||
|
Flags: 7 !DEV DEV !REC
|
||||||
|
Data key algorithm: 4 RSA2048 SHA256
|
||||||
|
--- a/tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbpubk
|
||||||
|
+++ b/tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbpubk
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-Public Key file: /mnt/host/source/src/platform/vboot_reference/tests/devkeys/root_key.vbpubk
|
||||||
|
Algorithm: 11 RSA8192 SHA512
|
||||||
|
Key Version: 1
|
||||||
|
Key sha1sum: b11d74edd286c144e1135b49e7f0bc20cf041f10
|
|
@ -0,0 +1,21 @@
|
||||||
|
This patch was copied from Debian.
|
||||||
|
|
||||||
|
Description: skip the workbuf test if VB2_WORKBUF_ALIGN different from 16
|
||||||
|
Author: Sophie Brun <sophie@freexian.com>
|
||||||
|
Last-Update: 2015-12-03
|
||||||
|
---
|
||||||
|
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||||
|
--- a/tests/vb2_common_tests.c
|
||||||
|
+++ b/tests/vb2_common_tests.c
|
||||||
|
@@ -70,6 +70,11 @@ static void test_workbuf(void)
|
||||||
|
/* NOTE: There are several magic numbers below which assume that
|
||||||
|
* VB2_WORKBUF_ALIGN == 16 */
|
||||||
|
|
||||||
|
+ /* Skip the tests if VB2_WORKBUF_ALIGN != 16 */
|
||||||
|
+ if (VB2_WORKBUF_ALIGN != 16) {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* Init */
|
||||||
|
vb2_workbuf_init(&wb, p0, 64);
|
||||||
|
TEST_EQ(vb2_offset_of(p0, wb.buf), 0, "Workbuf init aligned");
|
Loading…
Reference in New Issue