summaryrefslogtreecommitdiffstats
path: root/recipes-support/sbsigntool
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-support/sbsigntool')
-rw-r--r--recipes-support/sbsigntool/sbsigntool-native_git.bb24
-rw-r--r--recipes-support/sbsigntool/sbsigntool/0001-configure-Fixup-build-dependencies-for-cross-compili.patch54
2 files changed, 69 insertions, 9 deletions
diff --git a/recipes-support/sbsigntool/sbsigntool-native_git.bb b/recipes-support/sbsigntool/sbsigntool-native_git.bb
index 430a6a78..5a9f5b4d 100644
--- a/recipes-support/sbsigntool/sbsigntool-native_git.bb
+++ b/recipes-support/sbsigntool/sbsigntool-native_git.bb
@@ -1,5 +1,5 @@
1DESCRIPTION = "Utility for signing and verifying files for UEFI Secure Boot" 1DESCRIPTION = "Utility for signing and verifying files for UEFI Secure Boot"
2LICENSE = "GPLv3 & LGPL-2.1 & LGPL-3.0 & MIT" 2LICENSE = "GPL-3.0-only & LGPL-2.1-only & LGPL-3.0-only & MIT"
3 3
4# sbsigntool statically links to libccan.a which is built with modules 4# sbsigntool statically links to libccan.a which is built with modules
5# passed to "create-ccan-tree" (and their dependencies). Therefore, 5# passed to "create-ccan-tree" (and their dependencies). Therefore,
@@ -19,25 +19,29 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPLv3;md5=9eef91148a9b14ec7f9df333daebc746 \
19 19
20# The original upstream is git://kernel.ubuntu.com/jk/sbsigntool but it has 20# The original upstream is git://kernel.ubuntu.com/jk/sbsigntool but it has
21# not been maintained and many patches have been backported in this repo. 21# not been maintained and many patches have been backported in this repo.
22SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git;protocol=https;name=sbsigntools \ 22SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git;protocol=https;name=sbsigntools;branch=master \
23 git://github.com/rustyrussell/ccan.git;protocol=https;destsuffix=git/lib/ccan.git;name=ccan \ 23 git://github.com/rustyrussell/ccan.git;protocol=https;destsuffix=git/lib/ccan.git;name=ccan;branch=master \
24 " 24 file://0001-configure-Fixup-build-dependencies-for-cross-compili.patch \
25 "
25 26
26SRCREV_sbsigntools ?= "efbb550858e7bd3f43e64228d22aea440ef6a14d" 27SRCREV_sbsigntools ?= "9cfca9fe7aa7a8e29b92fe33ce8433e212c9a8ba"
27SRCREV_ccan ?= "b1f28e17227f2320d07fe052a8a48942fe17caa5" 28SRCREV_ccan ?= "b1f28e17227f2320d07fe052a8a48942fe17caa5"
28SRCREV_FORMAT = "sbsigntools_ccan" 29SRCREV_FORMAT = "sbsigntools_ccan"
29 30
30DEPENDS = "binutils-native gnu-efi-native help2man-native openssl10-native util-linux-native" 31DEPENDS = "binutils-native gnu-efi-native help2man-native openssl-native util-linux-native"
31 32
32PV = "0.8-git${SRCPV}" 33PV = "0.9.5"
33 34
34S = "${WORKDIR}/git" 35S = "${WORKDIR}/git"
35 36
36inherit native autotools pkgconfig 37inherit autotools pkgconfig
38inherit native
37 39
38do_configure_prepend() { 40do_configure:prepend() {
39 cd ${S} 41 cd ${S}
40 42
43 sed -i s#RECIPE_SYSROOT#${RECIPE_SYSROOT_NATIVE}#g configure.ac
44
41 if [ ! -e lib/ccan ]; then 45 if [ ! -e lib/ccan ]; then
42 46
43 # Use empty SCOREDIR because 'make scores' is not run. 47 # Use empty SCOREDIR because 'make scores' is not run.
@@ -75,3 +79,5 @@ EXTRA_OEMAKE = "\
75 -I${STAGING_INCDIR_NATIVE} \ 79 -I${STAGING_INCDIR_NATIVE} \
76 -I${STAGING_INCDIR_NATIVE}/efi/${@efi_arch(d)}' \ 80 -I${STAGING_INCDIR_NATIVE}/efi/${@efi_arch(d)}' \
77 " 81 "
82
83CFLAGS:append = " -Wno-error"
diff --git a/recipes-support/sbsigntool/sbsigntool/0001-configure-Fixup-build-dependencies-for-cross-compili.patch b/recipes-support/sbsigntool/sbsigntool/0001-configure-Fixup-build-dependencies-for-cross-compili.patch
new file mode 100644
index 00000000..ea7bee29
--- /dev/null
+++ b/recipes-support/sbsigntool/sbsigntool/0001-configure-Fixup-build-dependencies-for-cross-compili.patch
@@ -0,0 +1,54 @@
1From c3533b8da1e1425801d2fc0bcd231e13d593f16b Mon Sep 17 00:00:00 2001
2From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
3Date: Tue, 19 Feb 2019 20:07:45 +0800
4Subject: [PATCH] configure: Fixup build dependencies for cross-compiling
5
6When cross-compiling, custom header files and libraries need to be
7specified. sbsign assumes that all the dependencies are located
8under /usr/include and /usr/lib.
9
10Prepend these paths with a placeholder that can be replaced with the
11actual paths once they are resolved.
12
13Upstream-Status: Inappropriate [OE specific]
14
15Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
16
17Taken from :
18https://github.com/intel/luv-yocto/tree/master/meta-luv/recipes-devtools/sbsigntool/sbsigntool
19
20Corrected typo error and ported to version 0.9.2
21
22Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
23---
24 configure.ac | 7 +++++--
25 1 file changed, 5 insertions(+), 2 deletions(-)
26
27diff --git a/configure.ac b/configure.ac
28index 1459e91..3e34c8d 100644
29--- a/configure.ac
30+++ b/configure.ac
31@@ -70,7 +70,10 @@ AM_CONDITIONAL(TEST_BINARY_FORMAT, [ test "$EFI_ARCH" = "arm" -o "$EFI_ARCH" = "
32 ##
33 # no consistent view of where gnu-efi should dump the efi stuff, so find it
34 ##
35-for path in /lib /lib64 /usr/lib /usr/lib64 /usr/lib32 /lib/efi /lib64/efi /usr/lib/efi /usr/lib64/efi /usr/lib/gnuefi /usr/lib64/gnuefi ; do
36+for path in RECIPE_SYSROOT/lib RECIPE_SYSROOT/lib64 RECIPE_SYSROOT/usr/lib \
37+ RECIPE_SYSROOT/usr/lib64 RECIPE_SYSROOT/usr/lib32 \
38+ RECIPE_SYSROOT/lib/efi RECIPE_SYSROOT/lib64/efi \
39+ RECIPE_SYSROOT/usr/lib/efi RECIPE_SYSROOT/usr/lib64/efi; do
40 if test -e $path/crt0-efi-$EFI_ARCH.o; then
41 CRTPATH=$path
42 fi
43@@ -79,7 +82,7 @@ if test -z "$CRTPATH"; then
44 AC_MSG_ERROR([cannot find the gnu-efi crt path])
45 fi
46
47-EFI_CPPFLAGS="-I/usr/include/efi -I/usr/include/efi/$EFI_ARCH \
48+EFI_CPPFLAGS="-IRECIPE_SYSROOT/usr/include/efi -IRECIPE_SYSROOT/usr/include/efi/$EFI_ARCH \
49 -DEFI_FUNCTION_WRAPPER"
50 CPPFLAGS_save="$CPPFLAGS"
51 CPPFLAGS="$CPPFLAGS $EFI_CPPFLAGS"
52--
532.7.4
54