{"thread":{"id":"32210","subject":"[PATCH] Extend runtime prefix computation","startedAt":"2012-11-27T16:30:05Z","lastAt":"2013-10-04T13:32:18Z","messageCount":11,"participants":["Michael Weiser","Erik Faye-Lund","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"203992","messageId":"20121127163004.GC7499@science-computing.de","threadId":"32210","inReplyTo":null,"subject":"[PATCH] Extend runtime prefix computation","fromName":"Michael Weiser","fromEmail":"m.weiser@science-computing.de","sentAt":"2012-11-27T16:30:05Z","receivedAt":"2012-11-27T16:30:05Z","isPatch":true,"sender":{"key":"m.weiser@science-computing.de","avatar":null},"body":"Support determining the binaries' installation path at runtime even if\ncalled without any path components (i.e. via search path). Implement\nfallback to compiled-in prefix if determination fails or is impossible.\n\nSigned-off-by: Michael Weiser <weiser@science-computing.de>\n---\n- Has two very minor memory leaks - function is called only once per\n  program execution. Do we care? Alternative: Use static buffer instead.\n\n exec_cmd.c |   68 ++++++++++++++++++++++++++++++++++++++++++++++-------------\n 1 files changed, 53 insertions(+), 15 deletions(-)\n\ndiff --git a/exec_cmd.c b/exec_cmd.c\nindex 125fa6f..d50d7f8 100644\n--- a/exec_cmd.c\n+++ b/exec_cmd.c\n@@ -4,28 +4,22 @@\n #define MAX_ARGS\t32\n \n static const char *argv_exec_path;\n-static const char *argv0_path;\n+static const char *argv0_path = NULL;\n \n const char *system_path(const char *path)\n {\n-#ifdef RUNTIME_PREFIX\n-\tstatic const char *prefix;\n-#else\n \tstatic const char *prefix = PREFIX;\n-#endif\n \tstruct strbuf d = STRBUF_INIT;\n \n \tif (is_absolute_path(path))\n \t\treturn path;\n \n #ifdef RUNTIME_PREFIX\n-\tassert(argv0_path);\n-\tassert(is_absolute_path(argv0_path));\n-\n-\tif (!prefix &&\n-\t    !(prefix = strip_path_suffix(argv0_path, GIT_EXEC_PATH)) &&\n-\t    !(prefix = strip_path_suffix(argv0_path, BINDIR)) &&\n-\t    !(prefix = strip_path_suffix(argv0_path, \"git\"))) {\n+\tif (!argv0_path ||\n+\t    !is_absolute_path(argv0_path) ||\n+\t    (!(prefix = strip_path_suffix(argv0_path, GIT_EXEC_PATH)) &&\n+\t     !(prefix = strip_path_suffix(argv0_path, BINDIR)) &&\n+\t     !(prefix = strip_path_suffix(argv0_path, \"git\")))) {\n \t\tprefix = PREFIX;\n \t\ttrace_printf(\"RUNTIME_PREFIX requested, \"\n \t\t\t\t\"but prefix computation failed.  \"\n@@ -41,20 +35,64 @@ const char *system_path(const char *path)\n const char *git_extract_argv0_path(const char *argv0)\n {\n \tconst char *slash;\n+\tchar *abs_argv0 = NULL;\n \n \tif (!argv0 || !*argv0)\n \t\treturn NULL;\n \tslash = argv0 + strlen(argv0);\n \n+\t/* walk to the first slash from the end */\n \twhile (argv0 <= slash && !is_dir_sep(*slash))\n \t\tslash--;\n \n+\t/* if there was a slash ... */\n \tif (slash >= argv0) {\n-\t\targv0_path = xstrndup(argv0, slash - argv0);\n-\t\treturn slash + 1;\n+\t\t/* ... it's either an absolute path */\n+\t\tif (is_absolute_path(argv0)) {\n+\t\t\t/* FIXME: memory leak here */\n+\t\t\targv0_path = xstrndup(argv0, slash - argv0);\n+\t\t\treturn slash + 1;\n+\t\t}\n+\n+\t\t/* ... or a relative path, in which case we have to make it\n+\t\t * absolute first and do the whole thing again */\n+\t\tabs_argv0 = xstrdup(real_path(argv0));\n+\t} else {\n+\t\t/* argv0 is no path at all, just a name. Resolve it into a\n+\t\t * path. Unfortunately, this gets system specific. */\n+#if defined(__linux__)\n+\t\tstruct stat st;\n+\t\tif (!stat(\"/proc/self/exe\", &st)) {\n+\t\t\tabs_argv0 = xstrdup(real_path(\"/proc/self/exe\"));\n+\t\t}\n+#elif defined(__APPLE__)\n+\t\t/* Mac OS X has realpath, which incidentally allocates its own\n+\t\t * memory, which in turn is why we do all the xstrdup's in the\n+\t\t * other cases. */\n+\t\tabs_argv0 = realpath(argv0, NULL);\n+#endif\n+\n+\t\t/* if abs_argv0 is still NULL here, something failed above or\n+\t\t * we are on an unsupported system. system_path() will warn\n+\t\t * and fall back to the static prefix */\n+\t\tif (!abs_argv0) {\n+\t\t\targv0_path = NULL;\n+\t\t\treturn argv0;\n+\t\t}\n \t}\n \n-\treturn argv0;\n+\t/* abs_argv0 is an absolute path now for which memory was allocated\n+\t * with malloc */\n+\n+\tslash = abs_argv0 + strlen(abs_argv0);\n+\twhile (abs_argv0 <= slash && !is_dir_sep(*slash))\n+\t\tslash--;\n+\n+\t/* FIXME: memory leaks here */\n+\targv0_path = xstrndup(abs_argv0, slash - abs_argv0);\n+\tslash = xstrdup(slash + 1);\n+\tfree(abs_argv0);\n+\treturn slash;\n }\n \n void git_set_argv_exec_path(const char *exec_path)\n-- \n1.7.3.4\n-- \nVorstandsvorsitzender/Chairman of the board of management:\nGerd-Lothar Leonhart\nVorstand/Board of Management:\nDr. Bernd Finkbeiner, Michael Heinrichs, \nDr. Arno Steitz, Dr. Ingrid Zech\nVorsitzender des Aufsichtsrats/\nChairman of the Supervisory Board:\nPhilippe Miltin\nSitz/Registered Office: Tuebingen\nRegistergericht/Registration Court: Stuttgart\nRegisternummer/Commercial Register No.: HRB 382196\n"},{"id":"204325","messageId":"CABPQNSYhscHdnTFLye=oif_R84kpdaVsrCK+-174v7Ugrae_yQ@mail.gmail.com","threadId":"32210","inReplyTo":"20121127163004.GC7499@science-computing.de","subject":"Re: [PATCH] Extend runtime prefix computation","fromName":"Erik Faye-Lund","fromEmail":"kusmabite@gmail.com","sentAt":"2012-11-30T10:20:52Z","receivedAt":"2012-11-30T10:20:52Z","isPatch":true,"sender":{"key":"kusmabite@gmail.com","avatar":"https://avatars.githubusercontent.com/u/47073?v=4"},"body":"On Tue, Nov 27, 2012 at 5:30 PM, Michael Weiser\n<M.Weiser@science-computing.de> wrote:\n> Support determining the binaries' installation path at runtime even if\n> called without any path components (i.e. via search path). Implement\n> fallback to compiled-in prefix if determination fails or is impossible.\n>\n> Signed-off-by: Michael Weiser <weiser@science-computing.de>\n> ---\n> - Has two very minor memory leaks - function is called only once per\n>   program execution. Do we care? Alternative: Use static buffer instead.\n>\n>  exec_cmd.c |   68 ++++++++++++++++++++++++++++++++++++++++++++++-------------\n>  1 files changed, 53 insertions(+), 15 deletions(-)\n>\n> diff --git a/exec_cmd.c b/exec_cmd.c\n> index 125fa6f..d50d7f8 100644\n> --- a/exec_cmd.c\n> +++ b/exec_cmd.c\n> @@ -4,28 +4,22 @@\n>  #define MAX_ARGS       32\n>\n>  static const char *argv_exec_path;\n> -static const char *argv0_path;\n> +static const char *argv0_path = NULL;\n>\n>  const char *system_path(const char *path)\n>  {\n> -#ifdef RUNTIME_PREFIX\n> -       static const char *prefix;\n> -#else\n>         static const char *prefix = PREFIX;\n> -#endif\n>         struct strbuf d = STRBUF_INIT;\n>\n>         if (is_absolute_path(path))\n>                 return path;\n>\n>  #ifdef RUNTIME_PREFIX\n> -       assert(argv0_path);\n> -       assert(is_absolute_path(argv0_path));\n> -\n> -       if (!prefix &&\n> -           !(prefix = strip_path_suffix(argv0_path, GIT_EXEC_PATH)) &&\n> -           !(prefix = strip_path_suffix(argv0_path, BINDIR)) &&\n> -           !(prefix = strip_path_suffix(argv0_path, \"git\"))) {\n> +       if (!argv0_path ||\n> +           !is_absolute_path(argv0_path) ||\n> +           (!(prefix = strip_path_suffix(argv0_path, GIT_EXEC_PATH)) &&\n> +            !(prefix = strip_path_suffix(argv0_path, BINDIR)) &&\n> +            !(prefix = strip_path_suffix(argv0_path, \"git\")))) {\n>                 prefix = PREFIX;\n>                 trace_printf(\"RUNTIME_PREFIX requested, \"\n>                                 \"but prefix computation failed.  \"\n> @@ -41,20 +35,64 @@ const char *system_path(const char *path)\n>  const char *git_extract_argv0_path(const char *argv0)\n>  {\n>         const char *slash;\n> +       char *abs_argv0 = NULL;\n>\n>         if (!argv0 || !*argv0)\n>                 return NULL;\n>         slash = argv0 + strlen(argv0);\n>\n> +       /* walk to the first slash from the end */\n>         while (argv0 <= slash && !is_dir_sep(*slash))\n>                 slash--;\n>\n> +       /* if there was a slash ... */\n>         if (slash >= argv0) {\n> -               argv0_path = xstrndup(argv0, slash - argv0);\n> -               return slash + 1;\n> +               /* ... it's either an absolute path */\n> +               if (is_absolute_path(argv0)) {\n> +                       /* FIXME: memory leak here */\n> +                       argv0_path = xstrndup(argv0, slash - argv0);\n> +                       return slash + 1;\n> +               }\n> +\n> +               /* ... or a relative path, in which case we have to make it\n> +                * absolute first and do the whole thing again */\n> +               abs_argv0 = xstrdup(real_path(argv0));\n> +       } else {\n> +               /* argv0 is no path at all, just a name. Resolve it into a\n> +                * path. Unfortunately, this gets system specific. */\n> +#if defined(__linux__)\n> +               struct stat st;\n> +               if (!stat(\"/proc/self/exe\", &st)) {\n> +                       abs_argv0 = xstrdup(real_path(\"/proc/self/exe\"));\n> +               }\n> +#elif defined(__APPLE__)\n> +               /* Mac OS X has realpath, which incidentally allocates its own\n> +                * memory, which in turn is why we do all the xstrdup's in the\n> +                * other cases. */\n> +               abs_argv0 = realpath(argv0, NULL);\n> +#endif\n\n...perhaps a \"GetModuleFileName(NULL, ...)\" for Windows is in place here?\n"},{"id":"204334","messageId":"20121130104532.GC2640@science-computing.de","threadId":"32210","inReplyTo":"CABPQNSYhscHdnTFLye=oif_R84kpdaVsrCK+-174v7Ugrae_yQ@mail.gmail.com","subject":"Re: [PATCH] Extend runtime prefix computation","fromName":"Michael Weiser","fromEmail":"m.weiser@science-computing.de","sentAt":"2012-11-30T10:45:32Z","receivedAt":"2012-11-30T10:45:32Z","isPatch":true,"sender":{"key":"m.weiser@science-computing.de","avatar":null},"body":"Hello Erik,\n\nOn Fri, Nov 30, 2012 at 11:20:52AM +0100, Erik Faye-Lund wrote:\n\n> > +#if defined(__linux__)\n> > +               struct stat st;\n> > +               if (!stat(\"/proc/self/exe\", &st)) {\n> > +                       abs_argv0 = xstrdup(real_path(\"/proc/self/exe\"));\n> > +               }\n> > +#elif defined(__APPLE__)\n> > +               /* Mac OS X has realpath, which incidentally allocates its own\n> > +                * memory, which in turn is why we do all the xstrdup's in the\n> > +                * other cases. */\n> > +               abs_argv0 = realpath(argv0, NULL);\n> > +#endif\n> ...perhaps a \"GetModuleFileName(NULL, ...)\" for Windows is in place here?\n\nAgreed. However, I do not use git on Windows and don't have a Windows\ndevel toolchain in place. So I guess this should be added in a separate\npatch by someone actually in need of it and in a position to develop and\ntest it?\n\nThanks,\n-- \nMichael Weiser                science + computing ag\nSenior Systems Engineer       Geschaeftsstelle Duesseldorf\n                              Martinstrasse 47-55, Haus A\nphone: +49 211 302 708 32     D-40223 Duesseldorf\nfax:   +49 211 302 708 50     www.science-computing.de\n-- \nVorstandsvorsitzender/Chairman of the board of management:\nGerd-Lothar Leonhart\nVorstand/Board of Management:\nDr. Bernd Finkbeiner, Michael Heinrichs, \nDr. Arno Steitz, Dr. Ingrid Zech\nVorsitzender des Aufsichtsrats/\nChairman of the Supervisory Board:\nPhilippe Miltin\nSitz/Registered Office: Tuebingen\nRegistergericht/Registration Court: Stuttgart\nRegisternummer/Commercial Register No.: HRB 382196\n"},{"id":"210623","messageId":"20130305115837.GD21473@science-computing.de","threadId":"32210","inReplyTo":"20121127163004.GC7499@science-computing.de","subject":"Re: [PATCH] Extend runtime prefix computation","fromName":"Michael Weiser","fromEmail":"m.weiser@science-computing.de","sentAt":"2013-03-05T11:58:38Z","receivedAt":"2013-03-05T11:58:38Z","isPatch":true,"sender":{"key":"m.weiser@science-computing.de","avatar":null},"body":"Hello,\n\nOn Tue, Nov 27, 2012 at 05:30:04PM +0100, Michael Weiser wrote:\n\n> Support determining the binaries' installation path at runtime even if\n> called without any path components (i.e. via search path). Implement\n> fallback to compiled-in prefix if determination fails or is impossible.\n\nI see this hasn't made it into git, yet. Is there any reason? What can\nI do to get it included?\n\nThanks,\n-- \nMichael Weiser                science + computing ag\nSenior Systems Engineer       Geschaeftsstelle Duesseldorf\n                              Martinstrasse 47-55, Haus A\nphone: +49 211 302 708 32     D-40223 Duesseldorf\nfax:   +49 211 302 708 50     www.science-computing.de\n-- \nVorstandsvorsitzender/Chairman of the board of management:\nGerd-Lothar Leonhart\nVorstand/Board of Management:\nDr. Bernd Finkbeiner, Michael Heinrichs, \nDr. Arno Steitz, Dr. Ingrid Zech\nVorsitzender des Aufsichtsrats/\nChairman of the Supervisory Board:\nPhilippe Miltin\nSitz/Registered Office: Tuebingen\nRegistergericht/Registration Court: Stuttgart\nRegisternummer/Commercial Register No.: HRB 382196\n"},{"id":"210636","messageId":"7vd2vdvn7l.fsf@alter.siamese.dyndns.org","threadId":"32210","inReplyTo":"20130305115837.GD21473@science-computing.de","subject":"Re: [PATCH] Extend runtime prefix computation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-03-05T16:13:50Z","receivedAt":"2013-03-05T16:13:50Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Michael Weiser <M.Weiser@science-computing.de> writes:\n\n> On Tue, Nov 27, 2012 at 05:30:04PM +0100, Michael Weiser wrote:\n>\n>> Support determining the binaries' installation path at runtime even if\n>> called without any path components (i.e. via search path). Implement\n>> fallback to compiled-in prefix if determination fails or is impossible.\n>\n> I see this hasn't made it into git, yet. Is there any reason?\n\nMost likely nobody was interested.\n\nThe default for any change is not to include it.  Is there any\nreason why we want this change?\n"},{"id":"210677","messageId":"20130306081942.GA11151@science-computing.de","threadId":"32210","inReplyTo":"7vd2vdvn7l.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] Extend runtime prefix computation","fromName":"Michael Weiser","fromEmail":"m.weiser@science-computing.de","sentAt":"2013-03-06T08:19:43Z","receivedAt":"2013-03-06T08:19:43Z","isPatch":true,"sender":{"key":"m.weiser@science-computing.de","avatar":null},"body":"Hello Junio,\n\nOn Tue, Mar 05, 2013 at 08:13:50AM -0800, Junio C Hamano wrote:\n\n> >> Support determining the binaries' installation path at runtime even if\n> >> called without any path components (i.e. via search path).\n\n> The default for any change is not to include it.  Is there any\n> reason why we want this change?\n\nIt makes a binary git installation fully relocatable. Seeing how git\nalready has basic support for it I thought other people might be\ninterested in this.\n\nThanks,\n-- \nMichael Weiser                science + computing ag\nSenior Systems Engineer       Geschaeftsstelle Duesseldorf\n                              Martinstrasse 47-55, Haus A\nphone: +49 211 302 708 32     D-40223 Duesseldorf\nfax:   +49 211 302 708 50     www.science-computing.de\n-- \nVorstandsvorsitzender/Chairman of the board of management:\nGerd-Lothar Leonhart\nVorstand/Board of Management:\nDr. Bernd Finkbeiner, Michael Heinrichs, \nDr. Arno Steitz, Dr. Ingrid Zech\nVorsitzender des Aufsichtsrats/\nChairman of the Supervisory Board:\nPhilippe Miltin\nSitz/Registered Office: Tuebingen\nRegistergericht/Registration Court: Stuttgart\nRegisternummer/Commercial Register No.: HRB 382196\n"},{"id":"214491","messageId":"20130416145653.GG12782@science-computing.de","threadId":"32210","inReplyTo":"20130306081942.GA11151@science-computing.de","subject":"Re: [PATCH] Extend runtime prefix computation","fromName":"Michael Weiser","fromEmail":"m.weiser@science-computing.de","sentAt":"2013-04-16T14:56:54Z","receivedAt":"2013-04-16T14:56:54Z","isPatch":true,"sender":{"key":"m.weiser@science-computing.de","avatar":null},"body":"Hello Junio,\nHello list,\n\nOn Wed, Mar 06, 2013 at 09:19:42AM +0100, Michael Weiser wrote:\n\n> > >> Support determining the binaries' installation path at runtime even if\n> > >> called without any path components (i.e. via search path).\n> > The default for any change is not to include it.  Is there any\n> > reason why we want this change?\n> It makes a binary git installation fully relocatable. Seeing how git\n> already has basic support for it I thought other people might be\n> interested in this.\n\nI am still interested in getting this accepted into git. Where do I push\nto get it committed?\n\nThanks,\n-- \nMichael Weiser                science + computing ag\nSenior Systems Engineer       Geschaeftsstelle Duesseldorf\n                              Martinstrasse 47-55, Haus A\nphone: +49 211 302 708 32     D-40223 Duesseldorf\nfax:   +49 211 302 708 50     www.science-computing.de\n-- \nVorstandsvorsitzender/Chairman of the board of management:\nGerd-Lothar Leonhart\nVorstand/Board of Management:\nDr. Bernd Finkbeiner, Michael Heinrichs, \nDr. Arno Steitz, Dr. Ingrid Zech\nVorsitzender des Aufsichtsrats/\nChairman of the Supervisory Board:\nPhilippe Miltin\nSitz/Registered Office: Tuebingen\nRegistergericht/Registration Court: Stuttgart\nRegisternummer/Commercial Register No.: HRB 382196\n"},{"id":"214492","messageId":"CABPQNSbd_baEe7pstZPSdNQQCAUMBCgV2FGcszy-8zoeuD+M5w@mail.gmail.com","threadId":"32210","inReplyTo":"20130306081942.GA11151@science-computing.de","subject":"Re: [PATCH] Extend runtime prefix computation","fromName":"Erik Faye-Lund","fromEmail":"kusmabite@gmail.com","sentAt":"2013-04-16T15:18:49Z","receivedAt":"2013-04-16T15:18:49Z","isPatch":true,"sender":{"key":"kusmabite@gmail.com","avatar":"https://avatars.githubusercontent.com/u/47073?v=4"},"body":"On Wed, Mar 6, 2013 at 9:19 AM, Michael Weiser\n<M.Weiser@science-computing.de> wrote:\n> Hello Junio,\n>\n> On Tue, Mar 05, 2013 at 08:13:50AM -0800, Junio C Hamano wrote:\n>\n>> >> Support determining the binaries' installation path at runtime even if\n>> >> called without any path components (i.e. via search path).\n>\n>> The default for any change is not to include it.  Is there any\n>> reason why we want this change?\n>\n> It makes a binary git installation fully relocatable. Seeing how git\n> already has basic support for it I thought other people might be\n> interested in this.\n\nI think the motivation for the feature in the first place is Windows,\nwhere the installation path isn't known at build-time. In the\nunix-world, this is generally known (/usr/bin or something like that).\nWhat's the reason you want it on other platforms?\n"},{"id":"214514","messageId":"7vvc7ml4he.fsf@alter.siamese.dyndns.org","threadId":"32210","inReplyTo":"20130416145653.GG12782@science-computing.de","subject":"Re: [PATCH] Extend runtime prefix computation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-04-16T18:23:09Z","receivedAt":"2013-04-16T18:23:09Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"nobody writes:\n\n> Hello Junio,\n> Hello list,\n>\n> On Wed, Mar 06, 2013 at 09:19:42AM +0100, Michael Weiser wrote:\n>\n>> > >> Support determining the binaries' installation path at runtime even if\n>> > >> called without any path components (i.e. via search path).\n>> > The default for any change is not to include it.  Is there any\n>> > reason why we want this change?\n>> It makes a binary git installation fully relocatable. Seeing how git\n>> already has basic support for it I thought other people might be\n>> interested in this.\n>\n> I am still interested in getting this accepted into git. Where do I push\n> to get it committed?\n\nI do not have a strong objection to what it tries to achieve, but\nI'd prefer to see no \"#ifdef platform\" code in a very generic part\nof the system like exec_cmd.\n"},{"id":"214580","messageId":"20130417060647.GA66718@science-computing.de","threadId":"32210","inReplyTo":"CABPQNSbd_baEe7pstZPSdNQQCAUMBCgV2FGcszy-8zoeuD+M5w@mail.gmail.com","subject":"Re: [PATCH] Extend runtime prefix computation","fromName":"Michael Weiser","fromEmail":"m.weiser@science-computing.de","sentAt":"2013-04-17T06:06:48Z","receivedAt":"2013-04-17T06:06:48Z","isPatch":true,"sender":{"key":"m.weiser@science-computing.de","avatar":null},"body":"Hello Erik,\n\nOn Tue, Apr 16, 2013 at 05:18:49PM +0200, Erik Faye-Lund wrote:\n\n> >> >> Support determining the binaries' installation path at runtime even if\n> >> >> called without any path components (i.e. via search path).\n> I think the motivation for the feature in the first place is Windows,\n> where the installation path isn't known at build-time. In the\n> unix-world, this is generally known (/usr/bin or something like that).\n> What's the reason you want it on other platforms?\n\nIt's part of an in-house development toolchain featuring git that I want\nto hand to users as a binary installation for a number of platforms but\ngive them the choice where to install it.\n\nSecondly, once the infrastructure is in place, it's easier to do or\nenhance relocatability support for other platforms such as Windows.\n\nFinally: Others do it. Perl's done it and I've already needed that as\nwell - on Mac OS X.\n\nThanks,\n-- \nMichael Weiser                science + computing ag\nSenior Systems Engineer       Geschaeftsstelle Duesseldorf\n                              Martinstrasse 47-55, Haus A\nphone: +49 211 302 708 32     D-40223 Duesseldorf\nfax:   +49 211 302 708 50     www.science-computing.de\n-- \nVorstandsvorsitzender/Chairman of the board of management:\nGerd-Lothar Leonhart\nVorstand/Board of Management:\nDr. Bernd Finkbeiner, Michael Heinrichs, \nDr. Arno Steitz, Dr. Ingrid Zech\nVorsitzender des Aufsichtsrats/\nChairman of the Supervisory Board:\nPhilippe Miltin\nSitz/Registered Office: Tuebingen\nRegistergericht/Registration Court: Stuttgart\nRegisternummer/Commercial Register No.: HRB 382196\n"},{"id":"228557","messageId":"20131004133217.GA85032@science-computing.de","threadId":"32210","inReplyTo":"20130417060647.GA66718@science-computing.de","subject":"Re: [PATCH] Extend runtime prefix computation","fromName":"Michael Weiser","fromEmail":"m.weiser@science-computing.de","sentAt":"2013-10-04T13:32:18Z","receivedAt":"2013-10-04T13:32:18Z","isPatch":true,"sender":{"key":"m.weiser@science-computing.de","avatar":null},"body":"Hi,\n\nOn Wed, Apr 17, 2013 at 08:06:47AM +0200, Michael Weiser wrote:\n\n> > >> >> Support determining the binaries' installation path at runtime even if\n> > >> >> called without any path components (i.e. via search path).\n\n> > What's the reason you want it on other platforms?\n\n> It's part of an in-house development toolchain featuring git that I want\n> to hand to users as a binary installation for a number of platforms but\n> give them the choice where to install it.\n\nI'd still like to have this included in mainline git. What can I do to\nget it there?\n\nThanks,\n-- \nMichael Weiser                science + computing ag\nSenior Systems Engineer       Geschaeftsstelle Duesseldorf\n                              Martinstrasse 47-55, Haus A\nphone: +49 211 302 708 32     D-40223 Duesseldorf\nfax:   +49 211 302 708 50     www.science-computing.de\n-- \nVorstandsvorsitzender/Chairman of the board of management:\nGerd-Lothar Leonhart\nVorstand/Board of Management:\nDr. Bernd Finkbeiner, Michael Heinrichs, \nDr. Arno Steitz, Dr. Ingrid Zech\nVorsitzender des Aufsichtsrats/\nChairman of the Supervisory Board:\nPhilippe Miltin\nSitz/Registered Office: Tuebingen\nRegistergericht/Registration Court: Stuttgart\nRegisternummer/Commercial Register No.: HRB 382196\n"}]}