Re: [PATCH v4 1/4] Add tar extract install options override in installation processing.
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.
> -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.
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.
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.
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