Moved installBinary and installDependencyTo from Program.Patchelf module to Platform.Linux module. Program modules are intended to contain simple wrappers over program commands. More complex actions involving calling multiple programs do not belong there.
installBinary temporarily changes patched binary file permissions to make it writeable. Even though this is a copy that we own it might be non-writable — this blocks Azure-based CI, as Docker containers are used with non-root user there (and installed libraries are read-only).
This PR:
Moved
installBinary
andinstallDependencyTo
fromProgram.Patchelf
module toPlatform.Linux
module. Program modules are intended to contain simple wrappers over program commands. More complex actions involving calling multiple programs do not belong there.installBinary
temporarily changes patched binary file permissions to make it writeable. Even though this is a copy that we own it might be non-writable — this blocks Azure-based CI, as Docker containers are used with non-root user there (and installed libraries are read-only).