1# 2# 3# 4# Makefile for uploading Microsoft Azure disk images. 5# 6 7AZURE_IMG?= ${.OBJDIR}/azure.vhdf 8AZURE_UPLOAD_TGTS= azure-check-depends \ 9 azure-do-upload 10CLEANFILES+= ${AZURE_UPLOAD_TGTS} 11 12.if defined(AZURE_UPLOAD_CONF) && !empty(AZURE_UPLOAD_CONF) 13. for VAR in _STORAGE _ACCOUNT _KEY 14AZURE${VAR}!= grep -E ^AZURE${VAR} ${AZURE_UPLOAD_CONF} | awk -F' ' '{print $$2}' 15. endfor 16.endif 17 18.if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" || ${BRANCH} == "PRERELEASE" 19SNAPSHOT_DATE!= date +-${BUILDDATE} 20.endif 21 22AZURE_TARGET:= ${OSRELEASE}${SNAPSHOT_DATE}.vhd 23 24azure-upload: ${AZURE_UPLOAD_TGTS} 25 26azure-check-depends: 27.for VAR in _STORAGE _ACCOUNT _KEY 28. if !defined(AZURE${VAR}) || empty(AZURE${VAR}) 29 @echo "Variable AZURE${VAR} cannot be empty." 30 @false 31. endif 32.endfor 33.if !exists(/usr/local/bin/azure) 34. if !exists(/usr/local/bin/npm) 35. if !exists(${PORTSDIR}/www/npm/Makefile) 36. if !exists(/usr/local/sbin/pkg-static) 37 env ASSUME_ALWAYS_YES=yes pkg bootstrap -yf 38. endif 39 env ASSUME_ALWAYS_YES=yes pkg install -y www/npm 40. else 41 env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/www/npm \ 42 BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \ 43 all install clean 44. endif 45. endif 46 npm install -g azure-cli 47.endif 48 49azure-do-upload: 50 /usr/local/bin/azure storage blob upload \ 51 ${AZURE_IMG} ${AZURE_STORAGE} ${AZURE_TARGET} \ 52 -t page -a ${AZURE_ACCOUNT} -k "${AZURE_KEY}" 53 touch ${.OBJDIR}/${.TARGET} 54 55