[ruby-dev:50070] [Ruby trunk Bug#13424][Open] Solaris10上で make update-rubyspec が bad substitution で失敗

From: ngotogenome@...
Date: 2017-04-12 12:38:15 UTC
List: ruby-dev #50070
Issue #13424 has been updated by ngoto (Naohisa Goto).

Status changed from Closed to Open

r58327 で確認しましたが失敗したので再オープンします。

~~~
$ make update-rubyspec V=1                                    
./tool/git-refresh -C ./spec  \                                                 
        git://github.com/ruby/mspec.git mspec                                   
make: *** [update-mspec] Error 1                                                
~~~

以下のように expr が exit code 1 を返しており、set -e しているため即座に終了となっているように見えます。

~~~
$ dir=mspec; expr "$dir" : '*/\(.*\)'; echo $?

1
~~~

なお、上記は SolarisでもLinuxでも1を返します。


----------------------------------------
Bug #13424: Solaris10上で make update-rubyspec が bad substitution で失敗
https://bugs.ruby-lang.org/issues/13424#change-64195

* Author: ngoto (Naohisa Goto)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
おそらく r58217 以降、Solaris 10 上にて、 make update-rubyspec が以下のように失敗します。

~~~
$ make update-rubyspec V=1
./tool/git-refresh -C ./spec  \
        git://github.com/ruby/mspec.git mspec 
./tool/git-refresh: bad substitution
make: *** [update-mspec] Error 1
~~~

`"${dir#*/}"` がSolarisの/bin/shでは事実上使いものにならないのが原因のようです。

~~~
$ dir=/this/is/example
$ echo ${dir#*/}
bad substitution
~~~





-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next