Ruby 1.9.3 rebuild started!

Vít Ondruch vondruch at redhat.com
Thu Jan 19 11:39:20 UTC 2012


Hi rubyists,

yesterday evening, we finally obtained tag/target [1] for our Ruby 1.9.3 
rebuild. Following that, I immediately build Ruby 1.9.3 there and 
following with gems I own or maintain. I would like to ask you to 
support me in this effort. I'd like to see to majority of packages 
rebuild in this tag before F17 branch, which is 7th of February 
according to Fedora 17 release schedule [2]. We would like to  merge the 
target into the f17 target right before the branch. After this 
milestone, we will need to do the rest, however, Bodhi will slow us down.

So here I'll try to list some tips how to proceed, although they are 
probably not exhaustive and we will try to update the how to as we proceed.


=== Build ===
$ fedpkg build --target=f17-ruby

Please note that we are building with special target f17-ruby and that 
we are building from master.

=== Updates needed for your package ===
If you wonder what you should change in your package, it is very likely 
that you can find updated .srpm in bkabrda's repository [3] as well as 
clone of original git repo [4] if you prefer. There is also list of 
packages with potential issues [5].

Please note that there was done mass rebuild in mean time, therefore the 
packages needs to be updated. Pay special attention to release number. I 
am using currently following procedure:

1) $ fedpkg co rubygem-foo
2) $ wget 
http://bkabrda.fedorapeople.org/ruby-srpms/rubygem-foo-1.0-1.fc17.src.rpm
3) $ fedpkg import rubygem-foo-1.0-1.fc17.src.rpm
4) $ git reset HEAD rubygem-foo.spec
5) $ git checkout -p -- rubygem-foo.spec
Note that you need this step to resurrect the changelog and revision 
changes due to mass rebuild, but you can use also different methods if 
you like.
6) $ rpmdev-bumpspec rubygem-foo.spec
7) $ git commit -a
8) $ git push
9) $ fedpkg build --target=f17-ruby

=== MiniTest ===
If you are using MiniTest for testing of your packages (i.e. you are 
executing the test suite using "testrb"), you need to add 
"BuildRequires: rubygem(minitest)" into your package, since we moved 
MiniTest into the separate gem.

=== Gems with binary extensions ===
If you have gem with binary extension (i.e. unless your gem is noarch), 
then please note that .srpms available in [3] do not reflect our recent 
packaging guidelines draft [6] yet. Therefore, please check the 
guidelines and update you package accordingly, e.g. after updates, you 
should have in your .spec file lines similar to following:

mkdir -p %{buildroot}%{gem_extdir}/foo
mv %{buildroot}%{gem_instdir}/foo/shared_object.so 
%{buildroot}%{gem_extdir}/foo/shared_object.so

and you package must own the %{gem_extdir}.

=== Packages already available in tag ===
If you are interested what packages are built already, you can check it 
using following command:

$ koji list-tagged f17-ruby

=== Build dependencies ===
If you build prerequisites for some package, don't forget that you have 
to wait for repository update. You can use either

$ fedpkg chain-build

to build whole package dependency chain or

$ koji wait-repo dist-rawhide --build=rubygem-foo-1.0-1.fc17



Once again, please rebuild your package ASAP to allow your fellow 
Rubyists rebuild their dependencies. Thank you for your collaboration.


Vit


[1] https://fedorahosted.org/rel-eng/ticket/5016
[2] http://fedoraproject.org/wiki/Schedule
[3] http://bkabrda.fedorapeople.org/ruby-srpms/
[4] http://bkabrda.fedorapeople.org/ruby-git-repos/
[5] 
http://lists.fedoraproject.org/pipermail/ruby-sig/2011-December/000729.html
[6] 
https://fedoraproject.org/wiki/PackagingDrafts/Ruby#RubyGem_with_extension_libraries_written_in_C


More information about the ruby-sig mailing list