You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Remove speculative seccomp comment from CI workflow
- Use .node-version file for Node.js version in Alpine CI
- Remove [env] CC wrapper vars from .cargo/config.toml and CI sed
- Revert O_DIRECTORY check in seccomp handler; instead consume a dir
entry in the rust_std test so getdents64 fires
- Fix misleading "musl does not support cdylib" comment; update fspy
README with musl section
- Revert to plain #[ctor::ctor] in command_for_fn! macro; remove
linkme distributed slice infrastructure and subprocess_dispatch_ctor
- Keep /proc/self/cmdline fallback for musl arg reading in init_impl
- Remove all requires_fspy from snapshot toml files and Rust code
https://claude.ai/code/session_01Cqj3gbQjb7yFe49f1tfwYv
# Alpine's Node.js package is compiled without TypeScript type-stripping.
152
155
# Install the official Node.js musl binary which includes full TypeScript support.
153
156
- name: Install Node.js from official distribution
154
157
run: |
155
-
NODE_VERSION=$(curl -fsSL https://unofficial-builds.nodejs.org/download/release/index.json | python3 -c "import sys,json; print(next(d['version'] for d in json.load(sys.stdin) if d['version'].startswith('v22.')))")
158
+
NODE_VERSION=v$(cat .node-version)
156
159
curl -fsSL "https://unofficial-builds.nodejs.org/download/release/${NODE_VERSION}/node-${NODE_VERSION}-linux-x64-musl.tar.gz" | tar -xz -C /usr/local --strip-components=1
Copy file name to clipboardExpand all lines: crates/fspy/README.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
Run a command and capture all the paths it tries to access.
4
4
5
-
## macOS/Linux implementation
5
+
## macOS/Linux (glibc) implementation
6
6
7
7
It uses `DYLD_INSERT_LIBRARIES` on macOS and `LD_PRELOAD` on Linux to inject a shared library that intercepts file system calls.
8
8
The injection process is almost identical on both platforms other than the environment variable name. The implementation is in `src/unix`.
@@ -11,6 +11,10 @@ The injection process is almost identical on both platforms other than the envir
11
11
12
12
For fully static binaries (such as `esbuild`), `LD_PRELOAD` does not work. In this case, `seccomp_unotify` is used to intercept direct system calls. The handler is implemented in `src/unix/syscall_handler`.
13
13
14
+
## Linux musl implementation
15
+
16
+
On musl targets, only `seccomp_unotify`-based tracking is used (no preload library).
17
+
14
18
## Windows implementation
15
19
16
20
It uses [Detours](https://github.com/microsoft/Detours) to intercept file system calls. The implementation is in `src/windows`.
0 commit comments