diff --git a/engine-sources.lock.json b/engine-sources.lock.json index 6d34897..8a4807a 100644 --- a/engine-sources.lock.json +++ b/engine-sources.lock.json @@ -26,8 +26,8 @@ "x86_64-unknown-linux-gnu": { "yt-dlp": { "version": "2026.06.09", - "url": "https://github.com/yt-dlp/yt-dlp/releases/download/2026.06.09/yt-dlp_linux", - "sha256": "bf8aac79b72287a6d2043074415132558b43743a8f9461a22b0141e90f16ce66" + "url": "https://github.com/yt-dlp/yt-dlp/releases/download/2026.06.09/yt-dlp_linux.zip", + "sha256": "217bbc9c3ed19ea75a7f151a3e48dbfeac7f459a7dce2deeeecc2d6e2871bd5b" }, "deno": { "version": "2.9.0", diff --git a/scripts/provision-engines.js b/scripts/provision-engines.js index 18dd491..1e91222 100644 --- a/scripts/provision-engines.js +++ b/scripts/provision-engines.js @@ -38,11 +38,10 @@ const executableSuffix = isWindows ? '.exe' : ''; async function download(name, source) { const sourcePath = new URL(source.url).pathname; - let ext = ''; - if (sourcePath.endsWith('.tar.xz')) ext = '.tar.xz'; - else if (sourcePath.endsWith('.zip')) ext = '.zip'; - - const archive = path.join(temporary, `${name}${ext}`); + const archive = path.join( + temporary, + `${name}${sourcePath.endsWith('.tar.xz') ? '.tar.xz' : '.zip'}` + ); const response = await fetch(source.url, { redirect: 'follow' }); if (!response.ok || !response.body) { throw new Error(`Failed to download ${name}: HTTP ${response.status}`); @@ -66,12 +65,8 @@ async function download(name, source) { fs.mkdirSync(extracted); if (archive.endsWith('.zip') && process.platform !== 'win32') { execFileSync('unzip', ['-q', archive, '-d', extracted], { stdio: 'inherit' }); - } else if (archive.endsWith('.zip') || archive.endsWith('.tar.xz')) { - execFileSync('tar', ['-xf', archive, '-C', extracted], { stdio: 'inherit' }); } else { - const finalPath = path.join(extracted, `${name}${executableSuffix}`); - fs.copyFileSync(archive, finalPath); - fs.chmodSync(finalPath, 0o755); + execFileSync('tar', ['-xf', archive, '-C', extracted], { stdio: 'inherit' }); } return extracted; }