Skip to content

Conversation

@tkelman
Copy link
Contributor

@tkelman tkelman commented Jun 28, 2014

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.

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.
@vtjnash
Copy link
Member

vtjnash commented Jun 29, 2014

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.

@ihnorton
Copy link
Member

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.

cc @StefanKarpinski @JeffBezanson @ViralBShah

@tkelman
Copy link
Contributor Author

tkelman commented Jun 29, 2014

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?

@ihnorton
Copy link
Member

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.

@tkelman
Copy link
Contributor Author

tkelman commented Jun 30, 2014

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.

@tkelman
Copy link
Contributor Author

tkelman commented Jul 9, 2014

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.

@StefanKarpinski
Copy link
Member

I do not at all feel qualified to make this decision. I defer to whatever you and @ihnorton think is best.

@tkelman
Copy link
Contributor Author

tkelman commented Jul 9, 2014

It was primarily a licensing and bundling question, more than a technical one.

LICENSE.md Outdated
Copy link
Member

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.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

7-zip too

@ihnorton
Copy link
Member

See my suggestion on the LICENSE section, but otherwise I'd say LGTM. If it's ever an issue, we can take it out.

@tkelman
Copy link
Contributor Author

tkelman commented Jul 10, 2014

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?

@ihnorton
Copy link
Member

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)

tkelman added a commit that referenced this pull request Jul 11, 2014
Windows: download busybox-win32 during make win-extras
@tkelman tkelman merged commit d42b141 into JuliaLang:master Jul 11, 2014
@tkelman tkelman deleted the busybox branch July 11, 2014 00:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants