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

Re: [PATCH 2/4] Define TAR_CF and TAR_XF variables in Makefile

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 6, 2020, 17:50 UTC
Message-ID
<xmqqa6z7ll44.fsf@gitster.c.googlers.com>
In-Reply-To
<22f8f3e37a18263d890307701903dc18c98aa54b.1596675905.git.gitgitgadget@gmail.com>
"lufia via GitGitGadget" <gitgitgadget@gmail.com> writes:
> From: lufia <lufia@lufia.org>
See Documentation/SubmittingPatches[[real-name]].
> Plan 9's tar(1) don't support o option.
> So I changed Makefiles to replace tar commands if needed.

There is a big gap/leap between these two sentences. The first sentence might justify TAR_XF but it does not explain why TAR_CF is needed at all. Also there is "$(TAR) czf" that is left without getting turned into $(TAR_CF)z.

Are there still remaining uses of $(TAR) after applying this patch? If with a different justification, a patch that abstracts our use of "tar" as an archiving tool into different use cases and give one Makefile macro to each of them with more meaningful names might be more palatable. E.g. instead of TAR_CF that abstracts only the "tar cf" part, make "take everything in the current directory and send an archive of it to the standard output", i.e. "tar cf - .", into a Makefile macro, with matching "take an archive from the standard input and extract it to the current directory", i.e. "tar xf -", as a matching Makefile macro, perhaps---that way people without a working "tar" might be able to use zip, cpio or pax (or a script written around them) as an alternative "archiving tool", for example.

	Side note.  The above would probably be a huge undertaking
	and I am not suggesting it as a serious counterproposal.

A more plausible alternative is to just touch "$(TAR) xof -" and replace it with $(TAR_XOF) or even $(EXTRACT_TARBALL_AS_MYSELF) while leaving $(TAR_CF) alone. That _might_ be palatable.

I dunno.
Previous: lufia via GitGitGadgetNext: lufia via GitGitGadget
Message 3 of 29 in “Fit the building tools to Plan 9 environment”
  1. 0/4 Fit the building tools to Plan 9 environmentKADOTA, Kyohei via GitGitGadget, Aug 6, 2020
  2. 2/4 Define TAR_CF and TAR_XF variables in Makefilelufia via GitGitGadget, Aug 6, 2020
  3. Junio C HamanoAug 6, 2020
  4. 1/4 Use $(SHELL_PATH) instead of sh in Makefile.lufia via GitGitGadget, Aug 6, 2020
  5. brian m. carlsonAug 6, 2020
  6. Eric SunshineAug 6, 2020
  7. Kyohei KadotaAug 6, 2020
  8. Junio C HamanoAug 6, 2020
  9. Kyohei KadotaAug 10, 2020
  10. 4/4 Use $(LD) instead of $(CC) for linking the object fileslufia via GitGitGadget, Aug 6, 2020
  11. 3/4 Fit to Plan 9's ANSI/POSIX compatibility layerlufia via GitGitGadget, Aug 6, 2020
  12. brian m. carlsonAug 6, 2020
  13. Kyohei KadotaAug 6, 2020
  14. brian m. carlsonAug 6, 2020
  15. Eric SunshineAug 6, 2020
  16. Junio C HamanoAug 6, 2020
  17. Kyohei KadotaAug 10, 2020
  18. brian m. carlsonAug 6, 2020
  19. 0/2 Fit the building tools to Plan 9 environmentKADOTA, Kyohei via GitGitGadget, Sep 9, 2020
  20. 1/2 Fit to Plan 9's ANSI/POSIX compatibility layerKyohei Kadota via GitGitGadget, Sep 9, 2020
  21. Eric SunshineSep 9, 2020
  22. Junio C HamanoSep 9, 2020
  23. Kyohei KadotaSep 10, 2020
  24. 2/2 Use $(LD) instead of $(CC) for linking the object filesKyohei Kadota via GitGitGadget, Sep 9, 2020
  25. 0/2 Fit the building tools to Plan 9 environmentKADOTA, Kyohei via GitGitGadget, Sep 10, 2020
  26. 1/2 Fit to Plan 9's ANSI/POSIX compatibility layerKyohei Kadota via GitGitGadget, Sep 10, 2020
  27. Junio C HamanoSep 10, 2020
  28. 2/2 Use $(LD) instead of $(CC) for linking the object filesKyohei Kadota via GitGitGadget, Sep 10, 2020
  29. Junio C HamanoSep 10, 2020

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.