xref: /freebsd-13-stable/release/Makefile.azure (revision 6b8ca8c4e40635ef7bd62e20d014c79f017b0e7e)
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