Patchwork gdbm: use full qualified permissions for chmod operations

login
register
mail settings
Submitter Enrico Scholz
Date Jan. 13, 2011, 2:32 p.m.
Message ID <1294929135-25911-1-git-send-email-enrico.scholz@sigma-chemnitz.de>
Download mbox | patch
Permalink /patch/271/
State Accepted
Headers show

Comments

Enrico Scholz - Jan. 13, 2011, 2:32 p.m.
From: Enrico Scholz <enrico.scholz@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@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
Khem Raj - Jan. 14, 2011, 3:26 a.m.
On 1/13/2011 6:32 AM, Enrico Scholz wrote:
> From: Enrico Scholz<enrico.scholz@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@sigma-chemnitz.de>

Acked-by: Khem Raj <raj.khem@gmail.com>
> ---
>   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
>

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