From nobody Mon Oct 06 19:40:21 2025 X-Original-To: dev-commits-src-main@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 4cgV3p1dJyz6BRht; Mon, 06 Oct 2025 19:40:22 +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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cgV3n6wGGz3FLx; Mon, 06 Oct 2025 19:40:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759779622; 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=sW6N8sJSl83yPDd3CVDOYYXvr2pcqfC7C4CGO9015ik=; b=Ls5K/qGW1DZkNzeS0k5J1MkelllEdRxwPTFvYaYXdj3TXfRk9T0S8WhoIJ2YSZIfjP0H8N 7NE9JZmDUUyhn0P8khn8AnXEqNj2rNd+Z1PkANeNFWXJQHbX32QWjHDk/U8ZXdbFzTcw2D gMpKHRoW3//LfG/GBkOW+CxKIUDCP1GDQPmInWa/JIOkBn6BmfHjt8gIXU2t4BCNW8Ap6w JTq90bOVerec6M12KxAsujLhg0r+qUkPZ/JJ2FE27yA1hfQlOYDXWUfbT61e/49hN7Q3RQ Q3UOyi6U4Bae96ZcIlYKi+d+GrISgVN6fsnayakQpp03UuI/tOo/cadxu7iOTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759779622; 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=sW6N8sJSl83yPDd3CVDOYYXvr2pcqfC7C4CGO9015ik=; b=RoPIDG+oNIjqPnLNqtnR/EhyL8bvyiNPilw3pUlWstO8O4rSCmajODwVZbZ71Pe/93+cxW 90o0scPnpV1jM/voBnMLQRYx4K8xRgCgal7v914+A6CMSo+J1rAIJp823P+zR6j2ZjNmpb FWfPRO4nMflHrJyUM5FtqaXqaIZfxOjlnwt5VJIwOyS3ynLFO7AOdw/QZJOAQxPRQO/kC9 i0ujuX1FCT47qM1jG1fw7BXEF7ncwuJe6DicG+uvu+Cn4oJxVWeeou/LQCmtqMpCe/dERP h4xDovjmZAO+PuQKR4hBMELBtsf9ggdyQVh+x5f7FepMkAjR58P07c3UavaHmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1759779622; a=rsa-sha256; cv=none; b=id422hslqeEFxGx/jZfpViCCbegksdGAxv+NX5zatxqwb1axIxxXCTUEMJiLxLVsOhCVdm 0Uo5NuqO1yXG7UhhjXE5asKiavVP4TFpYo8GPjih/7bAAmF/Tu3+qGLZt1tw5MTCTqRgHZ xPGYb3fr9sQuL2armqM9wsN1HGW9aBSMVwxKLMHwMarJcy6LKgh1IO4sng+olzY3V5dbiE CabJzjC2Txxbx4m1xIaQ2i4uZ2B5C1kvkzgBo1/fwjgUTYDGHkloOj/Xz/U3Wb90XLtAP7 qJDnpMwtIKdv/xs6buP/3DVOy2F6bl+1xCW04qwWVwP1v/e6759Cc5ixYqG9VA== 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 4cgV3n6WFLz1BfP; Mon, 06 Oct 2025 19:40:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 596JeL01029373; Mon, 6 Oct 2025 19:40:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 596JeLev029370; Mon, 6 Oct 2025 19:40:21 GMT (envelope-from git) Date: Mon, 6 Oct 2025 19:40:21 GMT Message-Id: <202510061940.596JeLev029370@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: 2d184465e8bb - main - release: Rework VM package selection using sets List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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: 2d184465e8bb77d4620f509b04f19ea22656f28e Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=2d184465e8bb77d4620f509b04f19ea22656f28e commit 2d184465e8bb77d4620f509b04f19ea22656f28e Author: Colin Percival AuthorDate: 2025-10-06 05:25:08 +0000 Commit: Colin Percival CommitDate: 2025-10-06 19:40:07 +0000 release: Rework VM package selection using sets Filtering the list of packages broke with the introduction of package sets, since we excluded FreeBSD-src.* but still included FreeBSD-set-src, which transitively included the FreeBSD-src and FreeBSD-src-sys packages. This could be fixed by excluding package sets, but that would be fragile, potentially breaking upgrades if new packages are introduced. Instead, start with an explicit set of package sets: base, base-dbg lib32, lib32-dbg kernels, kernels-dbg tests and filter the package sets; the EC2 "small" and "builder" AMIs filter out everything except "base" and "kernels". Note that using FreeBSD-set-kernels may pose a problem in the future if we start shipping packages for multiple differently-configured kernels. That will be addressed if and when that problem arises. Reviewed by: ivy MFC after: 3 days Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D52922 --- release/tools/ec2-builder.conf | 2 +- release/tools/ec2-small.conf | 2 +- release/tools/vmimage.subr | 21 ++++++++++----------- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/release/tools/ec2-builder.conf b/release/tools/ec2-builder.conf index 36837fd86f9c..a55485fec0cd 100644 --- a/release/tools/ec2-builder.conf +++ b/release/tools/ec2-builder.conf @@ -16,7 +16,7 @@ vm_extra_filter_base_packages() { grep -v \ -e '.*-dbg$' \ -e '.*-lib32$' \ - -e '^FreeBSD-tests.*' + -e '^FreeBSD-set-tests' } # Packages to install into the image we're creating. In addition to packages diff --git a/release/tools/ec2-small.conf b/release/tools/ec2-small.conf index 9b64c215d8a5..acaffbbc0c42 100644 --- a/release/tools/ec2-small.conf +++ b/release/tools/ec2-small.conf @@ -19,7 +19,7 @@ vm_extra_filter_base_packages() { grep -v \ -e '.*-dbg$' \ -e '.*-lib32$' \ - -e '^FreeBSD-tests.*' + -e '^FreeBSD-set-tests' } # Packages to install into the image we're creating. In addition to packages diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index cae8a113871e..131ebe37db6c 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -70,15 +70,15 @@ vm_copy_base() { return 0 } -vm_filter_base_packages() { - # Reads a list of all base system packages from stdin. - # Writes a list of base system packages to install to stdout. - grep -v -e '^FreeBSD-src.*' -e '^FreeBSD-kernel.*' - # There are several kernel variants available in separate packages. - # For VMs it is sufficient to install only the generic kernel. - echo "FreeBSD-kernel-man" - echo "FreeBSD-kernel-generic" - echo "FreeBSD-kernel-generic-dbg" +vm_base_packages_list() { + # Output a list of package sets equivalent to what we get from + # "installworld installkernel distribution", aka. the full base + # system. + for S in base lib32 kernels; do + echo FreeBSD-set-$S + echo FreeBSD-set-$S-dbg + done + echo FreeBSD-set-tests } vm_extra_filter_base_packages() { @@ -99,8 +99,7 @@ vm_install_base() { pkg_cmd="$pkg_cmd -o METALOG=METALOG" fi $pkg_cmd update - selected=$($pkg_cmd rquery -U -r FreeBSD-base %n | \ - vm_filter_base_packages | vm_extra_filter_base_packages) + selected=$(vm_base_packages_list | vm_extra_filter_base_packages) $pkg_cmd install -U -r FreeBSD-base $selected else cd ${WORLDDIR} && \