linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 'make install' target issues
@ 2009-10-28  0:37 Dan McGee
  2009-10-28  0:46 ` [PATCH] Makefile: fix permissions mixup on install Dan McGee
  2009-10-28  3:04 ` 'make install' target issues Christopher Li
  0 siblings, 2 replies; 4+ messages in thread
From: Dan McGee @ 2009-10-28  0:37 UTC (permalink / raw)
  To: linux-sparse

I was updating the PKGBUILD for sparse for Arch Linux in the AUR
tonight (http://aur.archlinux.org/packages.php?ID=11999), and I
noticed something odd- all files were getting installed with 755
permissions, including headers, .a libraries, etc. It looks like the
following commit is the offender:

commit bb54f9a83eaa7c683e292a90fdfeebb54381c313
Author: Christopher Li <sparse@chrisli.org>
Date:   Fri Dec 26 01:37:01 2008 -0800
Subject: Clean up Makefile long lines

Is there something I am missing? By default, the install program
installs all files with rwxr-xr-x. I'd be happy to submit a patch to
fix this.

-Dan


$ tar tvf /home/makepkg/packages/sparse-0.4.2-1-x86_64.pkg.tar.gz
-rw-r--r-- root/root       477 2009-10-27 19:37 .PKGINFO
drwxr-xr-x root/root         0 2009-10-27 19:37 usr/
drwxr-xr-x root/root         0 2009-10-27 19:37 usr/include/
drwxr-xr-x root/root         0 2009-10-27 19:37 usr/share/
drwxr-xr-x root/root         0 2009-10-27 19:37 usr/lib/
drwxr-xr-x root/root         0 2009-10-27 19:37 usr/bin/
-rwxr-xr-x root/root    279776 2009-10-27 19:37 usr/bin/sparse
-rwxr-xr-x root/root    217280 2009-10-27 19:37 usr/bin/c2xml
-rwxr-xr-x root/root      9475 2009-10-27 19:37 usr/bin/cgcc
-rwxr-xr-x root/root    584320 2009-10-27 19:37 usr/lib/libsparse.a
drwxr-xr-x root/root         0 2009-10-27 19:37 usr/lib/pkgconfig/
-rwxr-xr-x root/root       167 2009-10-27 19:37 usr/lib/pkgconfig/sparse.pc
drwxr-xr-x root/root         0 2009-10-27 19:37 usr/share/licenses/
drwxr-xr-x root/root         0 2009-10-27 19:37 usr/share/man/
drwxr-xr-x root/root         0 2009-10-27 19:37 usr/share/man/man1/
-rwxr-xr-x root/root      3401 2009-10-27 19:37 usr/share/man/man1/sparse.1.gz
-rwxr-xr-x root/root       565 2009-10-27 19:37 usr/share/man/man1/cgcc.1.gz
drwxr-xr-x root/root         0 2009-10-27 19:37 usr/share/licenses/sparse/
-rw-r--r-- root/root     11013 2009-10-27 19:37
usr/share/licenses/sparse/LICENSE
drwxr-xr-x root/root         0 2009-10-27 19:37 usr/include/sparse/
-rwxr-xr-x root/root       768 2009-10-27 19:37 usr/include/sparse/dissect.h
-rwxr-xr-x root/root      8771 2009-10-27 19:37 usr/include/sparse/ptrlist.h
-rwxr-xr-x root/root      1749 2009-10-27 19:37 usr/include/sparse/storage.h
-rwxr-xr-x root/root      2269 2009-10-27 19:37 usr/include/sparse/allocate.h
-rwxr-xr-x root/root      1392 2009-10-27 19:37 usr/include/sparse/flow.h
-rwxr-xr-x root/root       713 2009-10-27 19:37 usr/include/sparse/compat.h
-rwxr-xr-x root/root      3521 2009-10-27 19:37 usr/include/sparse/ident-list.h
-rwxr-xr-x root/root      1436 2009-10-27 19:37 usr/include/sparse/bitmap.h
-rwxr-xr-x root/root      7065 2009-10-27 19:37 usr/include/sparse/linearize.h
-rwxr-xr-x root/root       993 2009-10-27 19:37 usr/include/sparse/target.h
-rwxr-xr-x root/root      5273 2009-10-27 19:37 usr/include/sparse/expression.h
-rwxr-xr-x root/root       951 2009-10-27 19:37 usr/include/sparse/scope.h
-rwxr-xr-x root/root     10363 2009-10-27 19:37 usr/include/sparse/symbol.h
-rwxr-xr-x root/root      6005 2009-10-27 19:37 usr/include/sparse/lib.h
-rwxr-xr-x root/root      3555 2009-10-27 19:37 usr/include/sparse/parse.h
-rwxr-xr-x root/root      4934 2009-10-27 19:37 usr/include/sparse/token.h

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] Makefile: fix permissions mixup on install
  2009-10-28  0:37 'make install' target issues Dan McGee
@ 2009-10-28  0:46 ` Dan McGee
  2009-10-28  4:05   ` Christopher Li
  2009-10-28  3:04 ` 'make install' target issues Christopher Li
  1 sibling, 1 reply; 4+ messages in thread
From: Dan McGee @ 2009-10-28  0:46 UTC (permalink / raw)
  To: linux-sparse; +Cc: Dan McGee

`install` by default uses 755 permissions; for everything but executables we
want to use 644 permissions.

Signed-off-by: Dan McGee <dan@archlinux.org>
---
 Makefile |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/Makefile b/Makefile
index 571673e..f6b0d2c 100644
--- a/Makefile
+++ b/Makefile
@@ -79,9 +79,12 @@ QUIET_LINK    = $(Q:@=@echo    '     LINK     '$@;)
 QUIET_INST_SH = $(Q:@=echo -n  '     INSTALL  ';)
 QUIET_INST    = $(Q:@=@echo -n '     INSTALL  ';)
 
-define INSTALL_CMD
+define INSTALL_PROG
 	$(Q)$(QUIET_INST_SH)install -v $1 $(DESTDIR)$2/$1 || exit 1;
+endef
 
+define INSTALL_OTHER
+	$(Q)$(QUIET_INST_SH)install -v -m 644 $1 $(DESTDIR)$2/$1 || exit 1;
 endef
 
 SED_PC_CMD = 's|@version@|$(VERSION)|g;		\
@@ -103,11 +106,11 @@ install: $(INST_PROGRAMS) $(LIBS) $(LIB_H) sparse.pc
 	$(Q)install -d $(DESTDIR)$(MAN1DIR)
 	$(Q)install -d $(DESTDIR)$(INCLUDEDIR)/sparse
 	$(Q)install -d $(DESTDIR)$(PKGCONFIGDIR)
-	$(foreach f,$(INST_PROGRAMS),$(call INSTALL_CMD,$f,$(BINDIR)))
-	$(foreach f,$(INST_MAN1),$(call INSTALL_CMD,$f,$(MAN1DIR)))
-	$(foreach f,$(LIBS),$(call INSTALL_CMD,$f,$(LIBDIR)))
-	$(foreach f,$(LIB_H),$(call INSTALL_CMD,$f,$(INCLUDEDIR)/sparse))
-	$(call INSTALL_CMD,sparse.pc,$(PKGCONFIGDIR))
+	$(foreach f,$(INST_PROGRAMS),$(call INSTALL_PROG,$f,$(BINDIR)))
+	$(foreach f,$(INST_MAN1),$(call INSTALL_OTHER,$f,$(MAN1DIR)))
+	$(foreach f,$(LIBS),$(call INSTALL_OTHER,$f,$(LIBDIR)))
+	$(foreach f,$(LIB_H),$(call INSTALL_OTHER,$f,$(INCLUDEDIR)/sparse))
+	$(call INSTALL_OTHER,sparse.pc,$(PKGCONFIGDIR))
 
 sparse.pc: sparse.pc.in
 	$(QUIET_GEN)sed $(SED_PC_CMD) sparse.pc.in > sparse.pc
-- 
1.6.5.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: 'make install' target issues
  2009-10-28  0:37 'make install' target issues Dan McGee
  2009-10-28  0:46 ` [PATCH] Makefile: fix permissions mixup on install Dan McGee
@ 2009-10-28  3:04 ` Christopher Li
  1 sibling, 0 replies; 4+ messages in thread
From: Christopher Li @ 2009-10-28  3:04 UTC (permalink / raw)
  To: Dan McGee; +Cc: linux-sparse

On Tue, Oct 27, 2009 at 5:37 PM, Dan McGee <dan@archlinux.org> wrote:
> commit bb54f9a83eaa7c683e292a90fdfeebb54381c313
> Author: Christopher Li <sparse@chrisli.org>
> Date:   Fri Dec 26 01:37:01 2008 -0800
> Subject: Clean up Makefile long lines
>
> Is there something I am missing? By default, the install program
> installs all files with rwxr-xr-x. I'd be happy to submit a patch to
> fix this.

That is a bug. Thanks for catching it.

Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Makefile: fix permissions mixup on install
  2009-10-28  0:46 ` [PATCH] Makefile: fix permissions mixup on install Dan McGee
@ 2009-10-28  4:05   ` Christopher Li
  0 siblings, 0 replies; 4+ messages in thread
From: Christopher Li @ 2009-10-28  4:05 UTC (permalink / raw)
  To: Dan McGee; +Cc: linux-sparse

On Tue, Oct 27, 2009 at 5:46 PM, Dan McGee <dan@archlinux.org> wrote:
> `install` by default uses 755 permissions; for everything but executables we
> want to use 644 permissions.

So far so good.

> -define INSTALL_CMD
> +define INSTALL_PROG

I rename it to INSTALL_EXEC and INSTALL_FILE respectively.

>        $(Q)$(QUIET_INST_SH)install -v $1 $(DESTDIR)$2/$1 || exit 1;
> +endef

Your patch remove a newline which is critical here. It is very subtle when
using it inside a $(foreach ) loop. $(foreach ) blindly concatenate loop both.
'@' only have special meaning after a newline. I get "@echo" command
not found without this new line.

The others look good. I apply a version with the rename and newline
changes in chrisl branch. Let me know that works for you or not.
If you have other feed back of the change, I can still change it.

Thanks

Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-10-28  4:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-28  0:37 'make install' target issues Dan McGee
2009-10-28  0:46 ` [PATCH] Makefile: fix permissions mixup on install Dan McGee
2009-10-28  4:05   ` Christopher Li
2009-10-28  3:04 ` 'make install' target issues Christopher Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).