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 guys,
Anybody have any experience with some scripts for bash completion? Have
you tried any? Should we integrate any? Just a quick googling gave me
two results:
https://github.com/mernen/completion-rubyhttps://github.com/pdkl95/rubygems-completion
And there are probably others. I did not tried them yet. Have you? Do
you have other/better tips?
Thank you
Vit
Hi everybody,
Recently, there was submitted patch [1] for gem2rpm requesting to use
"gem install --build-root" option. This made me to investigate the
situation. It is actually more then one year since this option was
introduced into RubyGems [2] and the intentions is quite nice for
packaging. But there are two things:
1) Unfortunately, this option does not work on Fedora as expected, since
we never install gems into /usr/share/gems, where the RPM packaged gems
reside, but we install them either into user home or /usr/local,
depending on current user. So it might be reasonable to make the
--build-root option to work as designed (see fix-build-root.patch
attachment).
2) Once the --build-root option works, we could use it in our
macros.rubygems instead the --install-dir --bindir combo (see
enable-build-root.patch attachment). But although this would mean slight
simplification of %gem_install macro, it would break every
old/unmaintained .spec file, which still contains something like:
%install
%gem_install -n %{SOURCE0} -d %{buildroot}%{gem_dir}
i.e. the %gem_install is called in %install section.
Now the question is if the changes are worth of the effort. It does not
seem that --build-root is widely used, since nobody complained yet.
Moreover, the change in %gem_install macro might break things (although
the gems are probably unmaintained anyway, so we could get rid of them).
So what is your opinion? Should I go for (1), (1) and (2) or non?
If there is no significant response, I'll probably go for both patches.
Please let me know.
Vít
[1] https://github.com/fedora-ruby/gem2rpm/pull/51
[2] https://github.com/rubygems/rubygems/pull/965