6354 Commits

Author SHA1 Message Date
Jack Nagel
f4ae1c9e1b Hide the options data structure better 2014-07-31 19:59:09 -05:00
Jack Nagel
abdff27cd7 Make options available on the spec objects 2014-07-31 19:37:39 -05:00
Jack Nagel
fad2e26395 Reduce direct accesses of the args collection 2014-07-31 16:36:54 -05:00
Jack Nagel
b160cc9bb6 Handle tap file renames that remove a file from the formula directory 2014-07-31 15:58:03 -05:00
Jack Nagel
5a94cfc4a3 Use a module since the @build ivar is going away soon 2014-07-30 22:24:24 -05:00
Jack Nagel
fd86e6d636 Remove confusing implicit options handling
This code is supposed to allow

  depends_on "foo" => "with-bar"

to work when foo has only a "without-bar" option.

The options system was not designed to support this. Unfortunately, it
was bolted on anyway. The implementation is extremely difficult to
understand, and it only works for certain types of options, which is
confusing from a user's point of view. Luckily, no formulae in core or
the official taps rely on the behavior in order to function.

It is hindering progress in improving this code, so I am removing it.
2014-07-30 21:46:22 -05:00
Jack Nagel
5ccce044ca Use the tab in place of build during tests 2014-07-30 21:04:17 -05:00
Jack Nagel
331737ab25 Add without? to Tab 2014-07-30 21:04:17 -05:00
Jack Nagel
393e10849b Pass the build object into the Tab
Since the Tab is written in the build process, the formula's build
object will have the correct args attached to it already, so we don't
need to reconstruct it.
2014-07-30 20:27:46 -05:00
Jack Nagel
dd331245ab Remove unused accessor 2014-07-30 20:19:43 -05:00
Jack Nagel
0a605cbf8b Simplify BuildOptions copy tests 2014-07-30 20:15:18 -05:00
Jack Nagel
bc937f56e7 Rename resource? to resource_defined? 2014-07-30 18:56:37 -05:00
Jack Nagel
3451c2d67f Handle nonexistent files when constructing ConflictError
Closes Homebrew/homebrew#31051.
2014-07-30 16:29:10 -05:00
Jack Nagel
ba4a4e4103 Limit exposure of the options data structures 2014-07-29 21:54:32 -05:00
Misty De Meo
e18faa7557 --cc=: make GNU_GCC checks stricter
Fixes Homebrew/homebrew#30668
2014-07-29 19:31:07 -07:00
Jack Nagel
c1ba34734d Remove unused require 2014-07-29 17:09:04 -05:00
Jack Nagel
9b6f83bdfa Use the library path constant to get the library path 2014-07-29 16:59:02 -05:00
Jack Nagel
5216dd54b3 Remove patch hacks from unpack 2014-07-29 16:22:07 -05:00
Jack Nagel
dc2080bd9f Remove patch hacks from audit 2014-07-29 16:22:06 -05:00
Jack Nagel
a55e196f5f Simplify internal representation of patches
- remove support for IO objects, since we no longer access ::DATA
   directly
 - since we don't need to support IO objects, use a separate class for
   string patches and stop wrapping strings in StringIO ojects
2014-07-29 16:22:06 -05:00
Jack Nagel
3f12ddbccd Decouple DATA patches from the executing script 2014-07-29 16:22:06 -05:00
Jack Nagel
e0c9717717 Store test patches in constants 2014-07-29 16:06:06 -05:00
Adam Vandenberg
fbee511eba Pathname.binread 2014-07-29 07:25:27 -07:00
Mike McQuaid
8ad07144f7 brew-test-bot: handle changed formulae deps.
If both a formula and its dependencies are changed in a single pull
request it'll fail because the bottle block may no longer be correct.

Handle this case by ignoring bottle pour failures and fetching the
source packages instead of bottles.
2014-07-29 13:38:18 +02:00
Jack Nagel
8ca8ec3993 Fix up dep directories before activating ENV extensions 2014-07-28 23:20:23 -05:00
Jack Nagel
8a971f7268 Move the fixopt method into the Build class 2014-07-28 21:25:49 -05:00
Jack Nagel
8df8f437f0 Make Patch a module since it only has singleton methods 2014-07-28 16:23:42 -05:00
Jack Nagel
90f69372ce Remove inheritance patch classes 2014-07-28 16:23:42 -05:00
Mike McQuaid
2013d153e5 Add test 1x1 images for formula test fixtures.
images
2014-07-28 19:36:08 +02:00
Adam Vandenberg
5af3d319d6 backport binwrite from Ruby 2.1+ 2014-07-27 16:21:35 -07:00
Adam Vandenberg
8e96ce0aa5 Rename write_binary to binwrite 2014-07-27 15:30:46 -07:00
Adam Vandenberg
bb2c9b7ba4 audit 'def test'
Closes Homebrew/homebrew#31120
2014-07-27 15:10:15 -07:00
Adam Vandenberg
10e5fea01d add Pathname.write_binary 2014-07-27 11:14:51 -07:00
Jack Nagel
90762c2f18 A period is a valid formula name character
Fixes Homebrew/homebrew#31052.
2014-07-26 21:06:56 -05:00
Jack Nagel
5b8e564d70 Add test for reporting tap updates 2014-07-26 20:11:53 -05:00
Jack Nagel
908d7bdecf Clean up updater tests 2014-07-26 20:11:53 -05:00
Jack Nagel
87850d00cd Remove obsolete hacks from updater report 2014-07-26 20:11:53 -05:00
Jack Nagel
2b90995c3e Only populate the report with formula paths 2014-07-26 20:11:53 -05:00
Jack Nagel
197a12c900 Switch from backticks to Utils.popen_read 2014-07-26 20:11:53 -05:00
Jack Nagel
802775078c Separate reading and parsing the diff 2014-07-26 20:11:53 -05:00
Jack Nagel
6baf357f8c update: remove unused rename detection
Right now this code only produces false positives. When we have real
support for renames, we can implement it more carefully.

Closes Homebrew/homebrew#31126.
2014-07-25 12:28:05 -05:00
Jack Nagel
2cf116464d update: simplify diff parsing 2014-07-25 12:25:58 -05:00
Jack Nagel
cd02d3d540 Stop rescuing Exception when making opt link 2014-07-24 19:39:09 -05:00
Jack Nagel
07bf57b8ea Push keg_only special-case into link 2014-07-24 19:39:09 -05:00
Jack Nagel
f1fc0b788f Pass the keg object into link and fix_install_names 2014-07-24 19:39:09 -05:00
Mike McQuaid
d2d2b3c888 brew-test-bot: clear compiler version cache.
This fix means that brew-test-bot can bottle formulae that require GCC
again.
2014-07-24 08:51:09 +01:00
Mike McQuaid
8cf69fac3f OS::Mac: allow clearing compiler version cache.
Without this it’s impossible for brew-test-bot to be able to verify if
installing GCC has allowed it to fix a compiler selection failure.
2014-07-24 08:51:09 +01:00
Mike McQuaid
f2f4183abc brew.1: reference GCC 4.9. 2014-07-24 08:51:08 +01:00
Adrian Petrescu
9a15f9e3fa storm 0.9.2
Closes Homebrew/homebrew#31025.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2014-07-23 21:54:20 -07:00
Dabrien 'Dabe' Murphy
46ca68de5e Modify "git rev-parse --verify" args in "has_ref?"
Per the `git-rev-parse(1)` manpage:

  --verify Verify that exactly one parameter is provided, and that it
  can be turned into a raw 20-byte SHA-1 that can be used to access the
  object database. If so, emit it to the standard output; otherwise,
  error out.

  If you want to make sure that the output actually names an object in
  your object database and/or can be used as a specific type of object
  For example, git rev-parse "$VAR^{commit}" will make sure $VAR names
  an existing object that is a commit-ish (i.e. a commit, or an
  annotated tag that points at a commit).

That actually means that:

  git rev-parse --verify af8e768e2bd3b4398bca033998f83b0eb8874914

will _always_ return the SHA-1 hash — regardless of whether or not
that's actually a valid reference!

Thus, when `GitDownloadStragtegy#update_repo` tries to check
`has_ref?`, it mistakenly succeeds, and doesn't actually do a `git fetch
origin`.

The fix is to use:

  git rev-parse --verify "af8e768e2bd3b4398bca033998f83b0eb8874914^{commit}"

Fixes Homebrew/homebrew#31045.
Closes Homebrew/homebrew#31054.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-07-23 21:07:02 -05:00