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

Re: [PATCH v4 0/5] meson: add corresponding target for Makefile's hdr-check

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 21, 2025, 20:40 UTC
Message-ID
<xmqqplh55ju3.fsf@gitster.g>
In-Reply-To
<3389d086-4e6e-4896-94dd-9f62d7c4f2df@gmail.com>
Phillip Wood <phillip.wood123@gmail.com> writes:
Show 27 quoted lines
> On 21/04/2025 16:41, Junio C Hamano wrote:
>> Phillip Wood <phillip.wood123@gmail.com> writes:
>> 
>>> "git ls-files" is complaining that there isn't a git
>>> repository. Looking at the output of the checkout action (reproduced
>>> below) it appears it is extracting a tarball rather than using "git
>>> clone" because git is not available. I don't know what the best way to
>>> fix that is - I guess we could run "apt-get install git" before
>>> calling the checkout action.
>> Interesting.  The use of actions/checkout@v4 is nothing new in
>> Karthik's series and we haven't seen this issue come up.  What's so
>> different with this particular series, I have to wonder...
>
> Good Question. Looking at contrib/coccinelle/meson.build which is
> where the invocation of "git ls-files" has been moved from it starts
> with
>
>     coccinelle_opt = get_option('coccinelle').require(
>       fs.exists(meson.project_source_root() / '.git'),
>       error_message: 'coccinelle can only be run from a git checkout',
>     )
>
> I think it is probably fine to skip checking our headers and running
> coccinelle when we don't have a git repository but we should ensure
> the meson build can still be configured in that case by skipping those
> targets. The Makefile falls back to using "find" if "git ls-files"
> fails which is another option.

Yuck. I somehow thought that CI jobs are always using a git checkout, not tarball extract (after all, that is what actions/checkout implies to me X-<). Of course it is good to automatically ensure that our tarball extracts are buildable, but the way tarballs are built upon release is probably different from how these tarballs are made automatically (*), so in that sense not building from a repository but building from "git archive" extract is not doing anybody a service.

[Footnote]
 * "make dist" is how a release tarball is built for this project,
   not "git archive dist.tar HEAD".
Previous: Phillip WoodNext: Phillip Wood
Message 42 of 69 in “meson: add corresponding target for Makefile's hdr-check”
  1. 0/3 meson: add corresponding target for Makefile's hdr-checkKarthik Nayak, Apr 8, 2025
  2. 1/3 coccinelle: meson: rename variables to be more specificKarthik Nayak, Apr 8, 2025
  3. 2/3 meson: move headers definition from 'contrib/coccinelle'Karthik Nayak, Apr 8, 2025
  4. 3/3 meson: add support for 'headers-check'Karthik Nayak, Apr 8, 2025
  5. Junio C HamanoApr 8, 2025
  6. Karthik NayakApr 10, 2025
  7. 0/4 meson: add corresponding target for Makefile's hdr-checkKarthik Nayak, Apr 10, 2025
  8. 1/4 coccinelle: meson: rename variables to be more specificKarthik Nayak, Apr 10, 2025
  9. 2/4 meson: move headers definition from 'contrib/coccinelle'Karthik Nayak, Apr 10, 2025
  10. Patrick SteinhardtApr 11, 2025
  11. Karthik NayakApr 11, 2025
  12. 3/4 meson: add support for 'hdr-check'Karthik Nayak, Apr 10, 2025
  13. Phillip WoodApr 10, 2025
  14. Junio C HamanoApr 10, 2025
  15. Karthik NayakApr 14, 2025
  16. Patrick SteinhardtApr 11, 2025
  17. Karthik NayakApr 14, 2025
  18. Toon ClaesApr 14, 2025
  19. Karthik NayakApr 14, 2025
  20. 4/4 makefile/meson: add 'headers-check' as alias for 'hdr-check'Karthik Nayak, Apr 10, 2025
  21. Phillip WoodApr 10, 2025
  22. Junio C HamanoApr 10, 2025
  23. Karthik NayakApr 14, 2025
  24. 0/5 meson: add corresponding target for Makefile's hdr-checkKarthik Nayak, Apr 20, 2025
  25. 1/5 coccinelle: meson: rename variables to be more specificKarthik Nayak, Apr 20, 2025
  26. 2/5 meson: move headers definition from 'contrib/coccinelle'Karthik Nayak, Apr 20, 2025
  27. 3/5 meson: rename 'third_party_sources' to 'third_party_excludes'Karthik Nayak, Apr 20, 2025
  28. 5/5 makefile/meson: add 'check-headers' as alias for 'hdr-check'Karthik Nayak, Apr 20, 2025
  29. 4/5 meson: add support for 'hdr-check'Karthik Nayak, Apr 20, 2025
  30. Junio C HamanoApr 21, 2025
  31. Phillip WoodApr 21, 2025
  32. Karthik NayakApr 21, 2025
  33. Phillip WoodApr 22, 2025
  34. Karthik NayakApr 22, 2025
  35. Junio C HamanoApr 22, 2025
  36. Eli SchwartzApr 23, 2025
  37. Phillip WoodApr 23, 2025
  38. Karthik NayakApr 22, 2025
  39. Phillip WoodApr 23, 2025
  40. Junio C HamanoApr 21, 2025
  41. Phillip WoodApr 21, 2025
  42. Junio C HamanoApr 21, 2025
  43. Phillip WoodApr 23, 2025
  44. Patrick SteinhardtApr 22, 2025
  45. Karthik NayakApr 21, 2025
  46. Junio C HamanoApr 21, 2025
  47. Karthik NayakApr 22, 2025
  48. Junio C HamanoApr 22, 2025
  49. 0/6 meson: add corresponding target for Makefile's hdr-checkKarthik Nayak, Apr 23, 2025
  50. 1/6 ci/github: install git before checking out the repositoryKarthik Nayak, Apr 23, 2025
  51. phillip.wood123@gmail.comApr 23, 2025
  52. Karthik NayakApr 23, 2025
  53. 2/6 coccinelle: meson: rename variables to be more specificKarthik Nayak, Apr 23, 2025
  54. 3/6 meson: move headers definition from 'contrib/coccinelle'Karthik Nayak, Apr 23, 2025
  55. 4/6 meson: rename 'third_party_sources' to 'third_party_excludes'Karthik Nayak, Apr 23, 2025
  56. 5/6 meson: add support for 'hdr-check'Karthik Nayak, Apr 23, 2025
  57. phillip.wood123@gmail.comApr 23, 2025
  58. Karthik NayakApr 23, 2025
  59. 6/6 makefile/meson: add 'check-headers' as alias for 'hdr-check'Karthik Nayak, Apr 23, 2025
  60. Patrick SteinhardtApr 23, 2025
  61. Karthik NayakApr 23, 2025
  62. phillip.wood123@gmail.comApr 23, 2025
  63. Junio C HamanoApr 23, 2025
  64. Junio C HamanoApr 23, 2025
  65. Junio C HamanoApr 23, 2025
  66. Karthik NayakApr 23, 2025
  67. Junio C HamanoApr 23, 2025
  68. Karthik NayakApr 23, 2025
  69. Karthik NayakApr 23, 2025

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.