Hi everybody,
Since Ruby 2.2 is going to be released during Christmas and -preview1
release is imminent (this Wednesday?), it is probably time to start
looking into its packaging. So here is the updated .spec file [1] and
scratch build [2], which can be finally build on all platforms. Sorry,
no Copr for you, since Ruby's build fails there due to old RHEL kernel :/.
What has changed from packaging point of view? Luckily, not much, but
here are a few bullets which comes to my mind:
* RPM 4.12 introduces new %load function, which is used to load RPM
macros during RPM build. This allowed to drop my custom RPM macro [3].
On the other hand, you'll be able to build the Ruby only on F21+
(luckily, you should be able to build SRPM everywhere).
* The RubyGems filesystem was not explicit enough, so there might be
something accidentally packages. This is now more explicit, so we should
be safer.
* Ruby now ships with MiniTest and Test::Unit. The very good news is
that they are installed so far as a regular gems. This means that you
have to always specify them in your Gemfile, if you are using Bundler,
but this is generally step in good direction. I hope that upstream will
not change their mind :) Due to this change, we have new subpackages
rubygem-test-unit (and rubygem-power_assert, which is now Test::Unit's
dependency). No more %{_bindir}/testrb (but nobody is using it these
days anyway, right? ;)
* Some prevailing test failures were resolved, some others introduced,
but hopefully they'll get resolved prior stable release.
Generally, I'd say that not much has changed since 2.1, which is good news.
Please test the packaging if you can and let me know about any issues
you encountered.
Also, if you have any other suggestions about Ruby packaging in general,
what we could improve etc, this is probably good time to share. It seems
that OpenSUSE guys are improving their packaging, so you might want to
get some inspiration there [4, 5, 6] ;)
Vít
[1] http://pkgs.fedoraproject.org/cgit/ruby.git/log/?h=private-ruby-2.2
[2] http://koji.fedoraproject.org/koji/taskinfo?taskID=7578843
[3]
http://pkgs.fedoraproject.org/cgit/ruby.git/commit/?h=private-ruby-2.2&id=8…
[4] https://build.opensuse.org/package/show/home:darix:ruby/ruby-common
[5] https://build.opensuse.org/package/show/home:darix:ruby/ruby2.2
[6] https://github.com/openSUSE/gem2rpm/commits/master
Hi all,
Ruby 2.4 was released during Christmas and the upcoming Ruby 2.5
development is advancing, so I continue in the tradition and I got
r58319 packaged for testing. The updated .spec file is available in
dist-git private-ruby-2.5 branch and here is the scratch build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=18952639
One thing I'd like to point out that upstream is working on gemification
of StdLib. The question ATM is what the result will be. Hence, there is
one big TODO in the .spec file [1]. The question if each of the gems
should be unbundled or not. The future will tell hopefully.
Vít
[1]
http://pkgs.fedoraproject.org/cgit/rpms/ruby.git/tree/ruby.spec?h=private-r…
Hi everybody,
As I promised, I drafted update to Ruby guidelines. You can see the
changes here [1]. This is the summary:
* Drop reference to EPEL5
* Use %setup macro to expand .gems since RPM 4.14
* Use %setup macro to expand the external test suite.
* Drop the note, which recommends not shipping test suite, since we
typically keep them despite this note
* Updated test framework section to meet the current state.
* Bundler and coverage frameworks usage discouraged.
* Reference %gemspec_{add,remove}_dep macros.
And although I promised, that this wont be breaking changes, there is
one exception :/
The issue is with %gemspec_{add,remove}_dep macros, which currently
expect the .gemspec file in the directory with the sources. However, the
%setup macro generates the .gemspec file directly in %{_builddir} (i.e.
one level above). I should probably update the macros to find the
.gemspec there by default. This might break some packages (who is
actually using the macros except me?), but it won't be worse then
RubyGems freezing the strings in patch release, right? In other case,
you would need always specify the path to the .gemspec ...
So what do you think? Anything I missed or something I got wrong? Please
let me know.
Vít
[1]
https://fedoraproject.org/w/index.php?title=User%3AVondruch%2FDraft_RubyGui…
Hi all,
There is good news for those interested in packaging rubygems for RHEL7,
since RHEL 7.4 (released yesterday) now supports the same set of macros
as Fedora. For the details, please see:
https://bugzilla.redhat.com/show_bug.cgi?id=1397390
Vít