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

Re: [PATCH 0/9] Make gitexecdir relative to $(bindir) on Windows

From
Johannes Sixt <johannes.sixt@telecom.at>
Date
Jul 23, 2008, 18:49 UTC
Message-ID
<200807232049.18686.johannes.sixt@telecom.at>
In-Reply-To
<7vmyk8e9p9.fsf@gitster.siamese.dyndns.org>
On Mittwoch, 23. Juli 2008, Junio C Hamano wrote:
Show 21 quoted lines
> Johannes Sixt <johannes.sixt@telecom.at> writes:
> > On Dienstag, 22. Juli 2008, Johannes Schindelin wrote:
> >> On Mon, 21 Jul 2008, Johannes Sixt wrote:
> >> > The problem was that argv[0] does not have a path in certain cases.
> >>
> >> Note that the same holds true for Linux when calling a program that is
> >> in the PATH:
> >
> > Oh, boy!
> >
> >> I imagine that the proper solution would be to rip out lookup_prog() and
> >> use it for non-Windows Git, too.  Unless you want to limit the
> >> usefulness of your patch series to Windows, that is.
> >
> > This certainly goes beyond what I am prepared to do. It is not my itch.
> > The series is already much longer than I wanted, when there is a much
> > simpler solution that solves *my* problem: to set bindir = $(gitexecdir).
>
> If you are living in the Windows world, perhaps you could record the
> installation location in resource somewhere from the installer and look it
> up at runtime?  Or is it considered a bad practice?

Well, looking at value of _pgmptr *is* "look it up at runtime"; no resources or help from the installer are needed.

My rant here is more about that I created a *long* patch series only to find out that it does not have enough genericity to solve the same problem (relocatability) on platforms other than Windows - and I don't want to make it even longer. Windows is special enough that *I* could live with a much simpler solution even though it is a bit retro.

-- Hannes
Previous: Junio C Hamano
Message 32 of 32 in “Make gitexecdir relative to $(bindir) on Windows”
  1. 0/9 Make gitexecdir relative to $(bindir) on WindowsJohannes Sixt, Jul 21, 2008
  2. 1/9 Makefile: Do not install a copy of 'git' in $(gitexecdir)Johannes Sixt, Jul 21, 2008
  3. 2/9 Makefile: Normalize $(bindir) and $(gitexecdir) before comparingJohannes Sixt, Jul 21, 2008
  4. 3/9 Record the command invocation path earlyJohannes Sixt, Jul 21, 2008
  5. 4/9 Fix relative built-in paths to be relative to the command invocationJohannes Sixt, Jul 21, 2008
  6. 5/9 Allow the built-in exec path to be relative to the command invocation pathJohannes Sixt, Jul 21, 2008
  7. 6/9 Allow add_path() to add non-existent directories to the pathJohannes Sixt, Jul 21, 2008
  8. 7/9 Windows: Make $(gitexecdir) relativeJohannes Sixt, Jul 21, 2008
  9. 8/9 Windows: Make sure argv[0] has a pathJohannes Sixt, Jul 21, 2008
  10. 9/9 Windows: Do not compile git-shellJohannes Sixt, Jul 21, 2008
  11. 10/9 git-gui: git.git now uses $(gitexec_instdir) to point to the exec-pathJohannes Sixt, Jul 21, 2008
  12. Steffen ProhaskaJul 25, 2008
  13. Junio C HamanoJul 23, 2008
  14. 5/9 Allow the built-in exec path to be relative to the command invocation pathJohannes Sixt, Jul 23, 2008
  15. Junio C HamanoJul 24, 2008
  16. Johannes SixtJul 24, 2008
  17. Junio C HamanoJul 25, 2008
  18. Johannes SixtJul 25, 2008
  19. Johannes SixtJul 25, 2008
  20. Junio C HamanoJul 28, 2008
  21. Johannes SchindelinJul 21, 2008
  22. Johannes SixtJul 22, 2008
  23. A Large Angry SCMJul 28, 2008
  24. Junio C HamanoJul 28, 2008
  25. Junio C HamanoJul 28, 2008
  26. A Large Angry SCMJul 28, 2008
  27. A Large Angry SCMJul 28, 2008
  28. A Large Angry SCMJul 28, 2008
  29. Johannes SchindelinJul 21, 2008
  30. Johannes SixtJul 22, 2008
  31. Junio C HamanoJul 23, 2008
  32. Johannes SixtJul 23, 2008

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.