From e1363cf15122199a9d83cf7b1d96d433cace004f Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Sat, 23 Nov 2024 06:18:17 -0800 Subject: [PATCH] Make protoc writable before signing --- scripts/vendor-protoc.cjs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/vendor-protoc.cjs b/scripts/vendor-protoc.cjs index 28efc3f6..5295ddc1 100644 --- a/scripts/vendor-protoc.cjs +++ b/scripts/vendor-protoc.cjs @@ -1,7 +1,7 @@ const decompress = require('decompress'); const Downloader = require('nodejs-file-downloader'); const path = require('node:path'); -const { rmSync, mkdirSync, cpSync, existsSync } = require('node:fs'); +const { rmSync, mkdirSync, cpSync, existsSync, statSync, chmodSync } = require('node:fs'); const { execSync } = require('node:child_process'); const VERSION = '28.3'; @@ -67,6 +67,11 @@ mkdirSync(dstDir, { recursive: true }); cpSync(includeSrc, includeDst, { recursive: true }); rmSync(tmpDir, { recursive: true, force: true }); + // Make binary writable, so we can sign it during release + const stat = statSync(binDst); + const newMode = stat.mode | 0o200; + chmodSync(binDst, newMode); + console.log('Downloaded protoc to', binDst); })().catch((err) => console.log('Script failed:', err));