Page MenuHomePhabricator

MediaWiki::shell with parameter fails on Windows
Open, HighPublic

Description

Executing Shell::command( $wgScoreLilyPond, '--version' ) returns score-versionerr with the message:

'c:\LilyPond\usr\bin\lilypond.exe" "--version' is not recognized as an internal or external command, operable program, or batch file.

Notably, the quotation marks are quite odd in the error message. This works under Vagrant though. It only fails on Windows. Extending the issue, this probably also affects the rendering stage.

Event Timeline

Ebe123 created this task.Dec 28 2017, 11:14 PM
Ebe123 triaged this task as High priority.Dec 28 2017, 11:19 PM

Shell::command( $wgScoreLilyPond . '--version' ) works (notice concatenation instead of parametration) on Windows.

Ebe123 added a subscriber: Legoktm.Dec 29 2017, 2:10 AM
MaxSem added a subscriber: MaxSem.Feb 26 2018, 9:36 PM

I have an easy fix for this issue in particular (does not fix the other shell issue related to non-blocking pipes in Windows). Should I send a PR against master for mediawiki/core repo?

Reedy added a comment.Oct 24 2018, 4:31 PM

I have an easy fix for this issue in particular (does not fix the other shell issue related to non-blocking pipes in Windows). Should I send a PR against master for mediawiki/core repo?

On gerrit, yes

Change 471885 had a related patch set uploaded (by Juan Osorio (Microsoft); owner: Juan Osorio (Microsoft)):
[mediawiki/core@master] Fixes shell edge-cases in Windows

https://gerrit.wikimedia.org/r/471885

Krenair added a subscriber: Krenair.Nov 9 2018, 6:25 PM

Change 471885 had a related patch set uploaded (by TheDJ; owner: Juan Osorio (Microsoft)):
[mediawiki/core@master] Fixes shell edge-cases in Windows

https://gerrit.wikimedia.org/r/471885