<feed xmlns='http://www.w3.org/2005/Atom'>
<title>brew/Library/ENV/scm/git, branch master</title>
<subtitle>🍺 The missing package manager for macOS</subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/'/>
<entry>
<title>ENV: move to new paths. (#507)</title>
<updated>2016-07-15T18:03:45+00:00</updated>
<author>
<name>Mike McQuaid</name>
</author>
<published>2016-07-15T18:03:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=a02be9eea204264ce48827ac365c8b53b986d66a'/>
<id>a02be9eea204264ce48827ac365c8b53b986d66a</id>
<content type='text'>
Move some stuff formerly in `Library/ENV` around:
- Move `Library/ENV/$XCODE_VERSION` to `Library/Homebrew/env/super` as they are
  all superenv wrappers and all symlinks to the same version. We never needed
  the "separate shims for separate versions" functionality and it just adds
  confusion.
- Move `Library/ENV/pkgconfig` to `Library/Homebrew/env/pkgconfig` to get more
  things under `Library/Homebrew`
- Move `Library/ENV/scm` to `Library/scm` as these wrappers are not actually
  used by or related to superenv (or stdenv) in any way.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move some stuff formerly in `Library/ENV` around:
- Move `Library/ENV/$XCODE_VERSION` to `Library/Homebrew/env/super` as they are
  all superenv wrappers and all symlinks to the same version. We never needed
  the "separate shims for separate versions" functionality and it just adds
  confusion.
- Move `Library/ENV/pkgconfig` to `Library/Homebrew/env/pkgconfig` to get more
  things under `Library/Homebrew`
- Move `Library/ENV/scm` to `Library/scm` as these wrappers are not actually
  used by or related to superenv (or stdenv) in any way.</pre>
</div>
</content>
</entry>
<entry>
<title>ENV/scm/git: rewrite in Bash (#496)</title>
<updated>2016-07-12T07:20:37+00:00</updated>
<author>
<name>Xu Cheng</name>
</author>
<published>2016-07-12T07:20:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=c598e1afd5516724be8a67f2c929578bfeb69a18'/>
<id>c598e1afd5516724be8a67f2c929578bfeb69a18</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ENV/scm/git: only execute file (#493)</title>
<updated>2016-07-11T14:33:48+00:00</updated>
<author>
<name>Xu Cheng</name>
</author>
<published>2016-07-11T14:33:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=842862c6535e6846e13d1abf17676ac1a4011bba'/>
<id>842862c6535e6846e13d1abf17676ac1a4011bba</id>
<content type='text'>
Fixes #491.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #491.</pre>
</div>
</content>
</entry>
<entry>
<title>scm/git: allow introspecting path lookup</title>
<updated>2016-06-19T20:12:34+00:00</updated>
<author>
<name>Martin Afanasjew</name>
</author>
<published>2016-06-13T00:51:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=a8165b6dbd9837c0ba3c8a0fa368e80aaf5a5dd9'/>
<id>a8165b6dbd9837c0ba3c8a0fa368e80aaf5a5dd9</id>
<content type='text'>
Print path of first detected Git instead of executing it. This is hidden
behind a `--homebrew=print-path` argument that is unlikely to conflict
with any existing or future Git flags.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Print path of first detected Git instead of executing it. This is hidden
behind a `--homebrew=print-path` argument that is unlikely to conflict
with any existing or future Git flags.
</pre>
</div>
</content>
</entry>
<entry>
<title>scm/git: prevent exec bomb with 'env :userpaths'</title>
<updated>2016-04-07T22:04:15+00:00</updated>
<author>
<name>Martin Afanasjew</name>
</author>
<published>2016-04-07T20:09:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=d7aa0c0335dd67e4151503f3a29d7089c57059c3'/>
<id>d7aa0c0335dd67e4151503f3a29d7089c57059c3</id>
<content type='text'>
Using `git` from `Formula#install` can cause an exec bomb if used in a
formula with `env :userpaths` because that causes both `Library/ENV/4.3`
and `Library/ENV/scm` to be in PATH, both of which contain a `git`
binary that is the same SCM wrapper. Those will mutually exec each other
indefinitely as they fail to detect that they are the same wrapper.

Extend the exec-bomb protection to check the paths after all symbolic
links have been expanded to prevent this situation.

Fixes #43.
Fixes Homebrew/homebrew-core#133.
Fixed Homebrew/homebrew-core#143.

Closes #46.

Signed-off-by: Martin Afanasjew &lt;martin@afanasjew.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using `git` from `Formula#install` can cause an exec bomb if used in a
formula with `env :userpaths` because that causes both `Library/ENV/4.3`
and `Library/ENV/scm` to be in PATH, both of which contain a `git`
binary that is the same SCM wrapper. Those will mutually exec each other
indefinitely as they fail to detect that they are the same wrapper.

Extend the exec-bomb protection to check the paths after all symbolic
links have been expanded to prevent this situation.

Fixes #43.
Fixes Homebrew/homebrew-core#133.
Fixed Homebrew/homebrew-core#143.

Closes #46.

Signed-off-by: Martin Afanasjew &lt;martin@afanasjew.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>scm/git: handle no Xcode/CLT configuration</title>
<updated>2016-03-21T11:07:38+00:00</updated>
<author>
<name>Xu Cheng</name>
</author>
<published>2016-03-15T08:55:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=8ca79a6df59a7d02ee379e5a766e9170bb26c797'/>
<id>8ca79a6df59a7d02ee379e5a766e9170bb26c797</id>
<content type='text'>
`/usr/bin/&lt;tool&gt;` will be a popup stub under such configuration.

The idea is to let `scm/git` to handle all of git location resolution
throughout Homebrew codebase.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`/usr/bin/&lt;tool&gt;` will be a popup stub under such configuration.

The idea is to let `scm/git` to handle all of git location resolution
throughout Homebrew codebase.
</pre>
</div>
</content>
</entry>
<entry>
<title>ENV: protect against environment being reset</title>
<updated>2016-02-05T21:07:07+00:00</updated>
<author>
<name>Martin Afanasjew</name>
</author>
<published>2016-02-04T13:46:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=5f049637d9efab6d4433c34b6f7023cf9cd288d1'/>
<id>5f049637d9efab6d4433c34b6f7023cf9cd288d1</id>
<content type='text'>
We cannot really recover from this, but at least we'll provide a clearer
error message than trying to call `exec` with an empty string.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We cannot really recover from this, but at least we'll provide a clearer
error message than trying to call `exec` with an empty string.
</pre>
</div>
</content>
</entry>
<entry>
<title>ENV: protect against RUBYLIB/RUBYOPT</title>
<updated>2016-02-05T21:07:07+00:00</updated>
<author>
<name>Martin Afanasjew</name>
</author>
<published>2016-01-10T16:50:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=f9efa18be146dc4372ac9c7a3a60ec1ad14cbd46'/>
<id>f9efa18be146dc4372ac9c7a3a60ec1ad14cbd46</id>
<content type='text'>
Some things can break in hard to debug ways if users or build scripts
set these variables, causing our otherwise quite robust Ruby wrappers
to fail. In theory, we could also use `--disable-rubyopt`, but this is
not supported in Ruby 1.8 (and we still care about it).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some things can break in hard to debug ways if users or build scripts
set these variables, causing our otherwise quite robust Ruby wrappers
to fail. In theory, we could also use `--disable-rubyopt`, but this is
not supported in Ruby 1.8 (and we still care about it).
</pre>
</div>
</content>
</entry>
<entry>
<title>ENV: use HOMEBREW_RUBY_PATH in compiler/SCM shims</title>
<updated>2016-02-05T21:07:07+00:00</updated>
<author>
<name>Martin Afanasjew</name>
</author>
<published>2016-01-10T16:33:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=49990ee93fddb74cb36cec8d7b17946a853ed39c'/>
<id>49990ee93fddb74cb36cec8d7b17946a853ed39c</id>
<content type='text'>
Use the same interpreter for the shims that is also used to run the main
Homebrew process (the one invoked via `brew`). The magic basically lies
in executing `ruby` with the `-x` option (supported since at least 1.8)
and in the following shebang line.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the same interpreter for the shims that is also used to run the main
Homebrew process (the one invoked via `brew`). The magic basically lies
in executing `ruby` with the `-x` option (supported since at least 1.8)
and in the following shebang line.
</pre>
</div>
</content>
</entry>
<entry>
<title>more core file style updated by rubocop</title>
<updated>2015-08-06T09:23:56+00:00</updated>
<author>
<name>Xu Cheng</name>
</author>
<published>2015-08-06T07:45:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=b121e5fd7be1b1984e51caa6a369dd8faf70a57a'/>
<id>b121e5fd7be1b1984e51caa6a369dd8faf70a57a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
