Patchwork [PATCH/mtd-utils] Separate '-m' and the mode with a space when invoking 'install'

login
register
mail settings
Submitter Enrico Scholz
Date Nov. 26, 2008, 1:27 p.m.
Message ID <1227706065-3067-1-git-send-email-enrico.scholz@sigma-chemnitz.de>
Download mbox | patch
Permalink /patch/10915/
State Accepted
Commit 5778b361e81ebdd9b4cbe66d82dd04955dc10bc4
Headers show

Comments

Enrico Scholz - Nov. 26, 2008, 1:27 p.m.
Some 'install' versions (e.g. this of OpenEmbedded) require the mode
to be a separate argument and don't understand the '-m0755' syntax:

  .../staging/x86_64-linux/usr/bin/install-sh: ./-m0755 does not exist.

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
---
 Makefile                     |    2 +-
 mkfs.ubifs/Makefile          |    2 +-
 ubi-utils/Makefile           |    2 +-
 ubi-utils/new-utils/Makefile |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
Mike Frysinger - Nov. 27, 2008, 1:44 a.m.
On Wed, Nov 26, 2008 at 08:27, Enrico Scholz wrote:
> Some 'install' versions (e.g. this of OpenEmbedded) require the mode
> to be a separate argument and don't understand the '-m0755' syntax:

then why dont you fix the `install` that comes with OE rather than
spuriously patching random build systems out there ?
-mike
Enrico Scholz - Nov. 27, 2008, 9:55 a.m.
"Mike Frysinger" <vapier.adi@gmail.com> writes:

>> Some 'install' versions (e.g. this of OpenEmbedded) require
>> the mode to be a separate argument and don't understand the
>> '-m0755' syntax:
>
> then why dont you fix the `install` that comes with OE

Why do you think that this 'install' needs to be fixed?  Although
'install' is not SUSv3, this standard states:

 12.2 Utility Syntax Guidelines
    ...
    Each option and option-argument should be a separate argument,
    except as noted in Utility Argument Syntax , item (2).

When the patch would be more complicated I would agree to assume
the GNU implementation of 'install' but as it is really trivial
to add a single space, the common compatibility rules should be
followed.


> rather than spuriously patching random build systems out there
> ?

At least 'autoconf' and 'imake' handle it correctly:

| INSTALL_DATA = ${INSTALL} -m 644
| #define InstBinFlags -m 0755



Enrico
Artem Bityutskiy - Dec. 2, 2008, 8:13 a.m.
On Wed, 2008-11-26 at 14:27 +0100, Enrico Scholz wrote:
> Some 'install' versions (e.g. this of OpenEmbedded) require the mode
> to be a separate argument and don't understand the '-m0755' syntax:
> 
>   .../staging/x86_64-linux/usr/bin/install-sh: ./-m0755 does not exist.
> 
> Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
> ---
>  Makefile                     |    2 +-
>  mkfs.ubifs/Makefile          |    2 +-
>  ubi-utils/Makefile           |    2 +-
>  ubi-utils/new-utils/Makefile |    2 +-
>  4 files changed, 4 insertions(+), 4 deletions(-)

I've pushed this patch to mtd-utils.git.
Artem Bityutskiy - Dec. 2, 2008, 8:39 a.m.
On Wed, 2008-11-26 at 20:44 -0500, Mike Frysinger wrote:
> On Wed, Nov 26, 2008 at 08:27, Enrico Scholz wrote:
> > Some 'install' versions (e.g. this of OpenEmbedded) require the mode
> > to be a separate argument and don't understand the '-m0755' syntax:
> 
> then why dont you fix the `install` that comes with OE rather than
> spuriously patching random build systems out there ?

May be this point is sensible, but taking into account Enrico's answer
it does not hurt to amend mtd-utils, so I applied his patch.

Patch

diff --git a/Makefile b/Makefile
index 796c31b..8319599 100644
--- a/Makefile
+++ b/Makefile
@@ -96,7 +96,7 @@  $(BUILDDIR)/fectest: $(BUILDDIR)/fectest.o $(BUILDDIR)/crc32.o $(BUILDDIR)/fec.o
 
 install: ${TARGETS}
 	mkdir -p ${DESTDIR}/${SBINDIR}
-	install -m0755 ${TARGETS} ${DESTDIR}/${SBINDIR}/
+	install -m 0755 ${TARGETS} ${DESTDIR}/${SBINDIR}/
 	mkdir -p ${DESTDIR}/${MANDIR}/man1
 	gzip -9c mkfs.jffs2.1 > ${DESTDIR}/${MANDIR}/man1/mkfs.jffs2.1.gz
 	$(MAKE) -C $(BUILDDIR)/ubi-utils install
diff --git a/mkfs.ubifs/Makefile b/mkfs.ubifs/Makefile
index a327eee..f802bff 100644
--- a/mkfs.ubifs/Makefile
+++ b/mkfs.ubifs/Makefile
@@ -20,4 +20,4 @@  cscope:
 
 install: ${TARGETS}
 	mkdir -p ${DESTDIR}/${SBINDIR}
-	install -m0755 ${TARGETS} ${DESTDIR}/${SBINDIR}/
+	install -m 0755 ${TARGETS} ${DESTDIR}/${SBINDIR}/
diff --git a/ubi-utils/Makefile b/ubi-utils/Makefile
index 4cca316..63058e1 100644
--- a/ubi-utils/Makefile
+++ b/ubi-utils/Makefile
@@ -75,7 +75,7 @@  pfi2bin: pfi2bin.o peb.o error.o list.o crc32.o libubigen.o bootenv.o \
 
 install: ${TARGETS}
 	mkdir -p ${DESTDIR}/${SBINDIR}
-	install -m0755 ${TARGETS} ${DESTDIR}/${SBINDIR}/
+	install -m 0755 ${TARGETS} ${DESTDIR}/${SBINDIR}/
 	(cd perl && install ${PERLPROGS} ${DESTDIR}/${SBINDIR}/)
 
 uninstall:
diff --git a/ubi-utils/new-utils/Makefile b/ubi-utils/new-utils/Makefile
index ba4c20f..356fc96 100644
--- a/ubi-utils/new-utils/Makefile
+++ b/ubi-utils/new-utils/Makefile
@@ -66,7 +66,7 @@  clean:
 
 install: ${UTILS}
 	mkdir -p ${DESTDIR}/${SBINDIR}
-	install -m0755 ${UTILS} ${DESTDIR}/${SBINDIR}/
+	install -m 0755 ${UTILS} ${DESTDIR}/${SBINDIR}/
 
 uninstall:
 	for file in ${UTILS}; do \