Patchwork sudo: Compile mksigname and mksiglist for build host

login
register
mail settings
Submitter Khem Raj
Date March 10, 2013, 10:05 p.m.
Message ID <1362953118-14668-1-git-send-email-raj.khem@gmail.com>
Download mbox | patch
Permalink /patch/45851/
State Accepted
Commit 2ce5b1364ef6eb276352f7170d23dc3492c779f6
Headers show

Comments

Khem Raj - March 10, 2013, 10:05 p.m.
cross compiling sudo doesnt work well since it uses
mksigname and mksiglist to generate C sources which
are then used in sudo build itself. With this patch
now we make sure those hosttools are compiled for
build machine. It fixes the build failures like

./mksigname > signame.c
/bin/sh: ./mksigname: cannot execute binary file
make[1]: *** [signame.c] Error 126

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-extended/sudo/sudo.inc |    5 +++++
 1 file changed, 5 insertions(+)

Patch

diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc
index babea37..b8796e4 100644
--- a/meta/recipes-extended/sudo/sudo.inc
+++ b/meta/recipes-extended/sudo/sudo.inc
@@ -21,6 +21,11 @@  do_configure_prepend () {
 	fi
 }
 
+# mksigname/mksiglist are used on build host to generate source files
+do_compile_prepend () {
+	oe_runmake CC=$BUILD_CC CPPFLAGS="$BUILD_CPPFLAGS -I../include -I../"  -C compat mksigname mksiglist
+}
+
 # Explicitly create ${localstatedir}/lib before do_install to ensure
 # the directory is accessible by all users. Otherwise the mkinstalldirs
 # script (from sudo) will recursively create ${localstatedir}/lib/sudo