From 73d4ced07c4f3429f89997c1ee3868bae616f607 Mon Sep 17 00:00:00 2001 From: Colin Percival Date: Wed, 1 Apr 2015 00:00:17 +0000 Subject: [PATCH] Add code for creating an EC2 AMI. --- release/Makefile.ec2 | 44 ++++++++++++++++++++++++++++++++++++++++++++ release/Makefile.vm | 2 ++ 2 files changed, 46 insertions(+) create mode 100644 release/Makefile.ec2 diff --git a/release/Makefile.ec2 b/release/Makefile.ec2 new file mode 100644 index 000000000000..869ebc15264e --- /dev/null +++ b/release/Makefile.ec2 @@ -0,0 +1,44 @@ +# +# $FreeBSD$ +# +# +# Makefile for creating an EC2 AMI from a disk image. +# + +.if ${BRANCH} == "CURRENT" || ${BRANCH} == "STABLE" +AMINAMESUFFIX!= date +-%Y-%m-%d +.endif +.if defined(EC2PUBLIC) +PUBLISH= --public +.endif + +ec2ami: cw-ec2 +.if !exists(/usr/local/bin/bsdec2-image-upload) + @echo "--------------------------------------------------------------" + @echo ">>> Creating EC2 AMIs requires bsdec2-image-upload" + @echo "--------------------------------------------------------------" + @false +.endif +.if !defined(AWSKEYFILE) || !exists(${AWSKEYFILE}) + @echo "--------------------------------------------------------------" + @echo ">>> AWSKEYFILE must point at AWS keys for EC2 AMI creation" + @echo "--------------------------------------------------------------" + @false +.endif +.if !defined(AWSREGION) + @echo "--------------------------------------------------------------" + @echo ">>> AWSREGION must be specified EC2 AMI creation" + @echo "--------------------------------------------------------------" + @false +.endif +.if !defined(AWSBUCKET) + @echo "--------------------------------------------------------------" + @echo ">>> AWSBUCKET must be specified for EC2 AMI creation" + @echo "--------------------------------------------------------------" + @false +.endif + /usr/local/bin/bsdec2-image-upload ${PUBLISH} \ + ${.OBJDIR}/ec2.raw \ + "${TYPE} ${REVISION}-${BRANCH}${AMINAMESUFFIX}" \ + "${TYPE} ${REVISION}-${BRANCH}" \ + ${AWSREGION} ${AWSBUCKET} ${AWSKEYFILE} diff --git a/release/Makefile.vm b/release/Makefile.vm index 4f6afaa3f9eb..65997026504c 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -152,3 +152,5 @@ cloudware-install: .if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE) ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${CLOUDINSTALL} .endif + +.include "${.CURDIR}/Makefile.ec2"