{"thread":{"id":"32789","subject":"[PATCH 1/1] Introduce new build variables INSTALL_MODE_EXECUTABLE and INSTALL_MODE_DATA.","startedAt":"2013-01-31T02:08:48Z","lastAt":"2013-02-25T14:46:32Z","messageCount":7,"participants":["TJ","Jeff Epler","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":1},"messages":[{"id":"208331","messageId":"5109D230.2030101@iam.tj","threadId":"32789","inReplyTo":null,"subject":"[PATCH 1/1] Introduce new build variables INSTALL_MODE_EXECUTABLE and INSTALL_MODE_DATA.","fromName":"TJ","fromEmail":"git@iam.tj","sentAt":"2013-01-31T02:08:48Z","receivedAt":"2013-01-31T02:08:48Z","isPatch":true,"sender":{"key":"git@iam.tj","avatar":null},"body":"Installation would fail if the target location had anything other than 755/644\nfile permissions. Therefore replace the hard-coded modes for each $(INSTALL)\nwith variables.\n\nDefault values are 755/644 but can be over-ridden on the make command line\ne.g. \"make INSTALL_MODE_EXECUTABLE=755 INSTALL_MODE_DATA=644 install\".\n\nSigned-off-by: TJ <git@iam.tj>\n---\n Documentation/Makefile   | 20 ++++++++++----------\n Makefile                 | 17 +++++++++++------\n contrib/emacs/Makefile   |  2 +-\n contrib/subtree/Makefile |  4 ++--\n git-gui/Makefile         | 12 ++++++------\n gitk-git/Makefile        |  6 +++---\n gitweb/Makefile          |  8 ++++----\n templates/Makefile       |  2 +-\n 8 files changed, 38 insertions(+), 33 deletions(-)\n\ndiff --git a/Documentation/Makefile b/Documentation/Makefile\nindex 971977b..913928c 100644\n--- a/Documentation/Makefile\n+++ b/Documentation/Makefile\n@@ -190,16 +190,16 @@ pdf: user-manual.pdf\n install: install-man\n  install-man: man\n-\t$(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)\n-\t$(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)\n-\t$(INSTALL) -d -m 755 $(DESTDIR)$(man7dir)\n-\t$(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(man1dir)\n-\t$(INSTALL) -m 644 $(DOC_MAN5) $(DESTDIR)$(man5dir)\n-\t$(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(man1dir)\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(man5dir)\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(man7dir)\n+\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(DOC_MAN1) $(DESTDIR)$(man1dir)\n+\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(DOC_MAN5) $(DESTDIR)$(man5dir)\n+\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(DOC_MAN7) $(DESTDIR)$(man7dir)\n  install-info: info\n-\t$(INSTALL) -d -m 755 $(DESTDIR)$(infodir)\n-\t$(INSTALL) -m 644 git.info gitman.info $(DESTDIR)$(infodir)\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(infodir)\n+\t$(INSTALL) -m $(INSTALL_MODE_DATA) git.info gitman.info $(DESTDIR)$(infodir)\n \tif test -r $(DESTDIR)$(infodir)/dir; then \\\n \t  $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) git.info ;\\\n \t  $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) gitman.info ;\\\n@@ -208,8 +208,8 @@ install-info: info\n \tfi\n  install-pdf: pdf\n-\t$(INSTALL) -d -m 755 $(DESTDIR)$(pdfdir)\n-\t$(INSTALL) -m 644 user-manual.pdf $(DESTDIR)$(pdfdir)\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(pdfdir)\n+\t$(INSTALL) -m $(INSTALL_MODE_DATA) user-manual.pdf $(DESTDIR)$(pdfdir)\n  install-html: html\n \t'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(DESTDIR)$(htmldir)\ndiff --git a/Makefile b/Makefile\nindex 731b6a8..7a59202 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -354,6 +354,11 @@ ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)\n ALL_LDFLAGS = $(LDFLAGS)\n STRIP ?= strip\n +# default installation file modes. Can be overridden from the 'make' command-line.\n+# E.g. For allowing group write: \"make INSTALL_MODE_EXECUTABLE=775 install\"\n+INSTALL_MODE_EXECUTABLE = 755\n+INSTALL_MODE_DATA = 644\n+\n # Among the variables below, these:\n #   gitexecdir\n #   template_dir\n@@ -2257,16 +2262,16 @@ mergetools_instdir_SQ = $(subst ','\\'',$(mergetools_instdir))\n install_bindir_programs := $(patsubst %,%$X,$(BINDIR_PROGRAMS_NEED_X)) $(BINDIR_PROGRAMS_NO_X)\n  install: all\n-\t$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)'\n-\t$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) '$(DESTDIR_SQ)$(bindir_SQ)'\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'\n \t$(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'\n-\t$(INSTALL) -m 644 $(SCRIPT_LIB) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'\n+\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(SCRIPT_LIB) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'\n \t$(INSTALL) $(install_bindir_programs) '$(DESTDIR_SQ)$(bindir_SQ)'\n \t$(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install\n-\t$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(mergetools_instdir_SQ)'\n-\t$(INSTALL) -m 644 mergetools/* '$(DESTDIR_SQ)$(mergetools_instdir_SQ)'\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) '$(DESTDIR_SQ)$(mergetools_instdir_SQ)'\n+\t$(INSTALL) -m $(INSTALL_MODE_DATA) mergetools/* '$(DESTDIR_SQ)$(mergetools_instdir_SQ)'\n ifndef NO_GETTEXT\n-\t$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(localedir_SQ)'\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) '$(DESTDIR_SQ)$(localedir_SQ)'\n \t(cd po/build/locale && $(TAR) cf - .) | \\\n \t(cd '$(DESTDIR_SQ)$(localedir_SQ)' && umask 022 && $(TAR) xof -)\n endif\ndiff --git a/contrib/emacs/Makefile b/contrib/emacs/Makefile\nindex 24d9312..a405744 100644\n--- a/contrib/emacs/Makefile\n+++ b/contrib/emacs/Makefile\n@@ -4,7 +4,7 @@ EMACS = emacs\n  ELC = git.elc git-blame.elc\n INSTALL ?= install\n-INSTALL_ELC = $(INSTALL) -m 644\n+INSTALL_ELC = $(INSTALL) -m $(INSTALL_MODE_DATA)\n prefix ?= $(HOME)\n emacsdir = $(prefix)/share/emacs/site-lisp\n RM ?= rm -f\ndiff --git a/contrib/subtree/Makefile b/contrib/subtree/Makefile\nindex 05cdd5c..40d8d2f 100644\n--- a/contrib/subtree/Makefile\n+++ b/contrib/subtree/Makefile\n@@ -30,12 +30,12 @@ $(GIT_SUBTREE): $(GIT_SUBTREE_SH)\n doc: $(GIT_SUBTREE_DOC)\n  install: $(GIT_SUBTREE)\n-\t$(INSTALL) -m 755 $(GIT_SUBTREE) $(libexecdir)\n+\t$(INSTALL) -m $(INSTALL_MODE_EXECUTABLE) $(GIT_SUBTREE) $(libexecdir)\n  install-doc: install-man\n  install-man: $(GIT_SUBTREE_DOC)\n-\t$(INSTALL) -m 644 $^ $(man1dir)\n+\t$(INSTALL) -m $(INSTALL_MODE_DATA) $^ $(man1dir)\n  $(GIT_SUBTREE_DOC): $(GIT_SUBTREE_XML)\n \txmlto -m $(MANPAGE_NORMAL_XSL)  man $^\ndiff --git a/git-gui/Makefile b/git-gui/Makefile\nindex e22ba5c..472a10c 100644\n--- a/git-gui/Makefile\n+++ b/git-gui/Makefile\n@@ -48,11 +48,11 @@ endif\n RM_RF     ?= rm -rf\n RMDIR     ?= rmdir\n -INSTALL_D0 = $(INSTALL) -d -m 755 # space is required here\n+INSTALL_D0 = $(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) # space is required here\n INSTALL_D1 =\n-INSTALL_R0 = $(INSTALL) -m 644 # space is required here\n+INSTALL_R0 = $(INSTALL) -m $(INSTALL_MODE_DATA) # space is required here\n INSTALL_R1 =\n-INSTALL_X0 = $(INSTALL) -m 755 # space is required here\n+INSTALL_X0 = $(INSTALL) -m $(INSTALL_MODE_EXECUTABLE) # space is required here\n INSTALL_X1 =\n INSTALL_A0 = find # space is required here\n INSTALL_A1 = | cpio -pud\n@@ -76,11 +76,11 @@ ifndef V\n \tQUIET_2DEVNULL = 2>/dev/null\n  \tINSTALL_D0 = dir=\n-\tINSTALL_D1 = && echo ' ' DEST $$dir && $(INSTALL) -d -m 755 \"$$dir\"\n+\tINSTALL_D1 = && echo ' ' DEST $$dir && $(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) \"$$dir\"\n \tINSTALL_R0 = src=\n-\tINSTALL_R1 = && echo '   ' INSTALL 644 `basename $$src` && $(INSTALL) -m 644 $$src\n+\tINSTALL_R1 = && echo '   ' INSTALL $(INSTALL_MODE_DATA) `basename $$src` && $(INSTALL) -m $(INSTALL_MODE_DATA) $$src\n \tINSTALL_X0 = src=\n-\tINSTALL_X1 = && echo '   ' INSTALL 755 `basename $$src` && $(INSTALL) -m 755 $$src\n+\tINSTALL_X1 = && echo '   ' INSTALL $(INSTALL_MODE_EXECUTABLE) `basename $$src` && $(INSTALL) -m $(INSTALL_MODE_EXECUTABLE) $$src\n \tINSTALL_A0 = src=\n \tINSTALL_A1 = && echo '   ' INSTALL '   ' `basename \"$$src\"` && find \"$$src\" | cpio -pud\n diff --git a/gitk-git/Makefile b/gitk-git/Makefile\nindex e1b6045..bc18cce 100644\n--- a/gitk-git/Makefile\n+++ b/gitk-git/Makefile\n@@ -40,9 +40,9 @@ endif\n all:: gitk-wish $(ALL_MSGFILES)\n  install:: all\n-\t$(INSTALL) -m 755 gitk-wish '$(DESTDIR_SQ)$(bindir_SQ)'/gitk\n-\t$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(msgsdir_SQ)'\n-\t$(foreach p,$(ALL_MSGFILES), $(INSTALL) -m 644 $p '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true\n+\t$(INSTALL) -m $(INSTALL_MODE_EXECUTABLE) gitk-wish '$(DESTDIR_SQ)$(bindir_SQ)'/gitk\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) '$(DESTDIR_SQ)$(msgsdir_SQ)'\n+\t$(foreach p,$(ALL_MSGFILES), $(INSTALL) -m $(INSTALL_MODE_DATA) $p '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true\n  uninstall::\n \t$(foreach p,$(ALL_MSGFILES), $(RM) '$(DESTDIR_SQ)$(msgsdir_SQ)'/$(notdir $p) &&) true\ndiff --git a/gitweb/Makefile b/gitweb/Makefile\nindex cd194d0..7d760b0 100644\n--- a/gitweb/Makefile\n+++ b/gitweb/Makefile\n@@ -179,10 +179,10 @@ test-installed:\n ### Installation rules\n  install: all\n-\t$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebdir_SQ)'\n-\t$(INSTALL) -m 755 $(GITWEB_PROGRAMS) '$(DESTDIR_SQ)$(gitwebdir_SQ)'\n-\t$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'\n-\t$(INSTALL) -m 644 $(GITWEB_FILES) '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) '$(DESTDIR_SQ)$(gitwebdir_SQ)'\n+\t$(INSTALL) -m $(INSTALL_MODE_EXECUTABLE) $(GITWEB_PROGRAMS) '$(DESTDIR_SQ)$(gitwebdir_SQ)'\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'\n+\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(GITWEB_FILES) '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'\n  ### Cleaning rules\n diff --git a/templates/Makefile b/templates/Makefile\nindex d22a71a..3e7c7d2 100644\n--- a/templates/Makefile\n+++ b/templates/Makefile\n@@ -61,6 +61,6 @@ clean:\n \t$(RM) -r blt boilerplates.made\n  install: all\n-\t$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(template_instdir_SQ)'\n+\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) '$(DESTDIR_SQ)$(template_instdir_SQ)'\n \t(cd blt && $(TAR) cf - .) | \\\n \t(cd '$(DESTDIR_SQ)$(template_instdir_SQ)' && umask 022 && $(TAR) xof -)\n-- \n1.8.1.2.432.g070c57d.dirty\n"},{"id":"208355","messageId":"20130131132526.GA10622@unpythonic.net","threadId":"32789","inReplyTo":"5109D230.2030101@iam.tj","subject":"Re: [PATCH 1/1] Introduce new build variables INSTALL_MODE_EXECUTABLE and INSTALL_MODE_DATA.","fromName":"Jeff Epler","fromEmail":"jepler@unpythonic.net","sentAt":"2013-01-31T13:25:27Z","receivedAt":"2013-01-31T13:25:27Z","isPatch":true,"sender":{"key":"jepler@unpythonic.net","avatar":"https://avatars.githubusercontent.com/u/1517291?v=4"},"body":"I was not familiar with this behavior of 'install -d' that it tries to change\nthe mode of an existing directory, but GNU coreutils 8.12.197-032bb\ncertainly behaves as TJ reports.\n\nAs a possible alternative, what about\n    [ -d $(DESTDIR)$(main1dir) ] || $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)\nso that $(INSTALL) is not called when the target directory exists\nalready.\n\nJeff\n"},{"id":"208357","messageId":"7vy5f9ica7.fsf@alter.siamese.dyndns.org","threadId":"32789","inReplyTo":"20130131132526.GA10622@unpythonic.net","subject":"Re: [PATCH 1/1] Introduce new build variables INSTALL_MODE_EXECUTABLE and INSTALL_MODE_DATA.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-01-31T15:48:32Z","receivedAt":"2013-01-31T15:48:32Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff Epler <jepler@unpythonic.net> writes:\n\n> I was not familiar with this behavior of 'install -d' that it tries to change\n> the mode of an existing directory, but GNU coreutils 8.12.197-032bb\n> certainly behaves as TJ reports.\n>\n> As a possible alternative, what about\n>     [ -d $(DESTDIR)$(main1dir) ] || $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)\n> so that $(INSTALL) is not called when the target directory exists\n> already.\n\nThat can cut both ways, though.  If it exists and its permission is\ntoo tight (say 0750), $(INSTALL) -d -m 755 ought to loosen for\nothers, but with the additional test, it won't be given a chance to\ndo so.\n"},{"id":"208358","messageId":"7vtxpxic5l.fsf@alter.siamese.dyndns.org","threadId":"32789","inReplyTo":"5109D230.2030101@iam.tj","subject":"Re: [PATCH 1/1] Introduce new build variables INSTALL_MODE_EXECUTABLE and INSTALL_MODE_DATA.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-01-31T15:51:18Z","receivedAt":"2013-01-31T15:51:18Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"TJ <git@iam.tj> writes:\n\n> +\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(man1dir)\n> +\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(man5dir)\n> +\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(man7dir)\n> +\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(DOC_MAN1) $(DESTDIR)$(man1dir)\n> +\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(DOC_MAN5) $(DESTDIR)$(man5dir)\n> +\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(DOC_MAN7) $(DESTDIR)$(man7dir)\n\nI'm tempted to suggest\n\n    INSTALL_DIR = $(INSTALL) -d -m 755\n    INSTALL_DATA = $(INSTALL) -m 644\n    INSTALL_PROGRAM = $(INSTALL) -m 755\n\nThe number of lines the patch needs to touch will be the same, but\nthe resulting lines will not have many $(INSTALL_MODE_BLAH) shouting\nat us.\n\nBesides, you would want to differentiate the two kinds of 755 anyway\n(I'd prefer INSTALL_PROGRAM to use -m 555 personally, for example).\n"},{"id":"208364","messageId":"510AA1E7.9070704@iam.tj","threadId":"32789","inReplyTo":"7vtxpxic5l.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 1/1] Introduce new build variables INSTALL_MODE_EXECUTABLE and INSTALL_MODE_DATA.","fromName":"TJ","fromEmail":"git@iam.tj","sentAt":"2013-01-31T16:55:03Z","receivedAt":"2013-01-31T16:55:03Z","isPatch":true,"sender":{"key":"git@iam.tj","avatar":null},"body":"On 31/01/13 15:51, Junio C Hamano wrote:\n> TJ <git@iam.tj> writes:\n> \n>> +\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(man1dir)\n>> +\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(man5dir)\n>> +\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(man7dir)\n>> +\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(DOC_MAN1) $(DESTDIR)$(man1dir)\n>> +\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(DOC_MAN5) $(DESTDIR)$(man5dir)\n>> +\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(DOC_MAN7) $(DESTDIR)$(man7dir)\n> \n> I'm tempted to suggest\n> \n>     INSTALL_DIR = $(INSTALL) -d -m 755\n>     INSTALL_DATA = $(INSTALL) -m 644\n>     INSTALL_PROGRAM = $(INSTALL) -m 755\n> \n> The number of lines the patch needs to touch will be the same, but\n> the resulting lines will not have many $(INSTALL_MODE_BLAH) shouting\n> at us.\n\nI did contemplate that but was concerned it might be seen as interfering unduly with\nthe tool name/path settings, as opposed to their options.\n\n> Besides, you would want to differentiate the two kinds of 755 anyway\n> (I'd prefer INSTALL_PROGRAM to use -m 555 personally, for example).\n\nYes, I think I lost that one in the mists of sed-land when making the changes :)\n\nI'll revise the patch based on received comments and post the revision tomorrow.\n"},{"id":"210231","messageId":"7vliac2898.fsf@alter.siamese.dyndns.org","threadId":"32789","inReplyTo":"510AA1E7.9070704@iam.tj","subject":"Re: [PATCH 1/1] Introduce new build variables INSTALL_MODE_EXECUTABLE and INSTALL_MODE_DATA.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-02-25T06:54:43Z","receivedAt":"2013-02-25T06:54:43Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"TJ <git@iam.tj> writes:\n\n> On 31/01/13 15:51, Junio C Hamano wrote:\n>> TJ <git@iam.tj> writes:\n>> \n>>> +\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(man1dir)\n>>> +\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(man5dir)\n>>> +\t$(INSTALL) -d -m $(INSTALL_MODE_EXECUTABLE) $(DESTDIR)$(man7dir)\n>>> +\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(DOC_MAN1) $(DESTDIR)$(man1dir)\n>>> +\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(DOC_MAN5) $(DESTDIR)$(man5dir)\n>>> +\t$(INSTALL) -m $(INSTALL_MODE_DATA) $(DOC_MAN7) $(DESTDIR)$(man7dir)\n>> \n>> I'm tempted to suggest\n>> \n>>     INSTALL_DIR = $(INSTALL) -d -m 755\n>>     INSTALL_DATA = $(INSTALL) -m 644\n>>     INSTALL_PROGRAM = $(INSTALL) -m 755\n>> \n>> The number of lines the patch needs to touch will be the same, but\n>> the resulting lines will not have many $(INSTALL_MODE_BLAH) shouting\n>> at us.\n>\n> I did contemplate that but was concerned it might be seen as interfering unduly with\n> the tool name/path settings, as opposed to their options.\n>\n>> Besides, you would want to differentiate the two kinds of 755 anyway\n>> (I'd prefer INSTALL_PROGRAM to use -m 555 personally, for example).\n>\n> Yes, I think I lost that one in the mists of sed-land when making the changes :)\n>\n> I'll revise the patch based on received comments and post the revision tomorrow.\n\nDid anything come out of this discussion?\n"},{"id":"210247","messageId":"512B7948.6030305@iam.tj","threadId":"32789","inReplyTo":"7vliac2898.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 1/1] Introduce new build variables INSTALL_MODE_EXECUTABLE and INSTALL_MODE_DATA.","fromName":"TJ","fromEmail":"git@iam.tj","sentAt":"2013-02-25T14:46:32Z","receivedAt":"2013-02-25T14:46:32Z","isPatch":true,"sender":{"key":"git@iam.tj","avatar":null},"body":"On 25/02/13 06:54, Junio C Hamano wrote:>>> Besides, you would want to differentiate the two kinds of 755 anyway\n>>> (I'd prefer INSTALL_PROGRAM to use -m 555 personally, for example).\n>>\n>> Yes, I think I lost that one in the mists of sed-land when making the changes :)\n>>\n>> I'll revise the patch based on received comments and post the revision tomorrow.\n> \n> Did anything come out of this discussion?\n\nYes - but then I got lost in other projects and forgot about it! I'll revisit it this week and post the latest revision.\n"}]}