diff --git a/release/Makefile.vm b/release/Makefile.vm --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -82,6 +82,17 @@ . endif .endfor +.if !defined(NOPKGBASE) || empty(NOPKGBASE) +.if ${BRANCH} == CURRENT || ${BRANCH} == STABLE +SUBURL= base_latest +.else +SUBURL= base_release_${REVISION:C/[0-9]+\.//} +.endif +PKGBASE_CONF= FreeBSD-base.conf +FreeBSD-base.conf: scripts/FreeBSD-base.conf.in + sed "s|%%SUBURL%%|${SUBURL}|" < ${.ALLSRC} > ${.TARGET} +.endif + emulator-portinstall: .if !exists(/usr/local/bin/qemu-${TARGET_ARCH}-static) .if exists(${PORTSDIR}/emulators/qemu-user-static/Makefile) @@ -131,7 +142,7 @@ cw-${_CW:tl}-${_FS}-${_FMT}: cw-ec2-base-${_FS}-${_FMT} .endif -cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} ${PKGBASE_REPO_DIR} +cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} ${PKGBASE_REPO_DIR} ${PKGBASE_CONF} mkdir -p ${.OBJDIR}/${.TARGET} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ QEMUSTATIC=${QEMUSTATIC} \ @@ -187,7 +198,7 @@ vm-base: vm-image -vm-image: ${QEMUTGT} ${PKGBASE_REPO_DIR} +vm-image: ${QEMUTGT} ${PKGBASE_REPO_DIR} ${PKGBASE_CONF} .if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) . for FORMAT in ${VMFORMATS} . for FS in ${VMFSLIST} diff --git a/release/scripts/FreeBSD-base.conf.in b/release/scripts/FreeBSD-base.conf.in new file mode 100644 --- /dev/null +++ b/release/scripts/FreeBSD-base.conf.in @@ -0,0 +1,7 @@ +FreeBSD-base: { + url: "pkg+https://pkg.FreeBSD.org/${ABI}/%%SUBURL%%", + mirror_type: "srv", + signature_type: "fingerprints", + fingerprints: "/usr/share/keys/pkg", + enabled: yes +} diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -99,6 +99,9 @@ selected=$($pkg_cmd rquery -U -r FreeBSD-base %n | \ vm_filter_base_packages | vm_extra_filter_base_packages) $pkg_cmd install -U -r FreeBSD-base $selected + + mkdir -p ${DESTDIR}/etc/pkg/repos/ + cp FreeBSD-base.conf ${DESTDIR}/etc/pkg/repos/FreeBSD-base.conf else cd ${WORLDDIR} && \ make DESTDIR=${DESTDIR} ${INSTALLOPTS} \