git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v4 1/4] Makefile: generate Perl header from template file

From
Dan Jacques <dnj@google.com>
Date
Dec 5, 2017, 21:26 UTC
Message-ID
<20171205212625.6616-1-dnj@google.com>
In-Reply-To
<f0ad1ad4-67d8-21e2-fdd0-0a08328c1eaa@kdbg.org>
Johannes Sixt wrote:
Show 7 quoted lines
> I don't know what I tested last week; most likely not the version of the
> patch I quoted above.
>
> Today's version, with the tip at 5d7f59c391ce, is definitely bogus
> with its quoting. It needs the patch below, otherwise an unquoted
> semicolon may be expanded from $(pathsep). This would terminate the sed
> command, of course.

Thanks for checking! The patch that you quoted above looks like it's from this "v4" thread; however, the patch that you are diffing against in your latest reply seems like it is from an earlier version.

I believe that the $(pathsep) changes in your proposed patch are already present in v4, having been caught by Johannes, so perhaps you were using an older version of the patch as the diffbase? That change only appeared in v4, so any older version would have had the previous incorrect quoting.

I think the reason that is necessary to remove the single quotes is not because the ";" is terminating the `sed` expression, but because it's terminating the entire shell stanza, causing the shell to execute two commands:

1) {"sed" "-e" "s=@@PATHSEP@@="}
2) {"=g" "-e" "s=@@INSTLIBDIR@@=..." ...}

By including the ";" within the single-tick-protected `sed` argument, the shell receives the entire block, "s=@@PATHSEP@@=;=", as a single string.

Also see Johannes' explanation here: https://github.com/danjacques/git/pull/1/commits/57dc265478692ea2a395fc61fa122cb73ce58dc3

Could you apply this v4 patch series and confirm that it is working for you? Or, if I am mistaken and your patch is correctly against this "v4" patch series, let me know and I'll try and figure out what I'm missing.

Thanks again! -Dan

Previous: Junio C HamanoNext: Junio C Hamano
Message 10 of 34 in “RUNTIME_PREFIX relocatable Git”
  1. 0/4 RUNTIME_PREFIX relocatable GitDan Jacques, Nov 29, 2017
  2. 1/4 Makefile: generate Perl header from template fileDan Jacques, Nov 29, 2017
  3. Johannes SixtDec 1, 2017
  4. Johannes SchindelinDec 1, 2017
  5. Johannes SixtDec 1, 2017
  6. Dan JacquesDec 1, 2017
  7. Andreas SchwabDec 1, 2017
  8. Johannes SixtDec 5, 2017
  9. Junio C HamanoDec 5, 2017
  10. Dan JacquesDec 5, 2017
  11. Junio C HamanoDec 5, 2017
  12. Johannes SixtDec 6, 2017
  13. Junio C HamanoDec 6, 2017
  14. Daniel JacquesDec 6, 2017
  15. Ævar Arnfjörð BjarmasonDec 6, 2017
  16. Ævar Arnfjörð BjarmasonDec 8, 2017
  17. 0/2 Handle $IFS in $INSTLIBDIRJonathan Nieder, Apr 23, 2018
  18. 1/2 Makefile: remove unused @@PERLLIBDIR@@ substitution variableJonathan Nieder, Apr 23, 2018
  19. Junio C HamanoApr 24, 2018
  20. 2/2 Makefile: quote $INSTLIBDIR when passing it to sedJonathan Nieder, Apr 23, 2018
  21. Junio C HamanoApr 24, 2018
  22. 2/2 Makefile: quote $INSTLIBDIR when passing it to sedJonathan Nieder, Apr 24, 2018
  23. Daniel JacquesApr 24, 2018
  24. Junio C HamanoDec 3, 2017
  25. Ævar Arnfjörð BjarmasonDec 3, 2017
  26. 4/4 exec_cmd: RUNTIME_PREFIX on some POSIX systemsDan Jacques, Nov 29, 2017
  27. 3/4 Makefile: add Perl runtime prefix supportDan Jacques, Nov 29, 2017
  28. Ævar Arnfjörð BjarmasonNov 29, 2017
  29. Dan JacquesDec 2, 2017
  30. Ævar Arnfjörð BjarmasonNov 29, 2017
  31. 2/4 Makefile: add support for "perllibdir"Dan Jacques, Nov 29, 2017
  32. Ævar Arnfjörð BjarmasonNov 29, 2017
  33. Ævar Arnfjörð BjarmasonNov 29, 2017
  34. Dan JacquesNov 29, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.