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

Re: [PATCH 1/1] Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir

From
Johannes Sixt <j.sixt@viscovery.net>
Date
May 4, 2011, 14:39 UTC
Message-ID
<4DC1653A.7000000@viscovery.net>
In-Reply-To
<20110504135827.GC18585@camk.edu.pl>
Am 5/4/2011 15:58, schrieb Kacper Kornet:
Show 31 quoted lines
> On Wed, May 04, 2011 at 07:52:30AM +0200, Johannes Sixt wrote:
>> Looking closer, the patch introduces git_etcdir for no good reason,
>> IIUC.
>> It should just re-use sysconfdir (the meaning of this variable is to
>> point
>> to the etc directory).
> 
> And the first version of my patch did it. However Junio has written:
> 
>> But this part in the Makefile outside the context of the patch bothers
>> me.  It seems to imply that sysconfdir is _not_ that variable you want
>> to
>> define later.
>>
>>    # Among the variables below, these:
>>    #   gitexecdir
>>    #   template_dir
>>    #   mandir
>>    #   infodir
>>    #   htmldir
>>    #   ETC_GITCONFIG (but not sysconfdir)
>>    #   ETC_GITATTRIBUTES
>>    # can be specified as a relative path some/where/else;
>>
>> So I have a suspicion that your patch as is will break when prefix is
>> set
>> to something other than /usr directory.  I don't think anybody in-tree
>> currently uses sysconfdir, but that does not mean nobody will ever do.
> 
>>From that I understood that he prefers sysconfdir to be always an
> absolute path.

Junio's worries should not be discarded lightly. But in this case they are unfounded. Digging the history shows:

b51b8bbf (Create a sysconfdir variable, and use it for ETC_GITCONFIG, 2007-04-24) introduced the variable to be able to treat the special case where prefix == /usr. It was never intended as a user-settable value.

In 49fa65a7 (Allow the built-in exec path to be relative to the command invocation path, 2008-07-23), I added the comment above because at that time, a relocatable build should be requested by setting ETC_GITCONFIG to a relative path, but not by changing sysconfdir. (The comment sounds as if the user can set sysconfdir, but I did not intend to say that.)

026fa0d5 (Move computation of absolute paths from Makefile to runtime (in preparation for RUNTIME_PREFIX), 2009-01-18) practically obsoleted sysconfdir. In particular, it removed one of the cases where the value of sysconfdir mattered, leaving only the reference where it is guaranteed to be set to /etc. This commit could have removed sysconfdir entirely.

6df42ab9 (Add global and system-wide gitattributes, 2010-09-01) added another consumer of sysconfdir, but in the same spirit as ETC_GITCONFIG.

So, I don't think that sysconfdir must survive. It was always only a helper variable to shorten the code.

-- Hannes
Previous: Kacper KornetNext: Junio C Hamano
Message 12 of 26 in “Respect definition of prefix from autotools in ETC_GITCONFIG and ETC_GITATTRIBUTES”
  1. Respect definition of prefix from autotools in ETC_GITCONFIG and ETC_GITATTRIBUTESKacper Kornet, Apr 28, 2011
  2. Junio C HamanoApr 28, 2011
  3. Kacper KornetApr 28, 2011
  4. 1/1 Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdirKacper Kornet, Apr 28, 2011
  5. Honor sysconfdir when set as an configure optionKacper Kornet, Apr 28, 2011
  6. Junio C HamanoApr 28, 2011
  7. Kacper KornetApr 28, 2011
  8. Johannes SixtMay 3, 2011
  9. Junio C HamanoMay 3, 2011
  10. Johannes SixtMay 4, 2011
  11. Kacper KornetMay 4, 2011
  12. Johannes SixtMay 4, 2011
  13. Junio C HamanoMay 4, 2011
  14. Junio C HamanoMay 5, 2011
  15. Johannes SixtMay 5, 2011
  16. Junio C HamanoMay 5, 2011
  17. Johannes SixtMay 6, 2011
  18. Kacper KornetMay 5, 2011
  19. Johannes SixtMay 5, 2011
  20. Kacper KornetMay 5, 2011
  21. Junio C HamanoMay 5, 2011
  22. Johannes SixtMay 9, 2011
  23. Kacper KornetMay 9, 2011
  24. Kacper KornetMay 27, 2011
  25. Kacper KornetMay 5, 2011
  26. Kacper KornetMay 4, 2011

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.