From 045c7dd63a1a6347dcdc50418221423cd1f35cb8 Mon Sep 17 00:00:00 2001 From: morluto <76467478+morluto@users.noreply.github.com> Date: Fri, 23 Oct 2026 21:03:50 +0800 Subject: [PATCH] fix(pyinstaller): retain executable member metadata Fixes #6702 --- src/artifacts/pyinstaller/CArchiveMembers.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/artifacts/pyinstaller/CArchiveMembers.ts b/src/artifacts/pyinstaller/CArchiveMembers.ts index ff9bacd190..6e0669133a 100644 --- a/src/artifacts/pyinstaller/CArchiveMembers.ts +++ b/src/artifacts/pyinstaller/CArchiveMembers.ts @@ -96,6 +96,7 @@ export const projectStoredMember = ( kind: symlink ? "symlink" : "file", declaredSize, compressedSize: entry.compressedSize, + executable: entry.typeCode === "b", byteOffset: sourceByteOffset(entry, archiveStart), limitations, adapterKey: `carchive:${String(entry.index)}:${entry.name}`, @@ -316,6 +317,7 @@ const fileEntry = (input: { readonly limitations: readonly string[]; readonly adapterKey: string; readonly formatMetadata: PyInstallerEntryMetadata; + readonly executable?: boolean; readonly encrypted?: boolean; readonly kind?: "file" | "symlink" | "metadata"; }): ArtifactEntry => ({ @@ -323,7 +325,7 @@ const fileEntry = (input: { kind: input.kind ?? "file", declaredSize: input.declaredSize, compressedSize: input.compressedSize, - executable: false, + executable: input.executable === true, encrypted: input.encrypted === true, byteOffset: input.byteOffset, declaredIntegrity: null,