[Bug 614451] Review Request: rubygem-gherkin - A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.
bugzilla at redhat.com
bugzilla at redhat.com
Mon Jul 19 20:01:19 UTC 2010
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=614451
--- Comment #8 from Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> 2010-07-19 16:01:17 EDT ---
For 2.1.5-1:
? pushd / popd
- By the way "pushd" is used many times but no corresponding
"popd" can be seen.
* About empty debuginfo rpm and
"No such file or directory" message from /usr/lib/rpm/find-debuginfo.sh
- Well, the problem behind here is that the C codes used here
contain "#line" directive.
e.g. ext/gherkin_lexer_ar/gherkin_lexer_ar.c contains:
--------------------------------------------------------------------------
91 #line 92 "ext/gherkin_lexer_ar/gherkin_lexer_ar.c"
92 static const char _lexer_actions[] = {
--------------------------------------------------------------------------
With this, find-debuginfo.sh tries to find
"ext/gherkin_lexer_ar/gherkin_lexer_ar.c" (relative to the directory
of this file), however it is not found.
This sometime happens that the C codes to be used are generated
automatically by some other softwares (such as bison, in this case
perhaps ragel).
Possible solution:
- Create needed symlink, like:
--------------------------------------------------------------------------
rm -rf ../lib/*.so
for lexer_dir in */ ; do
pushd $lexer_dir
mkdir ext
pushd ext
ln -sf .. ${lexer_dir%/}
popd
sed -i 's/ -O0 / -O2 /' extconf.rb
CONFIGURE_ARGS="--with-cflags='%{optflags}'" ruby extconf.rb
make clean && make RPM_OPT_FLAGS="$RPM_OPT_FLAGS"
make install RUBYARCHDIR="../../lib"
popd
done
--------------------------------------------------------------------------
See "ln -sf" line and around it.
! By the way, I think "for lexer_dir in */ ; do" is simpler.
http://koji.fedoraproject.org/koji/taskinfo?taskID=2329549
- Remove "#line foo" lines from C codes.
* Default working directory
--------------------------------------------------------------------------
pushd %{_builddir}/%{name}-%{version}/%{geminstdir}/ext
--------------------------------------------------------------------------
- Here "%{_builddir}/%{name}-%{version}" can be replaced with
simply ".", because %setup -q sets the default working directory
to %{_builddir}/%{name}-%{version}.
? -doc subpackage
- By the way would you consider to create -doc subpackage?
I think at least the following files are not needed on runtime
by default:
--------------------------------------------------------------------------
%{geminstdir}/Rakefile
%{geminstdir}/ext
%{geminstdir}/tasks
%{gemdir}/doc/%{gemname}-%{version}
--------------------------------------------------------------------------
* One more gemspec specification file error
- Well,
--------------------------------------------------------------------------
[tasaka1 at localhost ~]$ gherkin
/usr/lib/ruby/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': RubyGem
version error: trollop(1.15 not ~> 1.16.2) (Gem::LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:214:in `activate'
from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:249:in `activate'
from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:248:in `each'
from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:248:in `activate'
from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:1082:in `gem'
from /usr/bin/gherkin:18
--------------------------------------------------------------------------
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the package-review
mailing list