[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