[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/