-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Windows: download busybox-win32 during make win-extras #7446
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
Conversation
copy it to echo.exe and printf.exe during make dist This allows test/spawn.jl to succeed on Windows, since echo and printf are only included as shell scripts in msysgit (and an echo.bat in contrib/windows), but libuv cannot spawn shell or bat scripts.
|
Lgtm. My feeling is that we can easily expand this to provide more of the basic functionality (perhaps even add a hack so that these are "Julia shell builtin" functions) when we remove msysgit from the installer, which makes this a good approach. |
|
lgtm +1, but given the history we should probably add a note to the main Julia LICENSE page explicitly stating that we are not linking busybox. |
|
Do we have any examples of such a note currently? Rmath is also GPLv2, is ccall'ing more or less of a gray area than shelling out to an exe? |
|
It's not the GPL, just the busybox history that gives me pause (I could imagine a few companies having a "no busybox" policy similar to "no Affero GPL"). I think it's probably ok, but I'm not going to merge it myself without weigh-in. |
|
Ah yes, was unaware of that history, that could have some annoying implications. This could be useful down the line, the BSD-licensed alternatives I could find are not quite complete enough to fill the same role. There is an alternative to get this set of tests to pass in #7349 that doesn't involve pulling in a new dep, but it would need testing on Mac and FreeBSD. Or we could pull in the msys coreutils for just these two pieces, which has the same license but no relationship to busybox, and doesn't provide useful multi-call functionality for later. |
|
ping @StefanKarpinski @ViralBShah can we get a decision on this one to fix one of the last current Windows test failures? I can add notes extra places if anyone has suggested wording. |
|
I do not at all feel qualified to make this decision. I defer to whatever you and @ihnorton think is best. |
|
It was primarily a licensing and bundling question, more than a technical one. |
LICENSE.md
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about moving this and GIT to a new section "Julia bundles the following as external executables on some platforms: ..." to make a distinction between libraries we link against, and things we include and shell out to.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
7-zip too
|
See my suggestion on the LICENSE section, but otherwise I'd say LGTM. If it's ever an issue, we can take it out. |
|
Thanks, made that suggested change. If no other feedback or objections to adding this small Windows-only dependency to make more tests pass and facilitate future shelling-out emulation (as a backup when it can't be avoided in other ways), I'll merge late this afternoon. P.S: does anything in base actually use D3? |
AFAICT no. (the LICENSE note might be vestigal from the web repl that lived in base a while back) |
Windows: download busybox-win32 during make win-extras
copy it to echo.exe and printf.exe during make dist
This allows test/spawn.jl to succeed on Windows, since echo and printf
are only included as shell scripts in msysgit (and an echo.bat in
contrib/windows), but libuv cannot spawn shell or bat scripts.
This is an alternative to #7349. Use of busybox can be either removed
or expanded upon in the future when msysgit is no longer bundled with
Windows Julia, for now this is just to make the spawn tests pass.
cc @vtjnash
https://github.com/rmyorston/busybox-w32 for more info on busybox-win32 -
it's unfortunately GPLv2, but so's msysgit so no big difference there.