[oe] [PATCH] gdbm: use full qualified permissions for chmod operations

Enrico Scholz enrico.scholz at sigma-chemnitz.de
Thu Jan 13 14:32:15 UTC 2011


From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>

An umask of 022 can cause 'chmod' to fail in a way like

| $ chmod -w X
| chmod: X: new permissions are r--rw-r--, not r--r--r--

It is better to specify 'a-w' because chmod is not affected by the
umask then and changes all permission bits.

Signed-off-by: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
---
 recipes/gdbm/gdbm-1.8.3/chmod.patch |   23 +++++++++++++++++++++++
 recipes/gdbm/gdbm_1.8.3.bb          |    3 ++-
 2 files changed, 25 insertions(+), 1 deletions(-)
 create mode 100644 recipes/gdbm/gdbm-1.8.3/chmod.patch

diff --git a/recipes/gdbm/gdbm-1.8.3/chmod.patch b/recipes/gdbm/gdbm-1.8.3/chmod.patch
new file mode 100644
index 0000000..11c65d9
--- /dev/null
+++ b/recipes/gdbm/gdbm-1.8.3/chmod.patch
@@ -0,0 +1,23 @@
+With an umask of 022 the build might fail with
+
+| chmod -w gdbm.h
+| chmod: gdbm.h: new permissions are r--rw----, not r--r-----
+| make: *** [gdbm.h] Error 1
+
+Index: gdbm-1.8.3/Makefile.in
+===================================================================
+--- gdbm-1.8.3.orig/Makefile.in
++++ gdbm-1.8.3/Makefile.in
+@@ -167,10 +167,10 @@ libgdbm_compat.la: $(C_LOBJS) gdbm.h
+ gdbm.h:	gdbm.proto gdbmerrno.h gdbm.proto2
+ 	rm -f gdbm.h
+ 	cp $(srcdir)/gdbm.proto gdbm.h
+-	chmod +w gdbm.h
++	chmod u+w gdbm.h
+ 	grep _ $(srcdir)/gdbmerrno.h >> gdbm.h
+ 	cat $(srcdir)/gdbm.proto2 >> gdbm.h
+-	chmod -w gdbm.h
++	chmod a-w gdbm.h
+ 
+ testgdbm: testgdbm.o libgdbm.la @LIBOBJS@
+ 	$(LIBTOOL) $(CC) $(LDFLAGS) -o testgdbm testgdbm.o libgdbm.la @LIBOBJS@
diff --git a/recipes/gdbm/gdbm_1.8.3.bb b/recipes/gdbm/gdbm_1.8.3.bb
index 9c91ae9..24c541a 100644
--- a/recipes/gdbm/gdbm_1.8.3.bb
+++ b/recipes/gdbm/gdbm_1.8.3.bb
@@ -8,7 +8,8 @@ PR = "r5"
 
 SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \
 	   file://makefile.patch \
-           file://libtool-mode.patch"
+           file://libtool-mode.patch \
+           file://chmod.patch"
 
 inherit autotools
 
-- 
1.7.3.4





More information about the Openembedded-devel mailing list