aboutsummaryrefslogtreecommitdiff
path: root/release/Makefile.azure
blob: 01e2204d08f4fa3234d4a7703321c32071bbc148 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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}