Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Apr 2026 02:45:31 +0000
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: b650f87ba152 - main - misc/github-copilot-cli: Lock fetch to prevent conflicts between flavors
Message-ID:  <69d5c14b.41ed0.7df69d8e@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b650f87ba1527c31aa0248d2d9da9a635ace264f

commit b650f87ba1527c31aa0248d2d9da9a635ace264f
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-04-08 02:18:42 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-04-08 02:45:26 +0000

    misc/github-copilot-cli: Lock fetch to prevent conflicts between flavors
---
 misc/github-copilot-cli/Makefile | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/misc/github-copilot-cli/Makefile b/misc/github-copilot-cli/Makefile
index 10a73175a1b4..982d9008fe9b 100644
--- a/misc/github-copilot-cli/Makefile
+++ b/misc/github-copilot-cli/Makefile
@@ -19,7 +19,8 @@ binary_PKGNAMESUFFIX=	-bin
 binary_COMMENT=	GitHub Copilot CLI - standalone binary (no npm dependencies)
 binary_PLIST=	${.CURDIR}/pkg-plist.binary
 
-FETCH_DEPENDS=	npm:www/npm \
+FETCH_DEPENDS=	flock:sysutils/flock \
+		npm:www/npm \
 		jq:textproc/jq \
 		${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss
 
@@ -31,6 +32,8 @@ DD=		${DISTDIR}/${DIST_SUBDIR}
 
 FETCH_SCRIPT=	${PORTSDIR}/Tools/scripts/npmjs-fetch-with-dependencies.sh
 
+FETCH_LOCKFILE=	${DD}/fetch.lock
+
 .if ${FLAVOR} == script
 DISTFILES+=	${NODE_HEADERS}${EXTRACT_SUFX}
 
@@ -99,40 +102,41 @@ PLIST_SUB=	JS_ARCH=${JS_ARCH}
 
 do-fetch:
 	@${MKDIR} ${DD}
-	@if ! [ -f ${DD}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} ]; then \
+	@exec 9>${FETCH_LOCKFILE} && flock -x 9 && \
+	if ! [ -f ${DD}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} ]; then \
 		${ECHO} "====> Fetching ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}" && \
 		${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \
 			${PACKAGE_NAME} ${DISTVERSION} \
 			${FILESDIR}/package-lock.json \
 			${DD}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}; \
-	fi
-	@if ! [ -f ${DD}/${NODE_HEADERS}${EXTRACT_SUFX} ]; then \
+	fi && \
+	if ! [ -f ${DD}/${NODE_HEADERS}${EXTRACT_SUFX} ]; then \
 		${ECHO} "====> Fetching ${NODE_HEADERS}${EXTRACT_SUFX}" && \
 		${FETCH_CMD} -q https://nodejs.org/download/release/v22.19.0/${NODE_HEADERS}${EXTRACT_SUFX} \
 			-o ${DD}/${NODE_HEADERS}${EXTRACT_SUFX}; \
-	fi
-	@if ! [ -f ${DD}/pty-${dep_pty_version}${EXTRACT_SUFX} ]; then \
+	fi && \
+	if ! [ -f ${DD}/pty-${dep_pty_version}${EXTRACT_SUFX} ]; then \
 		${ECHO} "====> Fetching dependency pty" && \
 		${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \
 			${dep_pty_npm_name} ${dep_pty_version} \
 			${FILESDIR}/package-lock-pty.json \
 			${DD}/pty-${dep_pty_version}${EXTRACT_SUFX}; \
-	fi
-	@if ! [ -f ${DD}/sharp-${dep_sharp_version}${EXTRACT_SUFX} ]; then \
+	fi && \
+	if ! [ -f ${DD}/sharp-${dep_sharp_version}${EXTRACT_SUFX} ]; then \
 		${ECHO} "====> Fetching dependency sharp" && \
 		${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \
 			${dep_sharp_npm_name} ${dep_sharp_version} \
 			${FILESDIR}/package-lock-sharp.json \
 			${DD}/sharp-${dep_sharp_version}${EXTRACT_SUFX}; \
-	fi
-	@if ! [ -f ${DD}/keytar-${dep_keytar_version}${EXTRACT_SUFX} ]; then \
+	fi && \
+	if ! [ -f ${DD}/keytar-${dep_keytar_version}${EXTRACT_SUFX} ]; then \
 		${ECHO} "====> Fetching dependency keytar" && \
 		${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \
 			${dep_keytar_npm_name} ${dep_keytar_version} \
 			${FILESDIR}/package-lock-keytar.json \
 			${DD}/keytar-${dep_keytar_version}${EXTRACT_SUFX}; \
-	fi
-	@if ! [ -f ${DD}/node-addon-api-${dep_node_addon_api_version}${EXTRACT_SUFX} ]; then \
+	fi && \
+	if ! [ -f ${DD}/node-addon-api-${dep_node_addon_api_version}${EXTRACT_SUFX} ]; then \
 		${ECHO} "====> Fetching dependency node-addon-api" && \
 		${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \
 			${dep_node_addon_api_npm_name} ${dep_node_addon_api_version} \


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69d5c14b.41ed0.7df69d8e>