[ 
https://issues.apache.org/jira/browse/AVRO-827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13039581#comment-13039581
 ] 

Doug Cutting commented on AVRO-827:
-----------------------------------

Avro has a dependency on bash that this patch does not remove.  There are five 
build.sh bash scripts currently in the Avro source tree, plus a few other bash 
scripts (lang/c/version.sh, share/test/interop/test_rpc_interop.sh).  

In Hadoop we found it difficult to reliably maintain shell scripts without 
explicitly stating a shell variant.  Someone would change things on a system 
with one implementation of /bin/sh and this would not work on a system with a 
different implementation of /bin/sh.

One portability problem we do have is that bash is not always installed in the 
same place in all operating systems.  So, instead of using '#!/bin/bash' we 
might start using '#!/usr/bin/env bash' as Hadoop has done.  That should make 
these bash scripts work on more operating systems.  Would that be acceptable?


> Use portable shell syntax for build.sh
> --------------------------------------
>
>                 Key: AVRO-827
>                 URL: https://issues.apache.org/jira/browse/AVRO-827
>             Project: Avro
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 1.6.0
>         Environment: Operating systems with a POSIX compliant {{/bin/sh}}.
>            Reporter: Joseph Koshy
>              Labels: bash, build, posix, sh
>         Attachments: build.sh.txt
>
>   Original Estimate: 0.25h
>  Remaining Estimate: 0.25h
>
> Avro's {{build.sh}} script cannot be executed by a POSIX compatible {{sh}}.
> {quote}
> % /bin/sh build.sh
> build.sh: 24: function: not found
> {quote}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to