* Instantiate DownloadStrategy instance when creating a formula.
* Rename CurlDownloadStrategy member to clarify what it is for.
* Generate downloaded tarball name in initialize.
Linking "Library" under prefix is optional, but Library will always
exist relative to the REPOSITORY folder, so use that instead of prefix
for formula paths.
* brew install will find an aliased formula
* aliases are searched against
* warn when creating a new formula that has an existing alias.
If Subversion has an alias "svn", then warn when the user tries to
create a new formula "svn". The formula can still be created, though
the user should make sure it's not a duplicate of the existing
aliased one.
Subversion and Objective-Caml formulas get some alises here, so we have
something to test against.
These methods could be static on Formula, but splitting them out makes
it clear to formular authors that these functions don't have anything
to do with writing new formulas.
Rather than showing a backtrace that says "couldn't find command blah". Admittedly it's possible that the error will be something else, but unlikely. And this is neater.
Ideally we'd push the bt through an error pipe like we do with install.rb. And I guess we'll do this eventually.
As I understand it (I tested too), signal propogation is handled by the parent Ruby process. However this was working mostly anyway. So I don't fully understand what is going on. However this seems to not hang in Process.wait where it was before for one test case.
GitDownloadStrategy and MercurialDownloadStrategy
now can be used like this:
head 'git://server/repo.git', :branch => 'stable'
head 'hg://server/repo/', :tag => '1.0.4'
HFS+ handles the + fine. However the Ruby class name needs a s/+/x/g.
I acknowledge that supporting + will make it harder to port to certain other
filesystems. However that's your challenge! :D
brewkit.rb changes ENV destructively, so lets not do that everytime a formula
is required. Now it's possible for other tools to require a formula
description without worrying about side-effects.
I'm not sure about this still, as if you uninstall mysql do you want to lose
all the var stuff it created? Maybe. Probably not.
But there were issues unresolved having it in the unversioned-keg. So I'd
rather look at this again later, and fix the bugs without hacks for now.
Pass in a list of any files that you don't want cleaned
with a path relative to the cellar. e.g. `strip_paths ['bin/znc']`
It's backwards compatible with def strip_clean?, at least for now.
The znc formula is updated as an example.