Files
Tomasz Feliksik e71de6ec0a vscode-extensions.ms-dotnettools.csharp: write install.Lock into $out
roslyn-copilot's postFetch wrote install.Lock with a relative path, so the
marker never reached the output. fetchzip runs a package's postFetch with
cwd = $TMPDIR/unpack, which stripRoot has already emptied by moving the
payload to $out, so the file was created in the build tree and discarded
with it.

The extension's runtime-dependency installer treats a component as
installed only when <installPath>/install.Lock exists. Without it
.roslynCopilot is considered not-installed, so on activation the installer
tries to touch .roslynCopilot/install.Begin. On a read-only store
(mutableExtensionsDir = false) that fails with EROFS and the extension
reports that .NET debugging will not be enabled.

Writing the marker into $out changes the fetch output, hence the new hash.

Assisted-by: Claude Code (Claude Opus 4.8)
2026-07-24 15:17:04 +02:00
..