Skip to content

Commit 7097444

Browse files
committed
release/vm: add a WITHOUT_QEMU option
This option disables trying to build a qemu-<target>-static and simply doesn't do any of the operations that rely on it. At a glance, all appear to be useful, but not essential to building simple images without packages.
1 parent b184ded commit 7097444

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

release/Makefile.vm

+8-1
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,18 @@ VMDK_DESC= VMWare, VirtualBox disk image
2121
QCOW2_DESC= Qemu, KVM disk image
2222
RAW_DESC= Unformatted raw disk image
2323

24+
.if defined(WITHOUT_QEMU) && !empty(WITHOUT_QEMU)
25+
CLOUDWARE_TYPES?= \
26+
BASIC-CI
27+
.else
2428
CLOUDWARE_TYPES?= AZURE \
2529
BASIC-CI \
2630
BASIC-CLOUDINIT \
2731
EC2 \
2832
GCE \
2933
ORACLE \
3034
VAGRANT
35+
.endif
3136
AZURE_FORMAT= vhdf
3237
AZURE_FSLIST?= ufs zfs
3338
AZURE_DESC= Microsoft Azure platform image
@@ -94,7 +99,7 @@ emulator-portinstall:
9499
.endif
95100
touch ${.TARGET}
96101

97-
.if ${TARGET_ARCH} != ${MACHINE_ARCH}
102+
.if ${TARGET_ARCH} != ${MACHINE_ARCH} && !defined(WITHOUT_QEMU) && !empty(WITHOUT_QEMU)
98103
.if ( ${TARGET_ARCH} != "i386" ) || ( ${MACHINE_ARCH} != "amd64" )
99104
QEMUSTATIC=/usr/local/bin/qemu-${TARGET_ARCH}-static
100105
QEMUTGT=emulator-portinstall
@@ -120,6 +125,7 @@ cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT}
120125
mkdir -p ${.OBJDIR}/${.TARGET}
121126
env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \
122127
QEMUSTATIC=${QEMUSTATIC} \
128+
WITHOUT_QEMU=${WITHOUT_QEMU} \
123129
${.CURDIR}/scripts/mk-vmimage.sh \
124130
-C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} -F ${_FS} \
125131
-i ${.OBJDIR}/${_CW:tl}.${_FS}.${_FMT}.img -s ${VMSIZE} -f ${_FMT} \
@@ -169,6 +175,7 @@ vm-image: ${QEMUTGT}
169175
mkdir -p ${.OBJDIR}/${.TARGET}-${FORMAT}-${FS}
170176
env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \
171177
QEMUSTATIC=${QEMUSTATIC} \
178+
WITHOUT_QEMU=${WITHOUT_QEMU} \
172179
${.CURDIR}/scripts/mk-vmimage.sh \
173180
-C ${.CURDIR}/tools/vmimage.subr \
174181
-d ${.OBJDIR}/${.TARGET}-${FORMAT}-${FS} -F ${FS} \

release/tools/vmimage.subr

+11
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ vm_install_base() {
8888
}
8989

9090
vm_emulation_setup() {
91+
if [ -n "${WITHOUT_QEMU}" ]; then
92+
return 0
93+
fi
9194
if ! [ -z "${QEMUSTATIC}" ]; then
9295
export EMULATOR=/qemu
9396
cp ${QEMUSTATIC} ${DESTDIR}/${EMULATOR}
@@ -129,6 +132,10 @@ vm_extra_enable_services() {
129132
}
130133

131134
vm_extra_install_packages() {
135+
if [ -n "${WITHOUT_QEMU}" ]; then
136+
return 0
137+
fi
138+
132139
if [ -z "${VM_EXTRA_PACKAGES}" ]; then
133140
return 0
134141
fi
@@ -157,6 +164,10 @@ vm_extra_pre_umount() {
157164
}
158165

159166
vm_emulation_cleanup() {
167+
if [ -n "${WITHOUT_QEMU}" ]; then
168+
return 0
169+
fi
170+
160171
if ! [ -z "${QEMUSTATIC}" ]; then
161172
rm -f ${DESTDIR}/${EMULATOR}
162173
fi

0 commit comments

Comments
 (0)