aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/uninstall.rb
AgeCommit message (Collapse)Author
2014-04-05Remove obsolete guards around canonical_name return valueJack Nagel
2013-05-15Simplify uninstall --forceJack Nagel
2013-05-15uninstall: stop assuming kegs always map to formulaeJack Nagel
2013-04-06Fix another handful of warningsJack Nagel
2013-03-31Fix uninstallation of non-formula kegsJack Nagel
Grrr...
2013-03-30brew-pin: prevent selected formulae from upgrade.Simon Sigurdhsson
* Added `pin` et. al. to manpage. * Added `brew pin` to `brew.1` * Added `brew unpin` to `brew.1` * Added `brew list --pinned` to `brew.1` * Added information about frozen formulae to `brew upgrade` in `brew.1` * Added `pin` et.al. to completion scripts. * Unpin formulae when uninstalling them * Unpin and re-pin formulae when upgrading (avoids stale symlink) References Homebrew/homebrew#18386. Closes Homebrew/homebrew#18515. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
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-08-29Create active symlinks for installed formulaMax Howell
Similar to the LinkedKegs record, we write a symlink for installed kegs to PREFIX/opt. Unlike the linked-keg record, unlinking doesn't remove the link, only uninstalling, and keg-only formula have a record too. The reason for this addition is so that formula that depend on keg-only formula can build against the opt directory and not the cellar keg. Thus surviving upgrades. To enforce this fix_install_names and built were adapted to use the opt path. Standard kegs also create an opt symlink so that caveats can now refer to the opt directory and thus provide steps that survive upgrades too. Thus the choice of /opt. It is short, neat and the right choice: POSIX dictates that opt is for stand-alone prefixes of software.
2012-04-30Add ofail command and fix bottle command output.Mike McQuaid
2012-03-29Exit with bad exit code on command failures.Mike McQuaid
2012-03-06Don't require formula files for `brew rm --force`Max Howell
In fixing this I also made it so that ARGV.kegs will return the LinkedKeg if the symlink is set. Which is almost always is. This neatly avoids most multiple-kegs issues. Fixes Homebrew/homebrew#10685.
2012-02-04Warn the user of required argumentsJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2011-09-16Centralize definition of `rack` in formula.rbCharlie Sharpsteen
`rack` is a commonly used alias for `formula.prefix.parent`---so common that it gets defined and used quite a bit. This patch makes `rack` an official method of the `Formula` class.
2011-08-22Fix uninstall.rb `brew remove --force` "Directory not empty" errorDave Bayer
Finder activity such as moving the position of an icon can create an unexpected .DS_Store file in a Cellar directory. This causes `brew remove --force` to throw an error that is reported as Error: Directory not empty - /usr/local/Cellar/<formula> This fix avoids that error, by calling rmtree rather than rmdir. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-03-12Fix 'brew rm -f'Adam Vandenberg
2011-03-12Refactor the brew command into one file per commandMax Howell
The code was sucking. To the extent that maintenance was hard. It's a lot easier to work with code that is sensibly split at sensible boundaries. So now it is more like that. But the refactor is minimal. Because we don't want you to have more merge hell than absolutely necessary. If you merge you will need to pay attention to brew.h.rb (as it is deleted) and bin/brew (as command logic is gone). It will be painful, but you will just have to help git out by moving any changes around manually. Note compatibility.rb. It ensures that any function renames or removals don't break anything. We're pretty serious about backwards compatibility. And that's because we encourage you to hack around with the innards. And we couldn't do that if we would then just make stuff disappear behind your back.