From 9e609c5e7df7b546a5d3c613e6158c1cb23637a4 Mon Sep 17 00:00:00 2001 From: Ercan Er Date: Tue, 1 Sep 2026 19:28:46 +0300 Subject: [PATCH] fix: paketteki ikiliye calistirilabilir izni ver, surumu 0.1.6'ya cek macOS ve Linux paketlerindeki ikili dosya calistirilabilir degildi (mod 0o666). zipfile.write() ana makinenin dosya modunu kopyaliyor; paket Windows'ta uretilince Unix exec biti diye bir sey olmadigi icin kayboluyordu. Eklenti macOS'ta kurulur ama ikiliyi calistiramazdi. CI kendi Linux/macOS kosucularinda paketledigi icin oradaki paketler dogruydu; hata yalnizca Windows'tan uretilen paketlerde ortaya cikiyordu. Mod artik paketleyen isletim sisteminden bagimsiz sabitleniyor. - ZipInfo ile create_system=3 (Unix) ve external_attr = 0o755 << 16 - Surum 0.1.6 (Cargo.toml + manifest.json) Dogrulama: uc paketin de ikilisi mod 0o755, Unix kaydiyla; acma testinde macOS/Linux acicisinin uygulayacagi mod 0o755 olarak dogrulandi. Co-Authored-By: Claude Opus 5 --- Cargo.lock | 2 +- Cargo.toml | 2 +- manifest.json | 2 +- package-extension.py | 10 +++++++++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 05fa237..e849bd5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -378,7 +378,7 @@ checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "claude-code-setup" -version = "0.1.5" +version = "0.1.6" dependencies = [ "anyhow", "chrono", diff --git a/Cargo.toml b/Cargo.toml index 966a7da..1601e87 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "claude-code-setup" -version = "0.1.5" +version = "0.1.6" edition = "2021" authors = ["Ercan ER ", "Kassam "] description = "Bagimsiz Rust CLI: Claude Code ortam denetimi, dinamik MCP yonetimi, semantik + graf hafiza motoru" diff --git a/manifest.json b/manifest.json index a96677a..7dd13ae 100644 --- a/manifest.json +++ b/manifest.json @@ -2,7 +2,7 @@ "manifest_version": "0.3", "name": "claude-code-setup", "display_name": "Claude Code Setup", - "version": "0.1.5", + "version": "0.1.6", "description": "MCP management, semantic memory engine, and security auditing for Claude Code environment setup.", "author": { "name": "Ercan ER", diff --git a/package-extension.py b/package-extension.py index ba06bb0..737d974 100644 --- a/package-extension.py +++ b/package-extension.py @@ -63,7 +63,15 @@ def main() -> int: z.write(path, name) else: print(f"UYARI: atlandi (yok): {name}") - z.write(binary, entry) + # Ikiliyi calistirilabilir modla yaz. zipfile.write() ana makinenin + # dosya modunu kopyalar; Windows'ta paketlenince Unix exec biti + # kayboluyor (mod 0o666) ve paket macOS/Linux'ta "permission denied" + # ile aciliyordu. Modu paketleyen isletim sisteminden bagimsiz sabitle. + info = zipfile.ZipInfo(entry) + info.compress_type = zipfile.ZIP_DEFLATED + info.create_system = 3 # Unix + info.external_attr = 0o755 << 16 + z.writestr(info, binary.read_bytes()) size = out.stat().st_size / 1_048_576 print(f"OK: {out} ({size:.1f} MB, platform={platform}, entry_point={entry})")