From edcb57fe308979cc5b92359d064e32bb70d4ad76 Mon Sep 17 00:00:00 2001 From: Matthew McClintock Date: Fri, 24 Aug 2012 13:16:37 -0500 Subject: kmod-native_git.bb: fix builds for hosts with older libc kmod will fail to build with the following error because O_CLOEXEC is not defined: | libkmod/libkmod-module.c: In function 'kmod_module_get_initstate': | libkmod/libkmod-module.c:1640: error: 'O_CLOEXEC' undeclared (first use in this function) | libkmod/libkmod-module.c:1640: error: (Each undeclared identifier is reported only once | libkmod/libkmod-module.c:1640: error: for each function it appears in.) | libkmod/libkmod-module.c: In function 'kmod_module_get_refcnt': | libkmod/libkmod-module.c:1754: error: 'O_CLOEXEC' undeclared (first use in this function) | libkmod/libkmod-module.c: In function 'kmod_module_get_sections': | libkmod/libkmod-module.c:1913: error: 'O_CLOEXEC' undeclared (first use in this function) | libkmod/libkmod-file.c: In function 'kmod_file_open': | libkmod/libkmod-file.c:282: error: 'O_CLOEXEC' undeclared (first use in this function) | libkmod/libkmod-file.c:282: error: (Each undeclared identifier is reported only once | libkmod/libkmod-file.c:282: error: for each function it appears in.) Since we are only using kmod-native for depmod, and it's a non-threaded user of this libary being built this should be safe to override O_CLOEXEC. Keep in mind this is ONLY effecting the native builds and not what is being shipped in the root file system. Signed-off-by: Matthew McClintock --- meta/recipes-kernel/kmod/kmod-native_git.bb | 3 ++- .../kmod/kmod/fix-undefined-O_CLOEXEC.patch | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-kernel/kmod/kmod/fix-undefined-O_CLOEXEC.patch (limited to 'meta/recipes-kernel/kmod') diff --git a/meta/recipes-kernel/kmod/kmod-native_git.bb b/meta/recipes-kernel/kmod/kmod-native_git.bb index 96de8b8ef4..8cbcdf8ad7 100644 --- a/meta/recipes-kernel/kmod/kmod-native_git.bb +++ b/meta/recipes-kernel/kmod/kmod-native_git.bb @@ -4,7 +4,8 @@ require kmod.inc inherit native -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" +SRC_URI += "file://fix-undefined-O_CLOEXEC.patch" do_install_append (){ for tool in depmod insmod lsmod modinfo modprobe rmmod diff --git a/meta/recipes-kernel/kmod/kmod/fix-undefined-O_CLOEXEC.patch b/meta/recipes-kernel/kmod/kmod/fix-undefined-O_CLOEXEC.patch new file mode 100644 index 0000000000..3177e9a1a9 --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod/fix-undefined-O_CLOEXEC.patch @@ -0,0 +1,17 @@ +Upstream-Status: Not applicable + +Index: git/libkmod/libkmod-private.h +=================================================================== +--- git.orig/libkmod/libkmod-private.h ++++ git/libkmod/libkmod-private.h +@@ -1,6 +1,10 @@ + #ifndef _LIBKMOD_PRIVATE_H_ + #define _LIBKMOD_PRIVATE_H_ + ++#ifndef O_CLOEXEC ++# define O_CLOEXEC 0 ++#endif ++ + #include + #include + #include -- cgit 1.2.3-korg