aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/exceptions.rb
AgeCommit message (Collapse)Author
2013-09-11Implement ResourcesAdam Vandenberg
Closes #20212.
2013-09-01Check dependencies for a compatible C++ stdlibMisty De Meo
There are now a few possible C++ standard libraries a given build could be using, with subtle incompatibilities and possibility of breakage when mixed. This makes sure that the dependency chain was compiled in a compatible manner. Fortunately all of the Apple compilers use the same libstdc++, and we don't yet support building with libc++, so this will primarily only nag users trying to use GNU gcc who already have software installed with Apple compilers. Future TODOs: * Add general support for building with libc++ (compatibility checking already handled here) * Possibly track formulae which actually build C++ bindings, so that users aren't bothered by spurious nagging re: interpreted languages, pure-C software, etc.
2013-08-08exception styleAdam Vandenberg
2013-06-24Use 'path or URL' as tap for non-tap, non-core formulaeAdam Vandenberg
2013-06-24Show tap/path for non-core formulae on build failureAdam Vandenberg
Closes #16373. Closes #20725.
2013-06-09Separate formula conflicts from requirementsJack Nagel
Closes #20357.
2013-06-08Consolidate sudo checks.Adam Vandenberg
Closes #20318.
2013-06-02InstallationError: don't search issues on < 1.8.6Misty De Meo
open-uri on Ruby pre-1.8.6 simply will not open https URLs at all, making it impossible to check the Github API using the same method as Homebrew. This may only be disabled temporarily until the issue search is rewritten, for example to use the curl helper.
2013-05-20CompilerSelector: raise when no compatible compilerMisty De Meo
This replaces the old behaviour of falling back to the original compiler with no messaging. Fixes #19170. Fixes mistydemeo/tigerbrew#45.
2013-04-27Allow `brew versions` to work with underspecified formulaeJack Nagel
2013-04-13Improved formula attribute validationJack Nagel
The initializer for Formula does a number of validations, but it does them in a weird order, and some attributes aren't validated under certain circumstances. This became even more of a mess when most software package attributes were moved into the SoftwareSpec class. This commit removes the last vestiges of storing these attributes as instance variables. In particular, it eliminates #set_instance_variable and #validate_variable, replacing them with methods that operate on SoftwareSpec instances, and generate more useful errors. Doing these validations unconditionally in the initializer means we bail out much earlier if the formula has invalid attributes or is not fully specified, and no longer need to validate in #prefix. Technically we don't need to validate in #brew either, but we continue to do so anyway as a safety measure, and because we cannot enforce calls to super in subclasses.
2013-04-03Don't error out when a package is already installedJack Nagel
Fixes #17010.
2013-02-18Don't use deprecated form of attrJack Nagel
The form "attr :name, true" is deprecated and causes Ruby to emit a warning in verbose mode. Using attr_{reader,writer,accessor} is more clear anyway, so do so.
2013-02-18Silence "`*` interpreted as argument prefix" warningsJack Nagel
2013-01-27Extract unsatisfied dependency logic from installerJack Nagel
2013-01-26FormulaInstaller: implement installation locksJack Nagel
FormulaInstaller now attempts to take a lock on a "foo.brewing" file for the formula and all of its dependencies before attempting installation. The lock is an advisory lock implemented using flock(), and as such it only locks out other processes that attempt to take the lock. It also means that it is never necessary to manually remove the lock file, because the lock is not enforced by I/O. The uninstall, link, and unlink commands all learn to respect this lock as well, so that the installation cannot be corrupted by a concurrent Homebrew process, and keg operations cannot occur simultaneously.
2012-10-31Only show the troubleshooting linkMax Howell
This has to be a last resort right? If all we show is that link (plus preceding un-deletable output) and they don't click it then maybe we should just close the ticket and hope they'll use MacPorts instead.
2012-10-03Fix use of ISSUES_URL.Mike McQuaid
2012-09-27When builds fail verbosely, be verboseMax Howell
2012-09-25Clean up and improve build-error output and logsMax Howell
All logs are now stored from each command executed in Formula.install. Error output is truncated to five lines in an attempt to not overwhelm the user and to encourage users to read the error output and report the bug properly. Maybe we can get that figure up from 70% to 90%.
2012-09-01Update build failure message.Adam Vandenberg
Have been seeing reports with only the config.log, so change this message.
2012-08-13Encourage clicks on issues linkMax Howell
2012-08-10Be more verbose when users insist on being sudoersMax Howell
If you google for "Cowardly refusing to sudo brew" you get a lot of confused users who didn't read any of the Homebrew documentation and then had a hissy-fit.
2012-08-07Allow multiple unsatisfied fatal requirementsAdam Vandenberg
Closes #13335.
2012-07-26Further improve brew doctor issue wiki text.Mike McQuaid
Following feedback from @mxcl on bcda0d.
2012-07-17Fix typo in commentJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-17Coerce advice to a string in ChecksumMismatchErrorJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04fetch: use new checksum verificationJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04Refactor checksummingJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-25Improve bug report wiki page text.Mike McQuaid
Fixes #12674.
2012-03-17Allow dashes in tap-formula namesMax Howell
2012-03-16Tell the user to tap (if req.) for tapped depsMax Howell
Also propagate dependency info through exception if possible so the error message is more useful.
2012-03-16Concise --config output for build errorsMax Howell
Rationale, lets only pay attention to the output when it matters. Speeding up diagnosis.
2012-03-16Refer users to correct tracker for tapped brewsMax Howell
2012-03-10Use new Requirements code in HomebrewAdam Vandenberg
2012-03-07Stop supporting `brew install --force'Max Howell
Rationale: it breaks stuff. You should not be able to install over something already installed *and* linked. brew now prompts you to unlink the existing linked keg first. I came to fix this because I discovered that `brew install foo` works without --force provided foo's formula version is different to that which is installed and linked. I'm not sure if this was intentionally broken, but it led to at least two tickets I found where people were getting crazy issues trying to install over the top of already installed previous versions. So I also fixed a whole category of other issues, mostly by moving error handling into FormulaInstaller. Now error's can be caught in Homebrew.install and handled on a formula-by-formula basis. I will next port this behaviour to upgrade.
2012-03-07Move brew output for BuildError into BuildErrorMax Howell
So upgrade can output errors but continue to upgrade the rest of the installation.
2012-02-29Add support for Luarocks dependencies.Adam Vandenberg
2012-02-27Remove some whitespace hereAdam Vandenberg
2012-02-25Add more external dep optionsSecond Planet
* Chicken Scheme * Node.js * Rubinius Closes #8466. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-09-19Only try mirrors for CurlDownloadStrategiesMax Howell
Also adjust output text slightly for prettiness. A possibly useful side effect here is safe_system has a defined Exception (subclassing RuntimeError) now.
2011-09-19exceptions.rb: Add DownloadErrorCharlie Sharpsteen
`DownloadError` is an exception that download stratigies can throw to indicate that a fetch was incomplete due to a failure in communication. The `curl` method in `utils.rb` has been upgraded to throw a `DownloadError` if something bad happens to `curl` execution.
2011-09-11Python easy_install just needs the packageKevin Moore
adding 'install' to the command line breaks things Closes #7489. Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2011-09-11UnsatisfiedExternalDependencyError: init errorKevin Moore
Pass message and formula to super so useful output occurs. Closes #7507. Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2011-04-25Remove reference to 'brew install pip'Adam Vandenberg
2011-03-26remove whitespaceAdam Vandenberg
2011-03-14Fix reporting of build errors.Adam Vandenberg
2011-03-12Fix inheritance in exceptionsAdam Vandenberg
2011-03-12Fix 'brew install f' for already-installed brews.Adam Vandenberg
2011-03-12Move some exceptionsAdam Vandenberg