On Thu, Nov 14, 2013 at 5:13 PM, Nate Coraor <n...@bx.psu.edu> wrote:
> Bash is easily obtained on these systems and I think the extra functionality
> available in post-Bourne shells ought to be allowed.  I also question how
> many people are going to run tools on *BSD since most underlying
> analysis tools tend to only target Linux.

So could bash be declared an expected Galaxy dependency? i.e. The
core system libraries and tools which Tool Authors may assume, and
which Galaxy Administrators should install?

> That said, shell code should be restricted to Bourne-compatible syntax
> whenever there’s no good reason to use non-Bourne features, e.g. if
> all you’re doing is `export FOO=foo`, you should not be forcing the use
> of bash.  In cases where bash really is required (say, you’re using
> arrays), the script should explicitly specify '#!/bin/bash' (or 
> '#!/usr/bin/env
> bash'?) rather than '#!/bin/sh'.

I agree that any shell script (e.g. a tool wrapper) which is bash specific
should say that in the hash-bang line, rather than '#!/bin/sh'.

What about command line magic like -num_threads \${GALAXY_SLOTS:-8}
in a <command> tag using bash specific environment variable default values?

What about bash specific if statements in <action type="shell_command">
sections of a tool_dependencies.xml file (which is what the BLAST+
packages currently use on the main Tool Shed, pending an update
to use arch/os specific tags as tested on the Test Tool Shed)?


Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

To search Galaxy mailing lists use the unified search at:

Reply via email to