From 0e44fa6c1c240deed948cbefb196253bddd2b35d Mon Sep 17 00:00:00 2001 From: Glen Barber Date: Tue, 24 Feb 2015 21:06:25 +0000 Subject: [PATCH] Add 'cloudware-install' target to handle copying cloud disk images to a directory within DESTDIR. Add CLOUDINSTALL variable to automatically generate the actual list of install targets. While here, rename the cloud-specific names from 'vm-' to 'cw-' to avoid naming collisions. Add AZURE_DISK, GCE_DISK, and OPENSTACK_DISK output file variables. Add 'cloudware-install' to the 'install' target. MFC after: 1 week Sponsored by: The FreeBSD Foundation --- release/Makefile | 2 +- release/Makefile.vm | 25 ++++++++++++++++++++++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/release/Makefile b/release/Makefile index e469307068dd..e3485f222ad5 100644 --- a/release/Makefile +++ b/release/Makefile @@ -286,7 +286,7 @@ real-release: ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS} -install: release-install vm-install +install: release-install vm-install cloudware-install release-install: .if defined(DESTDIR) && !empty(DESTDIR) diff --git a/release/Makefile.vm b/release/Makefile.vm index 50365f579eb3..9f632ebfc31d 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -20,24 +20,28 @@ CLOUDWARE?= AZURE \ OPENSTACK AZURE_FORMAT= vhdf AZURE_DESC= Microsoft Azure platform image +AZURE_DISK= ${OSRELEASE}.${AZURE_FORMAT} GCE_FORMAT= raw GCE_DESC= Google Compute Engine image +GCE_DISK= disk.${GCE_FORMAT} OPENSTACK_FORMAT=qcow2 OPENSTACK_DESC= OpenStack platform image +OPENSTACK_DISK= ${OSRELEASE}.${OPENSTACK_FORMAT} .if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE) . for _CW in ${CLOUDWARE} -CLOUDTARGETS+= vm-${_CW:tl} -CLEANDIRS+= vm-${_CW:tl} +CLOUDTARGETS+= cw-${_CW:tl} +CLEANDIRS+= cw-${_CW:tl} CLEANFILES+= ${_CW:tl}.img \ ${_CW:tl}.${${_CW:tu}_FORMAT} \ ${_CW:tl}.${${_CW:tu}_FORMAT}.raw +CLOUDINSTALL+= cw${_CW:tl}-install ${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT} . if exists(${.CURDIR}/tools/${_CW:tl}.conf) && !defined(${_CW:tu}CONF) ${_CW:tu}CONF?= ${.CURDIR}/tools/${_CW:tl}.conf . endif -vm-${_CW:tl}: +cw-${_CW:tl}: mkdir -p ${.OBJDIR}/${.TARGET} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ ${.CURDIR}/scripts/mk-vmimage.sh \ @@ -45,6 +49,16 @@ vm-${_CW:tl}: -i ${.OBJDIR}/${_CW:tl}.img -s ${VMSIZE} -f ${${_CW}_FORMAT} \ -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW}IMAGE} -c ${${_CW}CONF} touch ${.TARGET} + +cw${_CW:tl}-install: + mkdir -p ${DESTDIR}/${_CW:tl} + cp -p ${${_CW}IMAGE} \ + ${DESTDIR}/${_CW:tl}/${${_CW}_DISK} + cd ${DESTDIR}/${_CW:tl} && sha256 ${${_CW}_DISK}* > \ + ${DESTDIR}/${_CW:tl}/CHECKSUM.SHA256 + cd ${DESTDIR}/${_CW:tl} && md5 ${${_CW}_DISK}* > \ + ${DESTDIR}/${_CW:tl}/CHECKSUM.MD5 + . endfor .endif @@ -119,3 +133,8 @@ cloudware-release: .if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE) ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${CLOUDTARGETS} .endif + +cloudware-install: +.if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE) + ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${CLOUDINSTALL} +.endif