-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Only require FFI on Windows #132
Conversation
This is an alternative implementation to #127 |
8 similar comments
11f5a64
to
a2e19c7
Compare
This allows users to trade off between full-featured and always-deployable by removing the hard dependency on a native extension. The user of the gem needs to depend on FFI themselves to enable `posix_spawn` on Linux. For testing purposes, the Gemfile loads ffi if required by the environment.
a2e19c7
to
99f279b
Compare
Hi @enkessler, apologies for the push spam, I relaized too late that I should have done that on a private branch before PR'ing. Anyways, this should pass now, and make the FFI dependency optional on platforms that don't need it. This is much less invasive than #127, and still would fix my team's issues. Happy New Year! |
1 similar comment
2 similar comments
@DavidS I'll take another look. |
This means that for now the gem is not really usable on linux puppet agents, but it'll work for development without special casing. Final resolution of this is still in progress at enkessler/childprocess#132 and https://tickets.puppetlabs.com/browse/PDK-580
Thanks a lot for picking this up @sds. And a big thanks to @enkessler for stewardship. I know how hard OSS maintenance can be on the soul. |
Update ruby-childprocessto 3.0.0. ### Version 3.0.0 / 2019-09-20 * [#156](enkessler/childprocess#156 unused `rubyforge_project` from gemspec * [#160](enkessler/childprocess#160): Remove extension to conditionally install `ffi` gem on Windows platforms * [#160](enkessler/childprocess#160): Remove runtime dependency on `rake` gem ### Version 2.0.0 / 2019-07-11 * [#148](enkessler/childprocess#148): Drop support for Ruby 2.0, 2.1, and 2.2 * [#149](enkessler/childprocess#149): Fix Unix fork reopen to be compatible with Ruby 2.6 * [#152](https://github.com/enkessler/childprocess/pull/152)/[#154](https://github.com/enkessler/childprocess/pull/154): Fix hangs and permission errors introduced in Ruby 2.6 for leader processes of process groups ### Version 1.0.1 / 2019-02-03 * [#143](enkessler/childprocess#144): Fix installs by adding `rake` gem as runtime dependency * [#147](enkessler/childprocess#147): Relax `rake` gem constraint from `< 12` to `< 13` ### Version 1.0.0 / 2019-01-28 * [#134](enkessler/childprocess#134): Add support for non-ASCII characters on Windows * [#132](enkessler/childprocess#132): Install `ffi` gem requirement on Windows only * [#128](enkessler/childprocess#128): Convert environment variable values to strings when `posix_spawn` enabled * [#141](enkessler/childprocess#141): Support JRuby on Java >= 9
This allows users to trade off between full-featured and
always-deployable by removing the hard dependency on a native extension.
The user of the gem needs to depend on FFI themselves to enable
posix_spawn
on Linux.