* '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).