From nobody Wed Aug 09 22:45:17 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLlWL2Ghzz4mPWG; Wed, 9 Aug 2023 22:45:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLlWK61yLz4MQS; Wed, 9 Aug 2023 22:45:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691621117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/yeN9w/X+j8+VkOuKQyOxV3NtRqqBgx7LCaQbxZCpqs=; b=ejDeKF1ylfPqyypj5vJvLiWMsjOlDe+tzrboUpOZGCQOTLduK96GxvJJEe4AZdzup74ewO eSzQFONAmXsntxC/67QKk9OY0jlRprBL7ksDa+mS6pMwwlU9qHW5vxZ9V8s85p/WmP7MM4 hW6IBYdpPwgdygSuFZyIYxifJyz6CVGvKaJdZWMpw707tkrCdK8hxKbZrlIa3PVOhtFbz3 wB7t8WrGyswNS8Div0+81+rhcU0jPO1QjFE/DDPXAY6TAczmpJc8cQiLDsgKevAdrzckdQ A4eglEIJwVtKUYrTTKI1Alnyd/d5gXpg166h68idT3SdCBHu3166qpIE/kYCIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691621117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/yeN9w/X+j8+VkOuKQyOxV3NtRqqBgx7LCaQbxZCpqs=; b=uoOX+JRCFo6QFktPNarhXk7ipzr9QIfvITNG0wLsRifWoK4LxiHysuS3UIQWMgQRqbMFSX Hdcd8YgZEyDA583VoViexWHILJFSnnGWOmoKrFzGpo4MlSq/ZYXZr4VGJ839liEHnc4KV6 M16g8YkLVO3G/n/PXVg6eqe21UF1lvUEcGubVqjC7eC5+JcuU2gkpHe8t8s11lBoYywxch oMqoekIub2ZIip6POTHiYYMA7JY6n7oh6huCa8f40K3ByVM7RNQcpKonuKUzVJMb8BZsJ9 fXblKBwcvD6ljOhsPdep5hLvlka9tskFFSoHkpPLdV49twWnLVc4kzlYQfHw6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691621117; a=rsa-sha256; cv=none; b=fkM+veKAeUYzwPsi+oaGK+zcrkUJrQd3frZBk64ZqlmEYxRmVMwqbXLTSGN4gkqGA97ZjG PTdOGKfsSsvkbM89RnlHTTCf86CdS1Ou8GFUxszcsJXnKySyQ6gkDOif97KAK58rdxEIZm NW1yUDYM42cTmFiieTdRzh9HvwtJhHgMtLKBgSD/dulE9JYA06LQmIZojg9YO1isZCV6os ADZYT4MGOkO7KYGoK1GrU3a76mw5E0hVw6+LyrKaTX0LTx2vdejNqWWSIYuOkdV8Z8nyl5 wx2E6C3dyaZim8r3SuQZ3gFayl8haLU9UnoFkUgaXrj733j+fFR9/kgHeEe6Iw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLlWK4pClzYwX; Wed, 9 Aug 2023 22:45:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 379MjH08058607; Wed, 9 Aug 2023 22:45:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 379MjH8e058604; Wed, 9 Aug 2023 22:45:17 GMT (envelope-from git) Date: Wed, 9 Aug 2023 22:45:17 GMT Message-Id: <202308092245.379MjH8e058604@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 8dec47387b25 - main - release: Build cloudware with multiple FS types List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8dec47387b251006df45b7ee3080c62816139850 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=8dec47387b251006df45b7ee3080c62816139850 commit 8dec47387b251006df45b7ee3080c62816139850 Author: Colin Percival AuthorDate: 2023-08-07 01:54:39 +0000 Commit: Colin Percival CommitDate: 2023-08-09 22:44:54 +0000 release: Build cloudware with multiple FS types New ${CW}_FSLIST settings control the list of filesystem types with which each cloudware image will be built; currently these are all set to "ufs", i.e. no change from previous. The cloudware images have their filesystem type as part of their file name; for backwards compatibilty the ${VMFS} image is linked to the previously used file name. This compatibility can be removed once all the cloudware uploading/publishing code has been updated to use the new image names (possibly more than one of them). Reviewed by: gjb Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D41341 --- release/Makefile.vm | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index 0ab683c090ef..a76e78a20f21 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -25,27 +25,35 @@ CLOUDWARE?= BASIC-CI \ VAGRANT-VIRTUALBOX \ VAGRANT-VMWARE AZURE_FORMAT= vhdf +AZURE_FSLIST= ufs AZURE_DESC= Microsoft Azure platform image AZURE_DISK= ${OSRELEASE}.${AZURE_FORMAT} BASIC-CI_FORMAT= raw +BASIC-CI_FSLIST= ufs BASIC-CI_DESC= Image for CI BASIC-CI_DISK= ${OSRELEASE}.${BASIC-CI_FORMAT} EC2_FORMAT= raw +EC2_FSLIST= ufs EC2_DESC= Amazon EC2 image EC2_DISK= ${OSRELEASE}.${EC2_FORMAT} GCE_FORMAT= raw +GCE_FSLIST= ufs GCE_DESC= Google Compute Engine image GCE_DISK= disk.${GCE_FORMAT} OCI_FORMAT= qcow2 +OCI_FSLIST= ufs OCI_DESC= Oracle Cloud Infrastructure image OCI_DISK= ${OSRELEASE}.${OCI_FORMAT} OPENSTACK_FORMAT=qcow2 +OPENSTACK_FSLIST= ufs OPENSTACK_DESC= OpenStack platform image OPENSTACK_DISK= ${OSRELEASE}.${OPENSTACK_FORMAT} VAGRANT-VIRTUALBOX_FORMAT= vmdk +VAGRANT-VIRTUALBOX_FSLIST= ufs VAGRANT-VIRTUALBOX_DESC= Vagrant Image for VirtualBox VAGRANT-VIRTUALBOX_DISK= ${OSRELEASE}.vbox.${VAGRANT_FORMAT} VAGRANT-VMWARE_FORMAT= vmdk +VAGRANT-VMWARE_FSLIST= ufs VAGRANT-VMWARE_DESC= Vagrant Image for VMWare VAGRANT-VMWARE_DISK= ${OSRELEASE}.vmware.${VAGRANT_FORMAT} @@ -75,27 +83,38 @@ QEMUSTATIC=/usr/local/bin/qemu-${TARGET_ARCH}-static .if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE) . for _CW in ${CLOUDWARE} -CLOUDTARGETS+= cw-${_CW:tl} -CLEANDIRS+= cw-${_CW:tl} -CLEANFILES+= ${_CW:tl}.img \ - ${_CW:tl}.${${_CW:tu}_FORMAT} \ - ${_CW:tl}.${${_CW:tu}_FORMAT}.raw \ - cw${_CW:tl}-package -CLOUDPACKAGE+= cw${_CW:tl}-package -${_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 +. 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${_CW:tl}-package +CLOUDPACKAGE+= cw${_CW:tl}-package +${_CW:tu}${_FS:tu}IMAGE= ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT} -cw-${_CW:tl}: emulator-portinstall +cw-${_CW:tl}-${_FS}: emulator-portinstall 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 ${VMFS} \ - -i ${.OBJDIR}/${_CW:tl}.img -s ${VMSIZE} -f ${${_CW:tu}_FORMAT} \ - -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}IMAGE} -c ${${_CW:tu}CONF} + -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} touch ${.TARGET} +. 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 +# 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} cw${_CW:tl}-package: @# Special target to handle packaging cloud images in the formats