release: Add a MISSING_METALOGS hack to VMs

The packages for 15.0-RELEASE built without the bug fix needed to make
files created via @sample get properly listed in METALOG.  Fix the
cloudware which contain @sample-using packages by adding the necessary
files to METALOG manually.

This should be reverted after the next full package build, and live on
only in releng/15.0.

Reviewed by:	markj
MFC after:	immediately (15.0-RC2)
Differential Revision:	https://reviews.freebsd.org/D53797
This commit is contained in:
Colin Percival
2025-11-17 17:04:55 -08:00
parent 0dbb00733c
commit f6e9474ebd
5 changed files with 55 additions and 0 deletions
+10
View File
@@ -18,6 +18,16 @@ export NOSWAP=YES
# https://learn.microsoft.com/en-us/partner-center/marketplace/azure-vm-certification-faq#vm-images-must-have-1-mb-of-free-space
export VM_BOOTPARTSOFFSET=1M
# Hack for FreeBSD 15.0; should go away before 15.1.
MISSING_METALOGS="
./usr/local/etc/pam.d/sudo
./usr/local/etc/ssl/cert.pem
./usr/local/etc/sudo.conf
./usr/local/etc/sudo_logsrvd.conf
./usr/local/etc/sudoers
./usr/local/etc/waagent.conf
"
vm_extra_pre_umount() {
# Remove the pkg package and repo databases as they will likely
# be out of date by the time the image is used. In unprivileged
+12
View File
@@ -9,6 +9,18 @@ export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} amazon-ssm-agent net/cloud-init"
# Services to enable in rc.conf(5).
export VM_RC_LIST="${VM_RC_LIST} cloudinit sshd"
# Hack for FreeBSD 15.0; should go away before 15.1.
MISSING_METALOGS="
./usr/local/etc/cloud/cloud.cfg
./usr/local/etc/cloud/cloud.cfg.d/05_logging.cfg
./usr/local/etc/cloud/cloud.cfg.d/99_freebsd.cfg
./usr/local/etc/pam.d/sudo
./usr/local/etc/ssl/cert.pem
./usr/local/etc/sudo.conf
./usr/local/etc/sudo_logsrvd.conf
./usr/local/etc/sudoers
"
vm_extra_pre_umount() {
# Configuration common to all EC2 AMIs
ec2_common
+10
View File
@@ -17,6 +17,16 @@ export VM_RC_LIST="ntpd sshd growfs \
google_accounts_daemon google_clock_skew_daemon \
google_instance_setup google_network_daemon"
# Hack for FreeBSD 15.0; should go away before 15.1.
MISSING_METALOGS="
./usr/local/etc/instance_configs.cfg.distro
./usr/local/etc/pam.d/sudo
./usr/local/etc/sudo.conf
./usr/local/etc/sudo_logsrvd.conf
./usr/local/etc/sudoers
./usr/local/etc/syslog.d/90-google.conf
"
vm_extra_install_base() {
echo 'search google.internal' > ${DESTDIR}/etc/resolv.conf
echo 'nameserver 169.254.169.254' >> ${DESTDIR}/etc/resolv.conf
+13
View File
@@ -39,6 +39,19 @@ export VM_RC_LIST="
sshd
zfs"
# Hack for FreeBSD 15.0; should go away before 15.1.
MISSING_METALOGS="
./usr/local/etc/cloud/cloud.cfg
./usr/local/etc/cloud/cloud.cfg.d/05_logging.cfg
./usr/local/etc/cloud/cloud.cfg.d/99_freebsd.cfg
./usr/local/etc/pam.d/sudo
./usr/local/etc/rsync/rsyncd.conf
./usr/local/etc/ssl/cert.pem
./usr/local/etc/sudo.conf
./usr/local/etc/sudo_logsrvd.conf
./usr/local/etc/sudoers
"
vm_extra_pre_umount() {
cat <<-'EOF' >> ${DESTDIR}/etc/rc.conf
dumpdev=AUTO
+10
View File
@@ -334,6 +334,16 @@ buildfs() {
metalog_add_data ./var/db/services.db
fi
if [ -n "${MISSING_METALOGS}" ]; then
# Hack to allow VM configurations to add files which
# weren't being added to METALOG appropriately. This
# is mainly a workaround for the @sample bug and it
# should go away before FreeBSD 15.1 ships.
for P in ${MISSING_METALOGS}; do
metalog_add_data ${P}
done
fi
# Sort METALOG file; makefs produces directories with 000 permissions
# if their contents are seen before the directories themselves.
env -i LC_COLLATE=C sort -u ${DESTDIR}/METALOG > ${DESTDIR}/METALOG.sorted