[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
Sat Jul 17 18:36:34 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

Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mtasaka at ioa.s.u-tokyo.ac.jp

--- Comment #3 from Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> 2010-07-17 14:36:32 EDT ---
Initial notes:

* Macros
  - %ruby_sitelib macro seems used nowhere.
  - %rubyabi is defined nowhere.

* Version
  - Latest seems 2.1.4

* BuildRoot
  - BuildRoot tag is no longer used on Fedora.
    (BuildRoot tag is still needed on EPEL)

* Compiler flags
  - Fedora specific compiler flags are not correctly
    honored.
-------------------------------------------------------------
   292  Building native extensions.  This could take a while...
   293  /usr/bin/ruby extconf.rb
   294  checking for main() in -lc... yes
   295  creating Makefile
   296  make
   297  gcc -I. -I. -I/usr/lib/ruby/1.8/i386-linux -I. -D_FILE_OFFSET_BITS=64
-fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom
-fasynchronous-unwind-tables -O0 -Wall -Werror  -c gherkin_lexer_ar.c
   298  gcc -shared -o gherkin_lexer_ar.so gherkin_lexer_ar.o -L. -L/usr/lib
-L.  -rdynamic -Wl,-export-dynamic    -lruby -lc  -lpthread -lrt -ldl -lcrypt
-lm   -lc
   299  make install
   300  /usr/bin/install -c -m 0755 gherkin_lexer_ar.so
/builddir/build/BUILD/rubygem-gherkin-2.1.3/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/lib
-------------------------------------------------------------
    - Here Fedora uses optimization level "-O2" for gcc, which
      is overwritten by the latter "-O0".
      This is because extconf.rb files included in gem override CFLAGS.
      For example, ./ext/gherkin_lexer_ar/extconf.rb says:
-------------------------------------------------------------
     3  $CFLAGS << ' -O0 -Wall -Werror' if CONFIG['CC'] =~ /gcc/
-------------------------------------------------------------

      Unfortunately extconf.rb is in gem file and this cannot be modified
      until gem is once installed (i.e. compilation is once done).
      Unless you have an idea, you have to
      - Once install gem file under %_builddir (like now)
      - modify extconf.rb
      - and recompile C codes again.

* ext/ directory / C extension .so files
  - Files under ext/ directory are usually for compiling C extension .so
    files and should not be needed once .so files are created.
  - Arch-dependent C extension .so files should be installed under
    %ruby_sitearch:
   
https://fedoraproject.org/wiki/Packaging/Ruby#Ruby_packages_with_binary_content.2Fshared_libraries

* Directory ownership issue
  - The following directories are not owned by any packages:
-------------------------------------------------------------
%{geminstdir}
%{geminstdir}/bin
-------------------------------------------------------------

* rpmlint issue
  - Please check your srpm and rebuilt binary rpms with rpmlint:
--------------------------------------------------------------
rubygem-gherkin-debuginfo.i686: E: debuginfo-without-sources
    - Please create debuginfo rpm correctly
      ! Note
        build.log says many warnings when creating debuginfo rpm
        like:
--------------------------------------------------------------
   918  cpio:
rubygem-gherkin-2.1.3/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/ext/gherkin_lexer_ar/ext/gherkin_lexer_ar/gherkin_lexer_ar.c:
Cannot stat: No such file or directory
   919  cpio:
rubygem-gherkin-2.1.3/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/ext/gherkin_lexer_bg/ext/gherkin_lexer_bg/gherkin_lexer_bg.c:
Cannot stat: No such file or directory
   920  cpio:
rubygem-gherkin-2.1.3/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/ext/gherkin_lexer_ca/ext/gherkin_lexer_ca/gherkin_lexer_ca.c:
Cannot stat: No such file or directory
--------------------------------------------------------------
        Note that "ext/gherkin_lexer_ar" is repeated here. You may have to
        create some symlinks so that /usr/lib/rpm/find-debuginfo.sh can find
        the corresponding source files properly.

rubygem-gherkin.i686: W: no-soname
/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/lib/gherkin_lexer_ar.so
rubygem-gherkin.i686: W: no-soname
/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/lib/gherkin_lexer_bg.so
(and others)
    - As far as I checked rpmlint codes to see why these rpmlint warnings
arose,
      these rpmlint warnings can be ignored. However anyway these .so files
must
      be moved to under %ruby_sitearch.

rubygem-gherkin.i686: E: script-without-shebang
/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/tasks/compile.rake
rubygem-gherkin.i686: E: script-without-shebang
/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/tasks/ragel_task.rb
    - Usually permissions are incorrect. Please check if these files have 0644
permission.

rubygem-gherkin.i686: E: version-control-internal-file
/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/ikvm/.gitignore
rubygem-gherkin.i686: E: version-control-internal-file
/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/java/.gitignore
rubygem-gherkin.i686: E: version-control-internal-file
/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/java/src/main/java/gherkin/lexer/.gitignore
(and others)
    - These files should be removed.

rubygem-gherkin.i686: W: wrong-file-end-of-line-encoding
/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/spec/gherkin/fixtures/dos_line_endings.feature
rubygem-gherkin.i686: W: wrong-file-end-of-line-encoding
/usr/lib/ruby/gems/1.8/gems/gherkin-2.1.3/spec/gherkin/fixtures/with_bom.feature
    - Usually dos2unix or 'sed -i -e "s|\r||"' fixes these.

* gemspec specifications file
  - Installed gherkin-2.1.3.gemspec contains:
----------------------------------------------------------------
    28      if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
    29        s.add_runtime_dependency(%q<trollop>, ["~> 1.16.2"])
    30        s.add_development_dependency(%q<rspec>, ["~> 2.0.0.beta.15"])
    31        s.add_development_dependency(%q<cucumber>, ["~> 0.8.4"])
    32        s.add_development_dependency(%q<rake-compiler>, ["~> 0.7.0"])
    33      else
----------------------------------------------------------------
    However at least rspec ~> 2.0.0.beta.15 is not available, so
    gherkin gem cannot work (at least "ruby -rubygems -e 'gem gherkin'" does
not
    work). Please modify installed gemspec file.

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