diff options
| author | Yuri Victorovich <yuri@FreeBSD.org> | 2026-04-08 02:18:42 +0000 |
|---|---|---|
| committer | Yuri Victorovich <yuri@FreeBSD.org> | 2026-04-08 02:45:26 +0000 |
| commit | b650f87ba1527c31aa0248d2d9da9a635ace264f (patch) | |
| tree | a4d21a4ba8ea900bb4e77cd7d8f58ba799a4e9fb | |
| parent | 496f1d411453530fa0c8f0afd9f8dd90a3c5bc93 (diff) | |
misc/github-copilot-cli: Lock fetch to prevent conflicts between flavors
| -rw-r--r-- | misc/github-copilot-cli/Makefile | 28 |
1 files 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} \ |
