On Mar 9, 2012, Stefano Lattarini <stefano.lattar...@gmail.com> wrote: > > Thanks for getting back to me so quickly. > > On 03/10/2012 08:16 AM, P. Martin wrote: > > > > On Mar 9, 2012, Stefano Lattarini <stefano.lattar...@gmail.com> wrote: > >> Do you happen to know how one can > >> reliably determine whether the build system is being run by HomeBrew, > > > > > > Forgot to answer your question. Yes, when Homebrew spawns > > an install, it stages the files in the user's temp dir, which can change, > > but below that you'll always see homebrew-automake. A pwd e.g. > > > > /private/tmp/homebrew-automake-HEAD-Zk5j > > /private/tmp/homebrew-automake-1.11.3-5hld/automake-1.11.3 > > /some/path/homebrew-automake-1.11.3-E4t5/automake-1.11.3 > > > > It's also the case that this env var will be defined with some path: > > > > HOMEBREW_BREW_FILE=/usr/local/bin/brew > > > > Thanks again. > > > > > I've finally found myself the list of variables expected to be set by > homebrew; see the entry "SHELL SCRIPTS" at: > > <https://github.com/mxcl/homebrew/wiki/External-Commands> > > So I've prepared the attached patch; can you confirm it truly solves > the homebrew issue? > > Thanks, > Stefano
Thank you, but that patch doesn't work because HOMEBREW_CELLAR is not an environment variable, it's an internal variable from a function. Your have a few options: * run ps and grep for brew install automake * check your pwd, because it will have homebrew-automake in it. * check if the ENV var HOMEBREW_BREW_FILE is set This is what I did when I went to answer your question. I looked at the output of `man brew` to see what ENV vars the user could set which would confuse your analysis. I also started a `brew install automake` and went to a shell to see what ENV variables actually get set. Your choices pretty much boil down to the ones I listed above. Here is `man brew` : https://gist.github.com/2014219 The ENVIRONMENT section lists things the user can set. Those... not so good. Here is `ps` from within `brew install automake` Here is `pwd` from withing `brew install automake` Here is `set` within a `brew install automake` Also included the output if `brew install --HEAD automake` https://gist.github.com/2014299 Question. Why does it search for ChangeLog if that file doesn't exist in head? Or is it searching thru ChangeLog*? It's like you're trying to detect homebrew rather than deal with the file not existing. I must be missing something.