Jack Nagel
070bdc59b9
Explicitly pass key-value options to the build process
...
Fixes Homebrew/homebrew#28695 .
2014-04-26 19:10:21 -05:00
Jack Nagel
4b4fc003df
Adjust installer for updated link error handling
2014-04-21 12:43:06 -05:00
Mike McQuaid
e2fbfc8390
Add hooks for pouring bottles.
...
This should give us a bit of control over what e.g. Boxen are doing
whilst at the same time stopping us from accidentally breaking each
other's stuff every so often.
I'm aware this may be somewhat controversial so I'm open to other
approaches.
2014-04-10 15:25:30 +01:00
Jack Nagel
9b24903875
Guard against nil in inherited_options hash
...
Fixes Homebrew/homebrew#28188 .
2014-04-05 20:02:07 -05:00
Jack Nagel
ce1f598e98
Avoid realpath where it is not necessary
...
Symlinks in opt and LinkedKegs point directly at a keg in the cellar, so
only resolving one symlink should suffice, and make it clear what path
we are actually interested in.
2014-04-05 12:17:19 -05:00
Jack Nagel
a44f725c8b
Ignore interrupts while cleaning up
2014-04-05 10:48:54 -05:00
Jack Nagel
309171e4f4
Automatically reinstall up-to-date dependencies that are missing options
...
Closes Homebrew/homebrew#21223 .
2014-04-05 10:48:54 -05:00
Jack Nagel
710db1fb72
Rename outdated_keg to linked_keg
2014-04-05 10:48:54 -05:00
Jack Nagel
e4f41b9b24
Load install receipt before performing any operations on existing kegs
2014-04-05 10:48:54 -05:00
Jack Nagel
1e20d9149b
Ensure build deps are installed for deps with inherited options
...
Fixes Homebrew/homebrew#28144 .
2014-04-05 10:44:54 -05:00
Jack Nagel
7c3c67d722
Need to still check formula build state for some reason
2014-04-04 10:31:27 -05:00
Jack Nagel
611f1a1b42
Fix universal option inheritance during upgrades
2014-04-04 10:14:24 -05:00
Mike McQuaid
363f2c116c
formula_installer: check pour from requirements.
2014-04-03 19:47:15 +01:00
Jack Nagel
fcb9c4d5fb
Future-proof the build process fork/wait
2014-03-29 10:23:43 -05:00
Jack Nagel
976bf3f60b
Tab#write always overwrites, no need to unlink
2014-03-26 16:07:49 -05:00
Jack Nagel
b5e2996365
Failing to install plist shouldn't prevent linking
2014-03-25 23:47:37 -05:00
Jack Nagel
50f394032f
Write plists atomically
2014-03-25 23:45:23 -05:00
Jack Nagel
25c7b49eee
Don't load the full debugger when readline is the formula being installed
...
Fixes Homebrew/homebrew#27842 .
2014-03-25 01:39:43 -05:00
Jack Nagel
a72061c59a
Check existence of target keg instead of hiding exceptions
2014-03-24 11:00:55 -05:00
Jack Nagel
04f887dc18
Always build from source when given --interactive
...
Closes Homebrew/homebrew#27716 .
2014-03-19 22:46:15 -05:00
Jack Nagel
f36e676bc9
Don't ignore dependencies when actually building a dependency
...
Since the primary FormulaInstaller instance handles the entire
dependency tree, we set ignore_deps to true when instantiated the class
for each dependency in over to avoid repeated work.
However, now that arguments for the build process are whitelisted
instead of blacklisted, we have begun adding "--ignore-dependencies" if
ignore_deps is true.
This isn't quite right when we are installing a dependency. We want to
skip the calculation and installation of *its* dependencies, since the
primary installer takes care of that, but we still want to consider them
in the build process, so that they are available in the build
environment.
2014-03-13 19:25:59 -05:00
Jack Nagel
25164350d6
Revert "Roll ignore_deps change back temporarily"
...
This reverts commit 067f4d474cb158debb8ad7d19d664fb2540cb09f.
2014-03-13 19:10:41 -05:00
Jack Nagel
4cb3d121a4
Roll ignore_deps change back temporarily
2014-03-13 17:40:22 -05:00
Jack Nagel
16fde6fbdb
Rewrite postfix conditional
2014-03-13 15:59:54 -05:00
Jack Nagel
3b68723fa8
Make FormulaInstaller setup more readable
2014-03-13 15:59:54 -05:00
Jack Nagel
ce5e2aa65c
Make debug an installer mode
2014-03-13 15:59:54 -05:00
Jack Nagel
4d02849d43
Make verbose an installer mode
2014-03-13 15:59:54 -05:00
Jack Nagel
908d2ba792
Make interactive an installer mode
2014-03-13 15:59:53 -05:00
Jack Nagel
05836649fe
Add predicate methods for inspecting the installer mode
2014-03-13 15:59:53 -05:00
Jack Nagel
d1e6f04651
Remove unnecessary check for pour_bottle?
...
@start_time will be nil if we're pouring a bottle, so we don't need to
also check pour_bottle?.
2014-03-13 15:59:53 -05:00
Jack Nagel
7c62275e13
Whitelist arguments that are passed to build process
2014-03-13 15:59:53 -05:00
Jack Nagel
60caf14ce2
Don't set installer options to their default
...
ignore_deps and show_header default to false.
2014-03-13 15:59:53 -05:00
Jack Nagel
a96c1a2afc
Make force_bottle an explicit installer mode
2014-03-10 14:56:02 -05:00
Jack Nagel
7b6fa8b7bb
Inline install_bottle? logic into the installer
2014-03-10 14:56:02 -05:00
Jack Nagel
2182ce4d16
Remove some obsoleted hacks from the installer
2014-03-10 14:56:02 -05:00
Jack Nagel
42e60f7c59
Make build_bottle an explicit installer mode
2014-03-10 14:56:01 -05:00
Jack Nagel
f01c8a0218
Pass build_from_source value to dependency installer
2014-03-08 23:42:14 -06:00
Jack Nagel
3a4bd12d48
Add stubs for build_from_source and build_bottle installer modes
2014-03-08 22:28:50 -06:00
Jack Nagel
ce93c75f11
Remove "--fresh" option from installer
...
Turns out that this doesn't really work at all. `brew install` _never_
reuses options in the first place, and using this option with `brew
upgrade` results in some nasty corner cases in passing options to
dependencies.
2014-03-08 19:08:47 -06:00
Jack Nagel
cf41bb1ebb
Don't remove --only-dependencies since it is meaningless
...
When only_deps is true, this method is never called.
2014-03-08 19:08:47 -06:00
Jack Nagel
a465950874
Sanitize ARGV options that are reflected in the installer mode
2014-03-08 18:50:00 -06:00
Jack Nagel
1ab5943fb2
Let commands decide what mode the installer should use
2014-03-04 14:06:25 -06:00
Jack Nagel
4c0db19538
Extract installer setup to prelude method
2014-03-04 14:06:25 -06:00
Jack Nagel
e8727a4eee
Show full name when a installing a tap dependency
2014-03-04 12:29:42 -06:00
Jack Nagel
de254f6cd6
Stop mutating build options in upgrade
2014-03-02 14:02:18 -06:00
Jack Nagel
0eefded983
Remove unnecessary parameter from inherited_options_for
2014-03-02 14:02:17 -06:00
Jack Nagel
c534b1907d
Revert "Let commands decide what mode the installer should use"
...
I'd still like to make this change, but at least for now the initializer
requires ignore_deps to be set correctly.
This reverts commit 881a8855b944fa9bd7dfd598bb9197f79f7a13f0.
2014-03-02 09:01:50 -06:00
Jack Nagel
ffbe5bf22c
Let commands decide what mode the installer should use
2014-03-02 00:21:13 -06:00
Jack Nagel
ea85812c58
Reduce the number of ways options can be passed to the installer
2014-03-02 00:03:08 -06:00
Jack Nagel
a12d3918d4
Remove unnecessary memoization from FormulaInstaller#build_argv
2014-03-01 23:55:21 -06:00