mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-27 00:33:30 +00:00
cloudware: allow disk format to be a list
Make basic-cloudinit available both in qcow2 and raw formats MFC After: 3 days Co-Authored-By: bapt Sponsored by: OVHCloud (original patch from bapt) Differential Revision: https://reviews.freebsd.org/D44747
This commit is contained in:
parent
ab95bca998
commit
5c213bf01a
@ -30,7 +30,7 @@ AZURE_DESC= Microsoft Azure platform image
|
||||
BASIC-CI_FORMAT= raw
|
||||
BASIC-CI_FSLIST?= ufs
|
||||
BASIC-CI_DESC= Image for CI
|
||||
BASIC-CLOUDINIT_FORMAT= raw
|
||||
BASIC-CLOUDINIT_FORMAT= raw qcow2
|
||||
BASIC-CLOUDINIT_FSLIST?= ufs zfs
|
||||
BASIC-CLOUDINIT_DESC?= Images for VM with cloudinit disk config support
|
||||
EC2_FORMAT= raw
|
||||
@ -103,32 +103,44 @@ QEMUTGT?=
|
||||
${_CW:tu}CONF?= ${.CURDIR}/tools/${_CW:tl}.conf
|
||||
. endif
|
||||
. for _FS in ${${_CW:tu}_FSLIST}
|
||||
CLOUDTARGETS+= cw-${_CW:tl}-${_FS}
|
||||
CLEANDIRS+= cw-${_CW:tl}-${_FS}
|
||||
CLEANFILES+= ${_CW:tl}.${_FS}.img \
|
||||
${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT} \
|
||||
${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT}.raw
|
||||
${_CW:tu}${_FS:tu}IMAGE= ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT}
|
||||
. for _FMT in ${${_CW:tu}_FORMAT}
|
||||
CLOUDTARGETS+= cw-${_CW:tl}-${_FS}-${_FMT}
|
||||
CLEANDIRS+= cw-${_CW:tl}-${_FS}-${_FMT}
|
||||
CLEANFILES+= ${_CW:tl}.${_FS}.${_FMT}.img \
|
||||
${_CW:tl}.${_FS}.${_FMT} \
|
||||
${_CW:tl}.${_FS}.${_FMT}.raw
|
||||
${_CW:tu}${_FS:tu}${_FMT:tu}IMAGE= ${_CW:tl}.${_FS}.${_FMT}
|
||||
|
||||
cw-${_CW:tl}-${_FS}: ${QEMUTGT}
|
||||
cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT}
|
||||
mkdir -p ${.OBJDIR}/${.TARGET}
|
||||
env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \
|
||||
QEMUSTATIC=${QEMUSTATIC} \
|
||||
${.CURDIR}/scripts/mk-vmimage.sh \
|
||||
-C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} -F ${_FS} \
|
||||
-i ${.OBJDIR}/${_CW:tl}.${_FS}.img -s ${VMSIZE} -f ${${_CW:tu}_FORMAT} \
|
||||
-S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}${_FS:tu}IMAGE} -c ${${_CW:tu}CONF}
|
||||
-i ${.OBJDIR}/${_CW:tl}.${_FS}.${_FMT}.img -s ${VMSIZE} -f ${_FMT} \
|
||||
-S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}${_FS:tu}${_FMT:tu}IMAGE} -c ${${_CW:tu}CONF}
|
||||
touch ${.TARGET}
|
||||
. endfor
|
||||
. endfor
|
||||
|
||||
# Hardlinks from "foo.bar" to "foo-${VMFS}.bar". These can go away once all
|
||||
# of the cloudware code knows how to handle multiple filesystem images (or
|
||||
# Hardlinks from "foo.${FMT}" to "foo-${VMFS}.${FMT}". These can go away once
|
||||
# all of the cloudware code knows how to handle multiple filesystem images (or
|
||||
# at least knows the name of the UFS image).
|
||||
CLOUDTARGETS+= cw-${_CW:tl}
|
||||
CLEANFILES+= ${_CW:tl}.${${_CW:tu}_FORMAT}
|
||||
${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT}
|
||||
cw-${_CW:tl}: cw-${_CW:tl}-${VMFS}
|
||||
ln -f ${${_CW:tu}${VMFS:tu}IMAGE} ${${_CW:tu}IMAGE}
|
||||
. for _FMT in ${${_CW:tu}_FORMAT}
|
||||
CLOUDTARGETS+= cw-${_CW:tl}-${_FMT}
|
||||
CLEANFILES+= ${_CW:tl}.${_FMT}
|
||||
${_CW:tu}${_FMT:tu}IMAGE= ${_CW:tl}.${_FMT}
|
||||
cw-${_CW:tl}-${_FMT}: cw-${_CW:tl}-${VMFS}-${_FMT}
|
||||
ln -f ${${_CW:tu}${VMFS:tu}${_FMT:tu}IMAGE} ${${_CW:tu}${_FMT:tu}IMAGE}
|
||||
. endfor
|
||||
|
||||
# Targets without a disk format listed are the first disk format on the list
|
||||
. for _FS in ${${_CW:tu}_FSLIST}
|
||||
${_CW:tu}${_FS:tu}IMAGE= ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT:[1]}
|
||||
cw-${_CW:tl}-${_FS}: cw-${_CW:tl}-${_FS}-${${_CW:tu}_FORMAT:[1]}
|
||||
. endfor
|
||||
${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT:[1]}
|
||||
cw-${_CW:tl}: cw-${_CW:tl}-${${_CW:tu}_FORMAT:[1]}
|
||||
. endfor
|
||||
.endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user