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