git: 2b9c818d8db3 - main - pkgbase: fix decision logic to keep the old packages
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 10 Sep 2024 16:08:10 UTC
The branch main has been updated by bapt:
URL: https://cgit.FreeBSD.org/src/commit/?id=2b9c818d8db30389c366746e60efa665c0d591cc
commit 2b9c818d8db30389c366746e60efa665c0d591cc
Author: Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2024-09-10 15:56:44 +0000
Commit: Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2024-09-10 16:05:29 +0000
pkgbase: fix decision logic to keep the old packages
when running update-package, we try to keep as much as possible the old
packages to avoid wasting users bandwidth. the previous code was failing
at catching properly the "snap" extension and we lost incremental build.
With this new code we only stop checking we we have an old package with
the same checksum if we transition from:
- alpha to beta
- beta to rc
- rc to release
but we keep old packages when we transition from release to p1 or when
we stay on a given snapshot
PR: 281393
Reported by: Evgenii Khramtsov <throwaway_vthgwq4@protonmail.com>
---
Makefile.inc1 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile.inc1 b/Makefile.inc1
index ec1db75234b2..57141a482433 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -2038,7 +2038,7 @@ PKG_EXT= pkg
.if exists(${PKG_ABI_FILE}) && exists(${REPODIR}/${PKG_ABI})
PKG_VERSION_FROM!=/usr/bin/readlink ${REPODIR}/${PKG_ABI}/latest
PKG_VERSION_FROM_DIR= ${REPODIR}/${PKG_ABI}/${PKG_VERSION_FROM}
-BRANCH_EXT_FROM= ${PKG_VERSION_FROM:C/.*([[:alpha:]][^\.]*).*/\1/}
+BRANCH_EXT_FROM= ${PKG_VERSION_FROM:C/^[^[:alpha:]]+p?([[:alpha:]]*)[0-9]+$/\1/}
.else
PKG_VERSION_FROM=
PKG_VERSION_FROM_DIR=
@@ -2079,7 +2079,7 @@ real-update-packages: stage-packages .PHONY
continue; \
fi ; \
newsum=$$(pkg query -F ${REPODIR}/${PKG_ABI}/${PKG_VERSION}/$${newpkgname} '%X') ; \
- if [ "${BRANCH_EXT_FROM}" == "${BRANCH_EXT}" -a "$${oldsum}" == "$${newsum}" ]; then \
+ if [ "${BRANCH_EXT_FROM}" == "${BRANCH_EXT:C/[0-9]+$//}" -a "$${oldsum}" == "$${newsum}" ]; then \
echo "==> Keeping old ${PKG_NAME_PREFIX}-$${pkgname}-${PKG_VERSION_FROM}.${PKG_EXT}" ; \
rm ${REPODIR}/${PKG_ABI}/${PKG_VERSION}/$${newpkgname} ; \
cp $${pkg} ${REPODIR}/${PKG_ABI}/${PKG_VERSION} ; \