diff options
| author | Adam Vandenberg | 2012-03-04 16:56:59 -0800 |
|---|---|---|
| committer | Adam Vandenberg | 2012-03-05 21:14:39 -0800 |
| commit | a6a56e2f724dd3a60a2b5b504f48ac568096e2dc (patch) | |
| tree | 7792d17d3a785b855313c634db01f594abaa863d | |
| parent | 89edada6b2381a64d758e17814cba0d0551f85b8 (diff) | |
| download | homebrew-a6a56e2f724dd3a60a2b5b504f48ac568096e2dc.tar.bz2 | |
Move AmazonWebServicesFormula to formula_specialties
Enough formulae in core depend on this, pull it in here.
When multi-repo support lands, perhaps we could set up Homebrew-AWS.
| -rw-r--r-- | Library/Formula/auto-scaling.rb | 3 | ||||
| -rw-r--r-- | Library/Formula/aws-cfn-tools.rb | 3 | ||||
| -rw-r--r-- | Library/Formula/aws-elasticache.rb | 3 | ||||
| -rw-r--r-- | Library/Formula/aws-iam-tools.rb | 44 | ||||
| -rw-r--r-- | Library/Formula/cloud-watch.rb | 3 | ||||
| -rw-r--r-- | Library/Formula/ec2-ami-tools.rb | 3 | ||||
| -rw-r--r-- | Library/Formula/ec2-api-tools.rb | 39 | ||||
| -rw-r--r-- | Library/Formula/elb-tools.rb | 3 | ||||
| -rw-r--r-- | Library/Formula/rds-command-line-tools.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/formula_specialties.rb | 38 |
10 files changed, 58 insertions, 85 deletions
diff --git a/Library/Formula/auto-scaling.rb b/Library/Formula/auto-scaling.rb index b590727a9..f0bb931b5 100644 --- a/Library/Formula/auto-scaling.rb +++ b/Library/Formula/auto-scaling.rb @@ -1,8 +1,5 @@ require 'formula' -# Require ec2-api-tools to get the base class -require "#{File.dirname __FILE__}/ec2-api-tools.rb" - class AutoScaling < AmazonWebServicesFormula version '1.0.49.1' homepage 'http://aws.amazon.com/developertools/2535' diff --git a/Library/Formula/aws-cfn-tools.rb b/Library/Formula/aws-cfn-tools.rb index c7b1fbaa3..5b70af404 100644 --- a/Library/Formula/aws-cfn-tools.rb +++ b/Library/Formula/aws-cfn-tools.rb @@ -1,8 +1,5 @@ require 'formula' -# Require ec2-api-tools to get the base class -require "#{File.dirname __FILE__}/ec2-api-tools.rb" - class AwsCfnTools < AmazonWebServicesFormula homepage 'http://aws.amazon.com/developertools/AWS-CloudFormation/2555753788650372' url 'https://s3.amazonaws.com/cloudformation-cli/AWSCloudFormation-cli.zip' diff --git a/Library/Formula/aws-elasticache.rb b/Library/Formula/aws-elasticache.rb index 6609fb954..1e95428ab 100644 --- a/Library/Formula/aws-elasticache.rb +++ b/Library/Formula/aws-elasticache.rb @@ -1,8 +1,5 @@ require 'formula' -# Require ec2-api-tools to get the base class -require "#{File.dirname __FILE__}/ec2-api-tools.rb" - class AwsElasticache < AmazonWebServicesFormula homepage 'http://aws.amazon.com/developertools/2310261897259567' url 'https://s3.amazonaws.com/elasticache-downloads/AmazonElastiCacheCli-2011-07-15-1.5.000.zip' diff --git a/Library/Formula/aws-iam-tools.rb b/Library/Formula/aws-iam-tools.rb index 06ad76ba5..b93c9eba5 100644 --- a/Library/Formula/aws-iam-tools.rb +++ b/Library/Formula/aws-iam-tools.rb @@ -1,8 +1,5 @@ require 'formula' -# Require ec2-api-tools to get the base class -require "#{File.dirname __FILE__}/ec2-api-tools.rb" - class AwsIamTools < AmazonWebServicesFormula url 'http://awsiammedia.s3.amazonaws.com/public/tools/cli/latest/IAMCli.zip' homepage 'http://developer.amazonwebservices.com/connect/entry.jspa?externalID=4143&categoryID=322' @@ -13,33 +10,32 @@ class AwsIamTools < AmazonWebServicesFormula standard_install end - def caveats - <<-EOS.undent - Before you can use these tools you must export some variables to your $SHELL - and create a file containing your aws credentials. + def caveats; <<-EOS.undent + Before you can use these tools you must export some variables to your $SHELL + and create a file containing your aws credentials. - You can access your AWS access ID and AWS secret key: - http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key + You can access your AWS access ID and AWS secret key: + http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key - You must create the file $HOME/.aws-credentials-master, here is a template: + You must create the file $HOME/.aws-credentials-master, here is a template: - # Enter the AWS Keys without the < or > - # You can either use the AWS Accounts access keys and they can be found at - # http://aws.amazon.com under Account->Security Credentials - # or you can use the access keys of a user created with IAM - AWSAccessKeyId=<Write your AWS access ID> - AWSSecretKey=<Write your AWS secret key> + # Enter the AWS Keys without the < or > + # You can either use the AWS Accounts access keys and they can be found at + # http://aws.amazon.com under Account->Security Credentials + # or you can use the access keys of a user created with IAM + AWSAccessKeyId=<Write your AWS access ID> + AWSSecretKey=<Write your AWS secret key> - To preserve your credentials don't forget to: - chmod 600 $HOME/.aws-credentials-master + To preserve your credentials don't forget to: + chmod 600 $HOME/.aws-credentials-master - To export the needed variables, add them to your dotfiles. - * On Bash, add them to `~/.bash_profile`. - * On Zsh, add them to `~/.zprofile` instead. + To export the needed variables, add them to your dotfiles. + * On Bash, add them to `~/.bash_profile`. + * On Zsh, add them to `~/.zprofile` instead. - export JAVA_HOME="$(/usr/libexec/java_home)" - export AWS_IAM_HOME="#{prefix}/jars" - export AWS_CREDENTIAL_FILE=$HOME/.aws-credentials-master + export JAVA_HOME="$(/usr/libexec/java_home)" + export AWS_IAM_HOME="#{prefix}/jars" + export AWS_CREDENTIAL_FILE=$HOME/.aws-credentials-master EOS end end diff --git a/Library/Formula/cloud-watch.rb b/Library/Formula/cloud-watch.rb index 048600f51..0f6cf8bdb 100644 --- a/Library/Formula/cloud-watch.rb +++ b/Library/Formula/cloud-watch.rb @@ -1,8 +1,5 @@ require 'formula' -# Require ec2-api-tools to get the base class -require "#{File.dirname __FILE__}/ec2-api-tools.rb" - class CloudWatch < AmazonWebServicesFormula version '1.0.12.1' homepage 'http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2534&categoryID=251' diff --git a/Library/Formula/ec2-ami-tools.rb b/Library/Formula/ec2-ami-tools.rb index 656298cc9..3ca720900 100644 --- a/Library/Formula/ec2-ami-tools.rb +++ b/Library/Formula/ec2-ami-tools.rb @@ -1,8 +1,5 @@ require 'formula' -# Require ec2-api-tools to get the base class -require "#{File.dirname __FILE__}/ec2-api-tools.rb" - class Ec2AmiTools < AmazonWebServicesFormula homepage 'http://developer.amazonwebservices.com/connect/entry.jspa?externalID=368' url 'http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools-1.3-45758.zip' diff --git a/Library/Formula/ec2-api-tools.rb b/Library/Formula/ec2-api-tools.rb index d179ae5c6..58fbc8db8 100644 --- a/Library/Formula/ec2-api-tools.rb +++ b/Library/Formula/ec2-api-tools.rb @@ -1,44 +1,5 @@ require 'formula' -# This formula serves as the base class for several very similar -# formulae for Amazon Web Services related tools. - -class AmazonWebServicesFormula < Formula - # Use this method to peform a standard install for Java-based tools, - # keeping the .jars out of HOMEBREW_PREFIX/lib - def standard_install - rm Dir['bin/*.cmd'] # Remove Windows versions - prefix.install "bin" - # Put the .jars in prefix/jars/lib, which isn't linked to the Cellar - # This will prevent conflicts with other versions of these jars. - (prefix+'jars').install 'lib' - (prefix+'jars/bin').make_symlink '../bin' - end - - # Use this method to generate standard caveats. - def standard_instructions var_name, var_value=prefix+'jars' - <<-EOS.undent - Before you can use these tools you must export some variables to your $SHELL - and download your X.509 certificate and private key from Amazon Web Services. - - Your certificate and private key are available at: - http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key - - Download two ".pem" files, one starting with `pk-`, and one starting with `cert-`. - You need to put both into a folder in your home directory, `~/.ec2`. - - To export the needed variables, add them to your dotfiles. - * On Bash, add them to `~/.bash_profile`. - * On Zsh, add them to `~/.zprofile` instead. - - export JAVA_HOME="$(/usr/libexec/java_home)" - export EC2_PRIVATE_KEY="$(/bin/ls $HOME/.ec2/pk-*.pem)" - export EC2_CERT="$(/bin/ls $HOME/.ec2/cert-*.pem)" - export #{var_name}="#{var_value}" - EOS - end -end - class Ec2ApiTools < AmazonWebServicesFormula homepage 'http://aws.amazon.com/developertools/351' url 'http://ec2-downloads.s3.amazonaws.com/ec2-api-tools-1.5.2.3.zip' diff --git a/Library/Formula/elb-tools.rb b/Library/Formula/elb-tools.rb index 8a0abfd3c..2c757ff35 100644 --- a/Library/Formula/elb-tools.rb +++ b/Library/Formula/elb-tools.rb @@ -1,8 +1,5 @@ require 'formula' -# Require ec2-api-tools to get the base class -require "#{File.dirname __FILE__}/ec2-api-tools.rb" - class ElbTools < AmazonWebServicesFormula homepage 'http://developer.amazonwebservices.com/connect/entry.jspa?categoryID=251&externalID=2536' url 'http://ec2-downloads.s3.amazonaws.com/ElasticLoadBalancing.zip' diff --git a/Library/Formula/rds-command-line-tools.rb b/Library/Formula/rds-command-line-tools.rb index 865f22c6c..7c3c72e58 100644 --- a/Library/Formula/rds-command-line-tools.rb +++ b/Library/Formula/rds-command-line-tools.rb @@ -1,8 +1,5 @@ require 'formula' -# Require ec2-api-tools to get the base class -require "#{File.dirname __FILE__}/ec2-api-tools.rb" - class RdsCommandLineTools < AmazonWebServicesFormula homepage 'http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2928' url 'http://s3.amazonaws.com/rds-downloads/RDSCli-1.3.003.zip' @@ -17,7 +14,6 @@ class RdsCommandLineTools < AmazonWebServicesFormula s += <<-EOS.undent To check that your setup works properly, run the following command: - rds-describe-db-instances --headers You should see a header line. If you have database instances already configured, diff --git a/Library/Homebrew/formula_specialties.rb b/Library/Homebrew/formula_specialties.rb index 6aa469081..330b51c3e 100644 --- a/Library/Homebrew/formula_specialties.rb +++ b/Library/Homebrew/formula_specialties.rb @@ -14,3 +14,41 @@ class GithubGistFormula < ScriptFileFormula @version=File.basename(File.dirname(url))[0,6] end end + +# This formula serves as the base class for several very similar +# formulae for Amazon Web Services related tools. +class AmazonWebServicesFormula < Formula + # Use this method to peform a standard install for Java-based tools, + # keeping the .jars out of HOMEBREW_PREFIX/lib + def standard_install + rm Dir['bin/*.cmd'] # Remove Windows versions + prefix.install "bin" + # Put the .jars in prefix/jars/lib, which isn't linked to the Cellar + # This will prevent conflicts with other versions of these jars. + (prefix+'jars').install 'lib' + (prefix+'jars/bin').make_symlink '../bin' + end + + # Use this method to generate standard caveats. + def standard_instructions var_name, var_value=prefix+'jars' + <<-EOS.undent + Before you can use these tools you must export some variables to your $SHELL + and download your X.509 certificate and private key from Amazon Web Services. + + Your certificate and private key are available at: + http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key + + Download two ".pem" files, one starting with `pk-`, and one starting with `cert-`. + You need to put both into a folder in your home directory, `~/.ec2`. + + To export the needed variables, add them to your dotfiles. + * On Bash, add them to `~/.bash_profile`. + * On Zsh, add them to `~/.zprofile` instead. + + export JAVA_HOME="$(/usr/libexec/java_home)" + export EC2_PRIVATE_KEY="$(/bin/ls $HOME/.ec2/pk-*.pem)" + export EC2_CERT="$(/bin/ls $HOME/.ec2/cert-*.pem)" + export #{var_name}="#{var_value}" + EOS + end +end |
