git: bd1e789b8452 - main - Make "make update-packages" idempotent

From: Alan Somers <asomers_at_FreeBSD.org>
Date: Fri, 08 May 2026 15:18:08 UTC
The branch main has been updated by asomers:

URL: https://cgit.FreeBSD.org/src/commit/?id=bd1e789b8452a8c2f166a3b4defb95330c71dadd

commit bd1e789b8452a8c2f166a3b4defb95330c71dadd
Author:     Alan Somers <asomers@FreeBSD.org>
AuthorDate: 2026-05-07 18:18:29 +0000
Commit:     Alan Somers <asomers@FreeBSD.org>
CommitDate: 2026-05-08 15:17:57 +0000

    Make "make update-packages" idempotent
    
    If the user runs "make update-packages" without bumping BRANCH, then it
    isn't possible to copy packages from the old location to the new one
    (because the two locations are the same).  So just skip that step.
    
    Sponsored by:           ConnectWise
    PR:                     295085
    MFC after:              1 week
    Reviewed by:            ivy, emaste
    Differential Revision:  https://reviews.freebsd.org/D56872
---
 Makefile.inc1 | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Makefile.inc1 b/Makefile.inc1
index b07b5f9c1a65..2927054c2e83 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -2128,7 +2128,7 @@ real-packages:	stage-packages create-packages sign-packages .PHONY
 
 real-update-packages: stage-packages .PHONY
 	${_+_}${MAKE} -C ${.CURDIR} PKG_VERSION=${PKG_VERSION} create-packages
-.if defined(PKG_VERSION_FROM_DIR)
+.if defined(PKG_VERSION_FROM_DIR) && ${PKG_VERSION} != ${PKG_VERSION_FROM}
 	@echo "==> Checking for new packages (comparing ${PKG_VERSION} to ${PKG_VERSION_FROM})"
 	@for pkg in ${PKG_VERSION_FROM_DIR}/${PKG_NAME_PREFIX}-*; do \
 	  pkgname=$$(${PKG_CMD} query -F $${pkg} '%n' | sed 's/${PKG_NAME_PREFIX}-\(.*\)/\1/') ; \
@@ -2146,6 +2146,8 @@ real-update-packages: stage-packages .PHONY
 	    echo "==> New package $${newpkgname}" ; \
 	  fi ; \
 	done
+.elif defined(PKG_VERSION_FROM_DIR)
+	@echo "==> Package version ${PKG_VERSION} unchanged, keeping old package set"
 .else
 	@echo "==> Bootstrapping repository, not checking for new packages"
 .endif