[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