1280928Scperciva#
2280928Scperciva# $FreeBSD: releng/11.0/release/Makefile.ec2 301716 2016-06-09 03:54:25Z cperciva $
3280928Scperciva#
4280928Scperciva#
5280928Scperciva# Makefile for creating an EC2 AMI from a disk image.
6280928Scperciva#
7280928Scperciva
8284811Sgjb.if ${BRANCH} == "CURRENT" || ${BRANCH} == "STABLE" || ${BRANCH} == "PRERELEASE"
9285005SgjbAMINAMESUFFIX!=	date +-%Y-%m-%d
10280928Scperciva.endif
11280928Scperciva.if defined(EC2PUBLIC)
12280928ScpercivaPUBLISH=	--public
13280928Scperciva.endif
14280928Scperciva
15282419SgjbCLEANFILES+=		ec2ami
16282419Sgjb
17282419Sgjb.if !exists(/usr/local/bin/bsdec2-image-upload)
18282419SgjbCW_EC2_PORTINSTALL=	cw-ec2-portinstall
19282419SgjbCLEANFILES+=		${CW_EC2_PORTINSTALL}
20282419Sgjb.else
21282419SgjbCW_EC2_PORTINSTALL=
22282419Sgjb.endif
23282419Sgjb
24282116Sgjbcw-ec2-portinstall:
25282116Sgjb.if exists(${PORTSDIR}/net/bsdec2-image-upload/Makefile)
26301716Scperciva	env - PATH=$$PATH make -C ${PORTSDIR}/net/bsdec2-image-upload BATCH=1 all install clean
27282116Sgjb.else
28282116Sgjb. if !exists(/usr/local/sbin/pkg-static)
29282116Sgjb	env ASSUME_ALWAYS_YES=yes pkg bootstrap -y
30282116Sgjb. endif
31282116Sgjb	env ASSUME_ALWAYS_YES=yes pkg install -y net/bsdec2-image-upload
32280928Scperciva.endif
33282419Sgjb	@touch ${.TARGET}
34282116Sgjb
35282419Sgjbec2ami: cw-ec2 ${CW_EC2_PORTINSTALL}
36280928Scperciva.if !defined(AWSKEYFILE) || !exists(${AWSKEYFILE})
37280928Scperciva	@echo "--------------------------------------------------------------"
38280928Scperciva	@echo ">>> AWSKEYFILE must point at AWS keys for EC2 AMI creation"
39280928Scperciva	@echo "--------------------------------------------------------------"
40280928Scperciva	@false
41280928Scperciva.endif
42280928Scperciva.if !defined(AWSREGION)
43280928Scperciva	@echo "--------------------------------------------------------------"
44280928Scperciva	@echo ">>> AWSREGION must be specified EC2 AMI creation"
45280928Scperciva	@echo "--------------------------------------------------------------"
46280928Scperciva	@false
47280928Scperciva.endif
48280928Scperciva.if !defined(AWSBUCKET)
49280928Scperciva	@echo "--------------------------------------------------------------"
50280928Scperciva	@echo ">>> AWSBUCKET must be specified for EC2 AMI creation"
51280928Scperciva	@echo "--------------------------------------------------------------"
52280928Scperciva	@false
53280928Scperciva.endif
54293739Scperciva	/usr/local/bin/bsdec2-image-upload ${PUBLISH} --sriov \
55283919Sgjb	    ${.OBJDIR}/ec2.raw \
56283919Sgjb	    "${TYPE} ${REVISION}-${BRANCH}-${TARGET}${AMINAMESUFFIX}" \
57283919Sgjb	    "${TYPE} ${REVISION}-${BRANCH}-${TARGET}" \
58280928Scperciva	    ${AWSREGION} ${AWSBUCKET} ${AWSKEYFILE}
59282419Sgjb	@touch ${.TARGET}
60