Re: [PATCH v4 1/4] Add tar extract install options override in installation processing.

2018-01-24 Thread Ramsay Jones


On 24/01/18 20:33, Junio C Hamano wrote:
> randall.s.bec...@rogers.com writes:
> 
>> From: "Randall S. Becker" <rsbec...@nexbridge.com>
>> Subject: Re: [PATCH v4 1/4] Add tar extract install options override in 
>> installation processing.
> 
> We typically start the subject with some short token to help readers
> of "git shortlog --no-merges" identify what area is being touched,
> e.g. something like
> 
> Subject: [PATCH 1/4] Makefile: allow customizing tar extract options for 
> installation
> 
>> Introduced TAR_EXTRACT_OPTIONS as a configuration option to change
>> the options of tar processing during extract. The default value is "o"
>> which synthesizes xof, by default.
> 
> And then we order the codebase "to be like so" (or, give an order to
> a patch monkey "to make the resulting code like so").
> i.e. something like:
> 
> Introduce TAR_EXTRACT_OPTIONS to allow customizing the tar
> options used when installing.  The default value is "o", which ...
> 
> What is missing from the log message is the most important thing,
> though.  Everything you wrote (i.e. what build-time knob is being
> added, what is tweaked and what the default is) we can read from the
> patch text itself, but readers will be left wondering why anybody
> would want to change "o" and change it to what else under what
> circumstances to achieve what.  I am guessing something like this
> might be the reason behind this change
> 
> This allows an implementations of "tar" that lacks the 'o'
> (--no-same-owner) extract option to be used (even though the
> resulting installed versions will keep ownership of whoever
> happened to have built them, instead of being owned by 'root')
> 
> but please do not make readers guess.

Hmm, I'm a bit puzzled by this patch. I may be wrong, but it
looks like it has nothing to do with the lack of the 'o' option
of tar, and more to do with adding the 'v' option to only a
single invocation of tar. There are three instances of this
kind of pattern in the Makefile, but only one has been modified.
Why?

> Having said all that, I wonder if this "go to po/build/locale, tar
> everything up and then extract it elsewhere" is truly necessary.
> IOW, why isn't it sufficient to do this instead, for example?
> 
> umask 022 && cp -r po/build/locale/. '$(DESTDIR_SQ)$(localedir_SQ)'

Given the above, I suspect that (for some unknown reason), a verbose
'listing' of the locale files is required ... :-D

ATB,
Ramsay Jones



RE: [PATCH v4 1/4] Add tar extract install options override in installation processing.

2018-01-24 Thread Randall S. Becker
> -Original Message-
> From: Todd Zullinger [mailto:t...@pobox.com]
> Sent: January 24, 2018 5:02 PM
> To: Junio C Hamano <gits...@pobox.com>
> Cc: randall.s.bec...@rogers.com; git@vger.kernel.org; Randall S. Becker
> <rsbec...@nexbridge.com>
> Subject: Re: [PATCH v4 1/4] Add tar extract install options override in
> installation processing.
> 
> Junio C Hamano wrote:
> > randall.s.bec...@rogers.com writes:
> >> +# Define TAR_EXTRACT_OPTIONS if you want to change the default
> >> +behaviour # from xvf to something else during installation. The
> >> +option only includes
>^^^
> Shouldn't this be xof?
> 
> >> +# "o" as xf are required.

Drats. Can this be changed here rather than reissuing? I will sign off on
the sticky finger typo.



Re: [PATCH v4 1/4] Add tar extract install options override in installation processing.

2018-01-24 Thread Todd Zullinger
Junio C Hamano wrote:
> randall.s.bec...@rogers.com writes:
>> +# Define TAR_EXTRACT_OPTIONS if you want to change the default behaviour
>> +# from xvf to something else during installation. The option only includes
   ^^^
Shouldn't this be xof?

>> +# "o" as xf are required.

-- 
Todd
~~
Wisdom has two parts: (1) having a lot to say and (2) not saying it.



Re: [PATCH v4 1/4] Add tar extract install options override in installation processing.

2018-01-24 Thread Junio C Hamano
randall.s.bec...@rogers.com writes:

> From: "Randall S. Becker" <rsbec...@nexbridge.com>
> Subject: Re: [PATCH v4 1/4] Add tar extract install options override in 
> installation processing.

We typically start the subject with some short token to help readers
of "git shortlog --no-merges" identify what area is being touched,
e.g. something like

Subject: [PATCH 1/4] Makefile: allow customizing tar extract options for 
installation

> Introduced TAR_EXTRACT_OPTIONS as a configuration option to change
> the options of tar processing during extract. The default value is "o"
> which synthesizes xof, by default.

And then we order the codebase "to be like so" (or, give an order to
a patch monkey "to make the resulting code like so").
i.e. something like:

Introduce TAR_EXTRACT_OPTIONS to allow customizing the tar
options used when installing.  The default value is "o", which ...

What is missing from the log message is the most important thing,
though.  Everything you wrote (i.e. what build-time knob is being
added, what is tweaked and what the default is) we can read from the
patch text itself, but readers will be left wondering why anybody
would want to change "o" and change it to what else under what
circumstances to achieve what.  I am guessing something like this
might be the reason behind this change

This allows an implementations of "tar" that lacks the 'o'
(--no-same-owner) extract option to be used (even though the
resulting installed versions will keep ownership of whoever
happened to have built them, instead of being owned by 'root')

but please do not make readers guess.

Having said all that, I wonder if this "go to po/build/locale, tar
everything up and then extract it elsewhere" is truly necessary.
IOW, why isn't it sufficient to do this instead, for example?

umask 022 && cp -r po/build/locale/. '$(DESTDIR_SQ)$(localedir_SQ)'


>
> Signed-off-by: Randall S. Becker <rsbec...@nexbridge.com>
> ---
>  Makefile | 7 ++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 1a9b23b67..78ee431b7 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -429,6 +429,10 @@ all::
>  # running the test scripts (e.g., bash has better support for "set -x"
>  # tracing).
>  #
> +# Define TAR_EXTRACT_OPTIONS if you want to change the default behaviour
> +# from xvf to something else during installation. The option only includes
> +# "o" as xf are required.
> +#
>  # When cross-compiling, define HOST_CPU as the canonical name of the CPU on
>  # which the built Git will run (for instance "x86_64").
>  
> @@ -452,6 +456,7 @@ LDFLAGS =
>  ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
>  ALL_LDFLAGS = $(LDFLAGS)
>  STRIP ?= strip
> +TAR_EXTRACT_OPTIONS = o
>  
>  # Create as necessary, replace existing, make ranlib unneeded.
>  ARFLAGS = rcs
> @@ -2569,7 +2574,7 @@ install: all
>  ifndef NO_GETTEXT
>   $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(localedir_SQ)'
>   (cd po/build/locale && $(TAR) cf - .) | \
> - (cd '$(DESTDIR_SQ)$(localedir_SQ)' && umask 022 && $(TAR) xof -)
> + (cd '$(DESTDIR_SQ)$(localedir_SQ)' && umask 022 && $(TAR) 
> x$(TAR_EXTRACT_OPTIONS)f -)
>  endif
>  ifndef NO_PERL
>   $(MAKE) -C perl prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' install


[PATCH v4 1/4] Add tar extract install options override in installation processing.

2018-01-21 Thread randall . s . becker
From: "Randall S. Becker" 

Introduced TAR_EXTRACT_OPTIONS as a configuration option to change
the options of tar processing during extract. The default value is "o"
which synthesizes xof, by default.

Signed-off-by: Randall S. Becker 
---
 Makefile | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 1a9b23b67..78ee431b7 100644
--- a/Makefile
+++ b/Makefile
@@ -429,6 +429,10 @@ all::
 # running the test scripts (e.g., bash has better support for "set -x"
 # tracing).
 #
+# Define TAR_EXTRACT_OPTIONS if you want to change the default behaviour
+# from xvf to something else during installation. The option only includes
+# "o" as xf are required.
+#
 # When cross-compiling, define HOST_CPU as the canonical name of the CPU on
 # which the built Git will run (for instance "x86_64").
 
@@ -452,6 +456,7 @@ LDFLAGS =
 ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
 ALL_LDFLAGS = $(LDFLAGS)
 STRIP ?= strip
+TAR_EXTRACT_OPTIONS = o
 
 # Create as necessary, replace existing, make ranlib unneeded.
 ARFLAGS = rcs
@@ -2569,7 +2574,7 @@ install: all
 ifndef NO_GETTEXT
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(localedir_SQ)'
(cd po/build/locale && $(TAR) cf - .) | \
-   (cd '$(DESTDIR_SQ)$(localedir_SQ)' && umask 022 && $(TAR) xof -)
+   (cd '$(DESTDIR_SQ)$(localedir_SQ)' && umask 022 && $(TAR) 
x$(TAR_EXTRACT_OPTIONS)f -)
 endif
 ifndef NO_PERL
$(MAKE) -C perl prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' install
-- 
2.16.0.31.gf1a482c