ruby 1.8.7p299 is now rawhide build tree
Mohammed Morsi
mmorsi at redhat.com
Thu Jul 29 01:16:29 UTC 2010
On 07/26/2010 03:53 PM, Mamoru Tasaka wrote:
> Hello, all:
>
> As
> - F14 feature freeze is tomorrow !
> - Mohammed's ruby srpm was almost complete (as far as I tried using):
> http://mo.morsi.org/files/rpms/ruby-1.8.7.299-3.fc13.src.rpm
>
> I slightly modified Mohammed's srpm and imported into rawhide build tree.
> Now it is available on
> http://koji.fedoraproject.org/koji/buildinfo?buildID=186570
>
> A summary of changes from Mohammed's ruby-1.8.7.299-3.fc13:
> - Some cleanups
> - Make -irb, -rdoc subpackage noarch
> - Make dependencies between arch-dependent subpackages isa specific
> - Improve sample documentation gathering
>
> I hope the imported new ruby won't break things (so much).
> I appreciate all peoples' contributing to ruby 187 packages.
>
> Regards,
> Mamoru
>
>
Thanks for this Mamoru, just went through and rebuilt your srpm, and
have a couple of comments:
Some rpmlint output:
$ rpmlint /home/mmorsi/rpmbuild/SRPMS/ruby-1.8.7.299-4.fc13.src.rpm
> ruby.src: W: no-cleaning-of-buildroot %install
> ruby.src: W: no-buildroot-tag
Are the result of removing "BuildRoot" and "rm -rf $RPM_BUILD_ROOT " as
per the following guidelines, and can be ignored correct?
http://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag
> ruby.src:264: W: mixed-use-of-spaces-and-tabs (spaces: line 264, tab:
line 1)
You have a tab on the "-mindepth 1 \" line in the spec, this should be
removed.
$ rpmlint /home/mmorsi/rpmbuild/RPMS/x86_64/ruby-1.8.7.299-4.fc13.x86_64.rpm
> ruby.x86_64: W: obsolete-not-provided ruby-mode
> ruby.x86_64: W: obsolete-not-provided ruby-docs
In my latest spec I got around these by adding a 'Provides' for both
ruby-mode / ruby-docs, where as you explicitly state "no Provides here".
Is this the correct approach to do so? Eg if the emacs package provides
the ruby-mode functionality, shouldn't it be that package that obsoletes
and provides ruby-mode? Also since our package Obsoletes ruby-doc
shouldn't it provide it as well?
> ruby.x86_64: E: wrong-script-interpreter
/usr/share/doc/ruby-1.8.7.299/sample/mpart.rb ./ruby
I had gotten around this by adding the following to my spec (in the
section the other interpreter paths get corrected)
sed -i -e 's/^#!\s*\.\/ruby/#! \/usr\/bin\/ruby/' sample/mpart.rb
$ rpmlint
/home/mmorsi/rpmbuild/RPMS/x86_64/ruby-tcltk-1.8.7.299-4.fc13.x86_64.rpm
> ruby-tcltk.x86_64: E: non-executable-script
/usr/lib/ruby/1.8/tkextlib/pkg_checker.rb 0644L /usr/bin/env
I got around this by removing the shebang from the top of the file like so.
sed -i -e '/^#!.*/,1D' ext/tk/lib/tkextlib/pkg_checker.rb
===
AFAIK all the other rpmlint warnings can be ignored. Just going through
the spec file itself, I'm just wondering why the complexity for the
iconv stuff. Unless I missed something major, I just went through the
files rpmlint was stating weren't utf-8 and ran "iconv -f iso8859-1 -t
utf-8" on them to take care of the issue. No need for any sed'ing. Did I
oversimplify the issue?
Also I can't help but feel that we should put some of this stuff in the
source %prep section, not in the %install section, and would be
interested in seeing what (if anything) the guidelines say about this.
Regardless these last couple are not big issues, I wouldn't have a
problem with the Ruby rpms going in without them being resolved.
BTW I tested this latest RPM in a VM and am happy to say via some light
surface testing: rake, rack, rails, rspec, and gem work out of the box,
and the puppet, rails, and deltacloud test/spec suites work in the same
manner as they do against 1.8.6.
We should be good to go for F14, though I don't think we'll pass through
100% unscathed. There might be a few bug reports against some specific
gems, but the major ones (and I'm guessing most others) should work fine
and what doesn't can be taken on a case-by-case basis as they will need
to be anyway.
Once again, thanks for the updated rpms and reviews.
-Mo
More information about the ruby-sig
mailing list