Skip to contentSkip to conversation

acl: fix race issue when do_compile

PATCH New Robert Yang 1 participant 2 messages Apr 18, 2017

lore
Share & tools
lore
#0 lore raw

cover acl: fix race issue when do_compile

The following changes since commit ba2884f6ad3a4e746fc80cbd707f83fa8abd4210:

oe-run-native: print more error messages (2017-04-14 10:26:10 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib rbt/acl
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/acl

Robert Yang (1):
acl: fix race issue when do_compile

 .../Makefile-libacl-should-depend-on-include.patch | 51 ++++++++++++++++++++++
 meta/recipes-support/attr/acl_2.2.52.bb            |  4 +-
 2 files changed, 54 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch
Signature · 1 line
2.10.2
#1 lore raw

PATCH 1/1 acl: fix race issue when do_compile

Fixed race issue:
In file included from acl_copy_entry.c:22:0:
libacl.h:19:21: fatal error: sys/acl.h: No such file or directory
#include <sys/acl.h>

[snip]

compilation terminated.
acl_get_file.c:27:24: fatal error: acl/libacl.h: No such file or directory

  #include <acl/libacl.h>
                         ^

The acl.h is in "include" directory, and include/Makefile creates symlink "sys" and "acl" poinst to current dirctory:

$ ls include/ -l
acl -> .
sys -> .

So if "libacl" target runs before "include", the error would happen since no "acl" or "sys" directory.

Let libacl depend on include can fix the problem.

[YOCTO #11349]

---
 .../Makefile-libacl-should-depend-on-include.patch | 51 ++++++++++++++++++++++
 meta/recipes-support/attr/acl_2.2.52.bb            |  4 +-
 2 files changed, 54 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch
meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch new file +51 -0
new file mode 100644
index 0000000..4c7cba3
@@ -0,0 +1,51 @@
+From d82457ce5ca7455e336da5e244d95f90e52aaef8 Mon Sep 17 00:00:00 2001
+From: Robert Yang <[email protected]>
+Date: Tue, 18 Apr 2017 01:17:26 -0700
+Subject: [PATCH] Makefile: libacl should depend on include
+
+Fixed race issue:
+ In file included from acl_copy_entry.c:22:0:
+ libacl.h:19:21: fatal error: sys/acl.h: No such file or directory
+  #include <sys/acl.h>
+
+[snip]
+
+ compilation terminated.
+ acl_get_file.c:27:24: fatal error: acl/libacl.h: No such file or directory
+  #include <acl/libacl.h>
+                         ^
+
+The acl.h is in "include" directory, and include/Makefile creates
+symlink "sys" and "acl" poinst to current dirctory:
+$ ls include/ -l
+acl -> .
+sys -> .
+
+So if "libacl" target runs before "include", the error would happen
+since no "acl" or "sys" directory.
+
+Let libacl depend on include can fix the problem.
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <[email protected]>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index dce32d3..8a79379 100644
+--- a/Makefile
++++ b/Makefile
+@@ -48,7 +48,7 @@ else
+ endif
+ 
+ # tool/lib dependencies
+-libacl: libmisc
++libacl: include libmisc
+ getfacl setfacl chacl: libacl
+ 
+ ifeq ($(HAVE_BUILDDEFS), yes)
+-- 
+2.10.2
+
meta/recipes-support/attr/acl_2.2.52.bb +3 -1
index 9ab5853..306c7b5 100644
@@ -16,7 +16,9 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.src.tar.gz \
            file://acl-fix-the-order-of-expected-output-of-getfacl.patch \
            file://test-fix-insufficient-quoting-of.patch \
            file://test-fixups-on-SELinux-machines-for-root-testcases.patch \
-           file://test-fix-directory-permissions.patch"
+           file://test-fix-directory-permissions.patch \
+           file://Makefile-libacl-should-depend-on-include.patch \
+"
 
 SRC_URI[md5sum] = "a61415312426e9c2212bd7dc7929abda"
 SRC_URI[sha256sum] = "179074bb0580c06c4b4137be4c5a92a701583277967acdb5546043c7874e0d23"
Signature · 1 line
2.10.2