Ruby 2.2
by Vít Ondruch
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...
[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
5 months, 4 weeks
rspec-its
by Ken Dreyer
I've got a gem (rubygem-virtus) that uses rspec/its in its test suite.
Is it worth packaging rubygem-rspec-its? Or is there a replacement
that virtus upstream ought to be using?
- Ken
9 years, 3 months
rspec 3.1.x in rawhide
by Mamoru TASAKA
Hello, all
After a long delay I finally pushed rspec 3.1.x into rawhide
(F-22) build tree. Also I pushed rubygem-rspec2 (and so on)
into rawhide tree.
So:
- If your srpm already handles rspec 3.1.x, please use
BuildRequires: rubygem(rspec)
- Or not, you can use BuildRequires(rspec2). Note that
2.x version rspec (script) is renamed to %_bindir/rspec2,
you'll probably have to do
$ rspec2 spec/
for example.
Please try and test them.
Note: this change is only for F-22.
Regards,
Mamoru
9 years, 3 months
Bundler update and fixes to solve Bundler dependencies
by Josef Stribny
Hi all,
today I updated Bundler to the latest 1.7.6 version[0] and fixed an issue with Bundler's
dependencies[1]. Although you probably didn't come across this, the issue showed up during
packaging Vagrant which uses Bundler underneath.
As you may know Bundler actually vendors its dependencies (thor and net-http-persistent)
in lib/bundler/vendor, but those were removed in Fedora. The problem arises when you make
Bundler to lock the dependencies with Bundler.setup which means that Bundler clears out
$LOAD_PATH keeping itself on the path, but without its dependencies. When the dependency
is requested to be loaded, Bundler just adds the vendor dir on $LOAD_PATH. On Fedora
however the vendor dir is empty and therefore Bundler cannot continue (unless the
requested vendored library has been previously loaded into memory).
The most reasonable fix was to go with symlinks to system RubyGems that are also specified
as runtime dependencies (although missing in gemspec)[2]. The symlinks are generated after
Bundler installation or upon removal of old Bundler's dependencies (so to say on their
update, but after the old files are removed). This way Bundler works a little bit more
like its upstream counterpart and doesn't break anymore.
If you can, please help me to test it and let me know what you think.
Best Regards
Josef
[0] in rawhide, builds for f21 and f20 are in updates-testing
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1163039
[2] http://pkgs.fedoraproject.org/cgit/rubygem-bundler.git/commit/?id=b7da2ec...
9 years, 4 months
Check to make sure your rubygems are in epel7
by Troy Dawson
Hi All,
This is just a heads up that some rubygems that people think are in
epel7, did not make it into epel7 and are currently untagged.
I've ran into 3 of my rubygems in this state, and 1 rubygem from another
packager.
During the epel7 beta phase packages would just make it over to the
epel7 repo after a day or so. But sometime during the end they didn't.
I could have sworn mine should have at least been in testing.
Anyway, long story short, if you think you have a rubygem in epel7, it
would be good to check and make sure it really is in there.
Troy Dawson
9 years, 4 months