From 09f6569e5191dfb407d3fff26528eb92f71f7329 Mon Sep 17 00:00:00 2001 From: gjb Date: Sun, 21 Jun 2015 04:39:34 +0000 Subject: [PATCH] MFC r284567: Add Makefile.azure, used to upload VHD images to the Microsoft Azure environment, similar to the EC2 AMIs. Sponsored by: The FreeBSD Foundation git-svn-id: svn://svn.freebsd.org/base/stable/10@284661 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- release/Makefile.azure | 53 ++++++++++++++++++++++++++++++++++++++++++ release/Makefile.vm | 1 + 2 files changed, 54 insertions(+) create mode 100644 release/Makefile.azure diff --git a/release/Makefile.azure b/release/Makefile.azure new file mode 100644 index 000000000..01e2204d0 --- /dev/null +++ b/release/Makefile.azure @@ -0,0 +1,53 @@ +# +# $FreeBSD$ +# +# +# Makefile for uploading Microsoft Azure disk images. +# + +AZURE_IMG?= ${.OBJDIR}/azure.vhdf +AZURE_UPLOAD_TGTS= azure-check-depends \ + azure-do-upload +CLEANFILES+= ${AZURE_UPLOAD_TGTS} + +.if defined(AZURE_UPLOAD_CONF) && !empty(AZURE_UPLOAD_CONF) +. for VAR in _STORAGE _ACCOUNT _KEY +AZURE${VAR}!= grep -E ^AZURE${VAR} ${AZURE_UPLOAD_CONF} | awk -F' ' '{print $$2}' +. endfor +.endif + +.if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" +SNAPSHOT_DATE!= date +-%Y-%m-%d +.endif + +AZURE_TARGET:= ${OSRELEASE}${SNAPSHOT_DATE}.vhd + +azure-upload: ${AZURE_UPLOAD_TGTS} + +azure-check-depends: +.for VAR in _STORAGE _ACCOUNT _KEY +. if !defined(AZURE${VAR}) || empty(AZURE${VAR}) + @echo "Variable AZURE${VAR} cannot be empty." + @false +. endif +.endfor +.if !exists(/usr/local/bin/azure) +. if !exists(/usr/local/bin/npm) +. if !exists(${PORTSDIR}/www/npm/Makefile) +. if !exists(/usr/local/sbin/pkg-static) + env ASSUME_ALWAYS_YES=yes pkg bootstrap -yf +. endif + env ASSUME_ALWAYS_YES=yes pkg install -y www/npm +. else + make -C ${PORTSDIR}/www/npm BATCH=1 all install clean +. endif +. endif + npm install -g azure-cli +.endif + +azure-do-upload: + /usr/local/bin/azure storage blob upload \ + ${AZURE_IMG} ${AZURE_STORAGE} ${AZURE_TARGET} \ + -t page -a ${AZURE_ACCOUNT} -k "${AZURE_KEY}" + touch ${.OBJDIR}/${.TARGET} + diff --git a/release/Makefile.vm b/release/Makefile.vm index a2dc14dae..68fb2f351 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -154,3 +154,4 @@ cloudware-install: .endif .include "${.CURDIR}/Makefile.ec2" +.include "${.CURDIR}/Makefile.azure" -- 2.45.0