On Sat, Mar 24, 2018 at 06:05:08PM +0100, Thomas A. Schmitz wrote:
> On 03/24/2018 05:51 PM, Mojca Miklavec wrote:
>> I reverted the change for now until someone can come up with a working 
>> command.
> Arthur's
> if command -v ldd >/dev/null && ldd --version 2>&1 | fgrep -q '^musl'
> works for me, but again, there may be other corner cases that we don't see
> now. I would suggest reversing the logic of this test: default to linux
> unless you clearly find the string "musl" in the output; don't rely on a
> zero result, which may be prevented by a number f reasons...

  I completely agree.  Even in that form, the test can fail if for
example there is no ldd in the path; which is somewhat unlikely on
Linux, but still.  Reversing the logic seems imperative; as for example

        if ! command -v ldd >/dev/null || ! ldd --version 2>&1 | grep -E -q 
'^musl'; then

  But do test thoroughly before installing, please.

  By the way, Thomas, what you wrote is slightly different from what I
suggested earlier (by one character), and it would actually make the
test fail even if you had a musl libc: fgrep tests for the presence of
the literal string “^musl” and will thus return 1.  You meant, of
course, egrep for grepping regular expressions (alias of grep -E).
That’s what I’m using in the test above, which will thus also fail if
the default grep doesn’t support the -E switch, but with my suggestion
it won’t affect the vast majority of users, since they don’t have musl.


If your question is of interest to others as well, please add an entry to the 

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net

Reply via email to