Spec URL: http://mifo.sk/RPMS/rubygem-typhoeus.spec SRPM URL: http://mifo.sk/RPMS/rubygem-typhoeus-0.1.31-1.fc13.src.rpm Description: Like a modern code version of the mythical beast with 100 serpent heads, Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic.
Additional info: * -devel and -doc packages are created * This gem includes binary extension * rpmlint output: rubygem-typhoeus.i686: W: unstripped-binary-or-object /usr/lib/ruby/site_ruby/1.8/i386-linux/typhoeus/native.so 1 packages and 0 specfiles checked; 0 errors, 1 warnings. * koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2521882
Some notes: * Unused macro - Defined %ruby_sitelib macro is used nowhere. * License - License tag should be "MIT". * (Build)Requires - ">= 0" part is not needed. - "BR: libcurl" is written twice, and anyway this is not needed because "BR: libcurl-devel" also exists and libcurl-devel requires libcurl. * Provides - Would you explain why rubygem-typhoeus-devel should have "Provides: ruby-typhoeus-devel" and "Provides: ruby(typhoeus-devel)"? ! Note that for example rubygem-glib2-devel has Provides: ruby-glib2-devel is because there was actually "ruby-glib2-devel" package, and ruby-glib2-devel "wrongly" provided ruby(glib2-devel)" (so the latter Provides is only for compatibility for old Provides). ! Also, currently rubygem-typhoeus-devel has "Provides: ruby-%{name}-devel", where %{name} is expanded as rubygem-typhoeus (so as a whole it is expanded as ruby-rubygem-typhoeus-devel) * Fedora specific compilation flags ------------------------------------------------------------- 88 make 89 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 -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -c typhoeus_multi.c ------------------------------------------------------------- - Here Fedora specific compilation flags (%optflags) uses -O2 but this is replaced by the latter -O3 flag, which needs fixing. This "-O3" flag comes from ext/typhoeus/extconf.rb, so this can be fixed only after executing "gem install", then fix ext/typhoeus/extconf.rb and recompiling (by $ ruby extconf.rb -> make clean all ) * Directory ownership issue - The directory %{ruby_sitearch}/typhoeus/ itself is not owned by any packages. * ext/ directory - Would you explain why files in ext/ directory have to be installed? (usually this directory should not be needed) ! %check - Usually when the directory spec/ exists, I request to add %check section and execute $ rake spec there, however for this gem many test case fail with no rails server running...
By the way: (In reply to comment #1) > rubygem-typhoeus.i686: W: unstripped-binary-or-object > /usr/lib/ruby/site_ruby/1.8/i386-linux/typhoeus/native.so Would you check if you have surely installed redhat-rpm-config on your system? Also I would appreciate it if you would review my review request (bug 637985)
(In reply to comment #2) Thanks! > Some notes: > > * Unused macro > - Defined %ruby_sitelib macro is used nowhere. FIXED > > * License > - License tag should be "MIT". FIXED > > * (Build)Requires > - ">= 0" part is not needed. > - "BR: libcurl" is written twice, and anyway this is not needed > because "BR: libcurl-devel" also exists and libcurl-devel > requires libcurl. FIXED > > * Provides > - Would you explain why rubygem-typhoeus-devel should have > "Provides: ruby-typhoeus-devel" and > "Provides: ruby(typhoeus-devel)"? > ! Note that for example rubygem-glib2-devel has > Provides: ruby-glib2-devel is because there was actually > "ruby-glib2-devel" package, and ruby-glib2-devel "wrongly" > provided ruby(glib2-devel)" (so the latter Provides is > only for compatibility for old Provides). Yes I'm sorry I looked at this package (glib2) and I thought that it's a 'recommended' way howto do it. > > * Fedora specific compilation flags > ------------------------------------------------------------- > 88 make > 89 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 -g -DXP_UNIX -O3 -Wall -Wcast-qual > -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -c typhoeus_multi.c > ------------------------------------------------------------- > - Here Fedora specific compilation flags (%optflags) uses -O2 > but this is replaced by the latter -O3 flag, which needs fixing. > This "-O3" flag comes from ext/typhoeus/extconf.rb, so this > can be fixed only after executing "gem install", then > fix ext/typhoeus/extconf.rb and recompiling (by $ ruby extconf.rb > -> make clean all ) Fixed. > > * Directory ownership issue > - The directory %{ruby_sitearch}/typhoeus/ itself is not owned > by any packages. Fixed > > * ext/ directory > - Would you explain why files in ext/ directory have to be installed? > (usually this directory should not be needed) You are right. I'll omit -devel package and ext directory as well. > > ! %check > - Usually when the directory spec/ exists, I request to add %check section > and execute $ rake spec there, however for this gem many test case > fail with no rails server running... I removed failing tests a keep those which don't require Rails/Hydra connection. > Also I would appreciate it if you would review my review > request (bug 637985) Sure thing. ====================== 0.1.31-2 =================== * Wed Oct 13 2010 Michal Fojtik <mfojtik> - 0.1.31-2 - Fixed License to MIT - Fixed libcurl BuildRequire - Gem now recompiles with correct GCC flags - Directory issues should be fixed - Removed -devel subpackage - Added tests http://koji.fedoraproject.org/koji/taskinfo?taskID=2532378 Spec URL: http://mifo.sk/RPMS/rubygem-typhoeus.spec SRPM URL: http://mifo.sk/RPMS/rubygem-typhoeus-0.1.31-2.fc13.src.rpm
For -2: * Requires - "Requires: libcurl" is redundant and should be removed, because rpmbuild detects and adds this dependency automatically based on the dependency of the libraries: https://fedoraproject.org/wiki/Packaging/Guidelines#Requires * Applying patch - It is better that patches are applied in %prep using %patchX macro. ? Tests needing Rails or so to be running - Well, I am not sure if it is preferable to remove tests which needs Rails or so to be running. - When people makes Rails or so running, he/she may want to check typhoeus using these test scripts. Maybe it is better that - we don't remove such tests - and ignore the failure case for now - Or: ---------------------------------------------------------- %check pushd .%{geminstdir} NEEDSKIP="" for needskip in \ spec/typhoeus/request_spec.rb \ spec/typhoeus/hydra_spec.rb \ spec/typhoeus/remote_spec.rb \ spec/typhoeus/multi_spec.rb \ spec/typhoeus/easy_spec.rb \ spec/typhoeus/remote_proxy_object_spec.rb do NEEDSKIP="$NEEDSKIP $needskip" done for needskip in $NEEDSKIP do mv $needskip ${needskip}.save done rake spec --trace for needskip in $NEEDSKIP do mv ${needskip}.save $needskip done ---------------------------------------------------------- ! By the way, $ rake spec needs "BuildRequires: rubygem(rake)". * Consistent macro usage - Please use macros consistently. For example: ----------------------------------------------------------- %files %dir %{ruby_sitearch}/%{gemname} %{ruby_sitearch}/typhoeus/*.so ----------------------------------------------------------- please use %{gemname} also in the third line. * Miscs ----------------------------------------------------------- 56 %install 57 rm -rf %{buildroot} 58 mkdir -p %{buildroot}%{ruby_sitearch}/%{gemname} 59 mkdir -p %{buildroot}%{gemdir} 60 mkdir -p %{buildroot}%{_prefix} ----------------------------------------------------------- - The line 68 is unneeded.
(In reply to comment #5) > For -2: > > * Requires > - "Requires: libcurl" is redundant and should be removed, because > rpmbuild detects and adds this dependency automatically based on > the dependency of the libraries: > https://fedoraproject.org/wiki/Packaging/Guidelines#Requires Fixed. Thanks for info btw, I didn't know that there is an autodetection. > * Applying patch > - It is better that patches are applied in %prep using %patchX > macro. Agree. Fixed. > > ? Tests needing Rails or so to be running > - Well, I am not sure if it is preferable to remove tests > which needs Rails or so to be running. > - When people makes Rails or so running, he/she may want > to check typhoeus using these test scripts. > Maybe it is better that > - we don't remove such tests > - and ignore the failure case for now > - Or: > ---------------------------------------------------------- > %check > pushd .%{geminstdir} > > NEEDSKIP="" > for needskip in \ > spec/typhoeus/request_spec.rb \ > spec/typhoeus/hydra_spec.rb \ > spec/typhoeus/remote_spec.rb \ > spec/typhoeus/multi_spec.rb \ > spec/typhoeus/easy_spec.rb \ > spec/typhoeus/remote_proxy_object_spec.rb > do > NEEDSKIP="$NEEDSKIP $needskip" > done > > for needskip in $NEEDSKIP > do > mv $needskip ${needskip}.save > done > > rake spec --trace > > for needskip in $NEEDSKIP > do > mv ${needskip}.save $needskip > done Fixed. Thanks for contributing this. I fully agree that those tests should be preserved in -doc package for futher testing. > ---------------------------------------------------------- > ! By the way, $ rake spec needs "BuildRequires: rubygem(rake)". Fixed. > > * Consistent macro usage > - Please use macros consistently. For example: > ----------------------------------------------------------- > %files > %dir %{ruby_sitearch}/%{gemname} > %{ruby_sitearch}/typhoeus/*.so > ----------------------------------------------------------- > please use %{gemname} also in the third line. Fixed. > * Miscs > ----------------------------------------------------------- > 56 %install > 57 rm -rf %{buildroot} > 58 mkdir -p %{buildroot}%{ruby_sitearch}/%{gemname} > 59 mkdir -p %{buildroot}%{gemdir} > 60 mkdir -p %{buildroot}%{_prefix} > ----------------------------------------------------------- > - The line 68 is unneeded. Fixed. ======================= 0.1.31-3 ==================== * Thu Oct 14 2010 Michal Fojtik <mfojtik> - 0.1.31-3 - Preserved failing test files (thx. to mtasaka) - Fixed macros usage - Replaced path with macro - Removed libcurl from requires Koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=2534502 Spec URL: http://mifo.sk/RPMS/rubygem-typhoeus.spec SRPM URL: http://mifo.sk/RPMS/rubygem-typhoeus-0.1.31-3.fc13.src.rpm
Some misc issue * rpmlint issue ------------------------------------------------------------------ rubygem-typhoeus-doc.i686: E: non-executable-script /usr/lib/ruby/gems/1.8/gems/typhoeus-0.1.31/profilers/valgrind.rb 0644L /usr/bin/env ------------------------------------------------------------------ - Please remove shebang ! About this redundant line ------------------------------------------------------------------ 61 %install 62 rm -rf %{buildroot} 63 mkdir -p %{buildroot}%{gemdir} 64 mkdir -p %{buildroot}%{_prefix} ------------------------------------------------------------------ - What I mean here is that the line 64 is redundant because %gemdir = /usr/lib/ruby/gems/1.8 and %_prefix = /usr, so the line 63 already creates %buildroot%_prefix. Please fix the above issue before importing this package into Fedora SCM. ------------------------------------------------------------------- This package (rubygem-typhoeus) is APPROVED by mtasaka -------------------------------------------------------------------
Thanks ! I fixed both issues. New Package SCM Request ======================= Package Name: rubygem-typhoeus Short Description: A library for interacting with web services at blinding speed Owners: mfojtik Branches: f12 f13 f14
Git done (by process-git-requests).
rubygem-typhoeus-0.1.31-3.fc13 has been submitted as an update for Fedora 13. https://admin.fedoraproject.org/updates/rubygem-typhoeus-0.1.31-3.fc13
rubygem-typhoeus-0.1.31-3.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/rubygem-typhoeus-0.1.31-3.fc14
rubygem-typhoeus-0.1.31-3.fc14 has been pushed to the Fedora 14 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update rubygem-typhoeus'. You can provide feedback for this update here: https://admin.fedoraproject.org/updates/rubygem-typhoeus-0.1.31-3.fc14
Closing this.
rubygem-typhoeus-0.1.31-3.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report.
rubygem-typhoeus-0.1.31-3.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report.