mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-11-17 21:25:19 +01:00
The munin-node service used wrapProgram to inject environment variables. This doesn't work because munin plugins depend on argv[0], which is overwritten when the executable is a script with a shebang line (example below). This commit removes the wrappers and instead passes the required environment variables to munin-node. Eliminating the wrappers resulted in some broken plugins, e.g., meminfo and hddtemp_smartctl. That was fixed with the per-plugin configuration. Example: The plugin if_eth0 is a symlink to /.../plugins/if_, which uses $0 to determine that it should monitor traffic on the eth0 interface. if_ is a wrapped program, and runs `exec -a "$0" .if_-wrapped` .if_-wrapped has a "#!/nix/.../bash" line, which results in bash changing $0, and as a result the plugin thinks my interface is called "-wrapped". |
||
|---|---|---|
| .. | ||
| config | ||
| hardware | ||
| i18n/input-method | ||
| installer | ||
| misc | ||
| profiles | ||
| programs | ||
| security | ||
| services | ||
| system | ||
| tasks | ||
| testing | ||
| virtualisation | ||
| module-list.nix | ||
| rename.nix | ||