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&i... [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,
On Mon, 2014-09-15 at 17:38 +0200, Vít Ondruch wrote:
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 :/.
It look like koji is OK. I've created repositories for experimenting (the preview1 version):
http://scientific.zcu.cz/repos/ruby22-epel7.repo http://scientific.zcu.cz/repos/ruby22-fedora20.repo http://scientific.zcu.cz/repos/ruby22-fedora21.repo
- 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).
I returned it back for playing on F20. :-) But it's probably not needed in F22/rawhide.
- Some prevailing test failures were resolved, some others introduced,
but hopefully they'll get resolved prior stable release.
There is one unstable test (https://koji.fedoraproject.org/koji/getfile?taskID=7770442&name=build.lo...):
5) Failure: TestException#test_machine_stackoverflow_by_define_method [/builddir/build/BUILD/ruby-2.2.0-preview1/test/ruby/test_exception.rb:555]: pid 27865 killed by SIGSEGV (signal 11) 15848 tests, 2507477 assertions, 1 failures, 0 errors, 33 skips
It passed OK on second build.
And the build machine needs to have IPv4 enabled, but that's probably nothing which can be easily changed (launching local network tests are usefull too).
Please test the packaging if you can and let me know about any issues you encountered.
rpmlint returns some messages. Bad thing may be the "evil" permissions 0666 on /usr/share/gems/specifications/*.gemspec.
Cheers, František
Hi František,
Thanks for testing!
Dne 5.10.2014 v 21:17 František Dvořák napsal(a):
Hi,
On Mon, 2014-09-15 at 17:38 +0200, Vít Ondruch wrote:
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 :/.
It look like koji is OK.
Yes, koji is OK, it uses F20 kernel to my knowledge.
I've created repositories for experimenting (the preview1 version):
http://scientific.zcu.cz/repos/ruby22-epel7.repo http://scientific.zcu.cz/repos/ruby22-fedora20.repo http://scientific.zcu.cz/repos/ruby22-fedora21.repo
Nice! Glad to see that the .spec file works fine with the preview1.
- Some prevailing test failures were resolved, some others introduced,
but hopefully they'll get resolved prior stable release.
There is one unstable test (https://koji.fedoraproject.org/koji/getfile?taskID=7770442&name=build.lo...):
- Failure:
TestException#test_machine_stackoverflow_by_define_method [/builddir/build/BUILD/ruby-2.2.0-preview1/test/ruby/test_exception.rb:555]: pid 27865 killed by SIGSEGV (signal 11) 15848 tests, 2507477 assertions, 1 failures, 0 errors, 33 skips
It passed OK on second build.
Yes, I met the issue as well:
https://bugs.ruby-lang.org/issues/9739#note-6
But it passed without any attention. May be I should open separate issue.
And the build machine needs to have IPv4 enabled, but that's probably nothing which can be easily changed (launching local network tests are usefull too).
What do you mean by this? The build does not pass on IPv6 only machine or how should I understand it?
Please test the packaging if you can and let me know about any issues you encountered.
rpmlint returns some messages. Bad thing may be the "evil" permissions 0666 on /usr/share/gems/specifications/*.gemspec.
That is good idea to check rpmlint output. There seems to be more issues than this one.
Thanks for the feedback.
Vít
Dne 5.10.2014 v 21:17 František Dvořák napsal(a):
rpmlint returns some messages. Bad thing may be the "evil" permissions 0666 on /usr/share/gems/specifications/*.gemspec.
Submitted patch for this specific issue:
https://bugs.ruby-lang.org/issues/10383
And a few others along the way:
https://github.com/test-unit/test-unit/pull/78 https://github.com/test-unit/test-unit/pull/79
Vít
I just pushed spec file updated to r47902 into SCM. The scratch build is available here:
http://koji.fedoraproject.org/koji/taskinfo?taskID=7858396
Vít
Dne 15.9.2014 v 17:38 Vít Ondruch napsal(a):
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&i... [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 _______________________________________________ ruby-sig mailing list ruby-sig@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/ruby-sig
I just pushed r47940 into dist-git and this is the scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=7874332
It addresses some of the rpmlint issues, notably the .gemspec permissions noticed by František.
Vít
Hi,
I've pushed .spec file updated to r48365 into dist-git. Associated scratch build is available here:
http://koji.fedoraproject.org/koji/taskinfo?taskID=8091422
As always, please test and let me (or upstream) know about any issues you'd encounter.
Vít
And yet another update to r48476. And here is the Koji build (but I have no more patience to wait for ARM, so I hope it is not stuck somewhere ;)):
http://koji.fedoraproject.org/koji/taskinfo?taskID=8177839
BTW I made a little script which can prepare an upstream tarball and update the ruby.spec a bit, not sure where to put it yet and what will be the future, so this is it at its temporary location:
https://gist.github.com/voxik/8fa0593faec15225ecb0
Any feedback is appreciated.
Vít
On Tue, Nov 18, 2014 at 10:08 AM, Vít Ondruch vondruch@redhat.com wrote:
BTW I made a little script which can prepare an upstream tarball and update the ruby.spec a bit, not sure where to put it yet and what will be the future, so this is it at its temporary location:
https://gist.github.com/voxik/8fa0593faec15225ecb0
Any feedback is appreciated.
Very nice!
I generally just check this sort of thing into dist-git, alongside the .spec file, and include it as a "SourceX:" so it will ship as part of the SRPM. Perhaps name it "generate-ruby-tarball-and-update-spec.rb" or something.
- Ken
Dne 19.11.2014 v 00:39 Ken Dreyer napsal(a):
On Tue, Nov 18, 2014 at 10:08 AM, Vít Ondruch vondruch@redhat.com wrote:
BTW I made a little script which can prepare an upstream tarball and update the ruby.spec a bit, not sure where to put it yet and what will be the future, so this is it at its temporary location:
https://gist.github.com/voxik/8fa0593faec15225ecb0
Any feedback is appreciated.
Very nice!
I generally just check this sort of thing into dist-git, alongside the .spec file, and include it as a "SourceX:" so it will ship as part of the SRPM. Perhaps name it "generate-ruby-tarball-and-update-spec.rb" or something.
Well, add this into dist-git is quite good idea. Not sure about the SRPM though ...
Vít
This has been very long sitting on my TODO list and today was the day. Therefore I published this tool:
https://github.com/fedora-ruby/ferut/blob/main/ruby-devel-srpm.rb
If you have not heard about "ferut", that is because I have created also the whole repository ;) It includes one additional tool:
https://github.com/fedora-ruby/ferut/blob/main/ruby-patches.sh
This serves as a tool to rebase patches included in Ruby to apply cleanly. I might publish there additional tools should I have some. Please note that there tools are "designed" to solely fulfill my needs. Therefore although I appreciate all feedback, I won't make any promises about accepting PRs or what not.
Vít
Dne 19. 11. 14 v 10:54 Vít Ondruch napsal(a):
Dne 19.11.2014 v 00:39 Ken Dreyer napsal(a):
On Tue, Nov 18, 2014 at 10:08 AM, Vít Ondruch vondruch@redhat.com wrote:
BTW I made a little script which can prepare an upstream tarball and update the ruby.spec a bit, not sure where to put it yet and what will be the future, so this is it at its temporary location:
https://gist.github.com/voxik/8fa0593faec15225ecb0
Any feedback is appreciated.
Very nice!
I generally just check this sort of thing into dist-git, alongside the .spec file, and include it as a "SourceX:" so it will ship as part of the SRPM. Perhaps name it "generate-ruby-tarball-and-update-spec.rb" or something.
Well, add this into dist-git is quite good idea. Not sure about the SRPM though ...
Vít
ruby-sig mailing list ruby-sig@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/ruby-sig
Hi,
I have pushed a few updates to these tools and I have added one additional tool:
https://github.com/fedora-ruby/ferut/blob/main/rename-patch.sh
This tries to extract information from the patch "Subject:" line and use it for the patch filename, in a similar way how `git format-patch` would name it.
Vít
Dne 25. 01. 22 v 19:50 Vít Ondruch napsal(a):
This has been very long sitting on my TODO list and today was the day. Therefore I published this tool:
https://github.com/fedora-ruby/ferut/blob/main/ruby-devel-srpm.rb
If you have not heard about "ferut", that is because I have created also the whole repository ;) It includes one additional tool:
https://github.com/fedora-ruby/ferut/blob/main/ruby-patches.sh
This serves as a tool to rebase patches included in Ruby to apply cleanly. I might publish there additional tools should I have some. Please note that there tools are "designed" to solely fulfill my needs. Therefore although I appreciate all feedback, I won't make any promises about accepting PRs or what not.
Vít
Hi rubyists,
I have pushed update to Ruby 2.2.0-preview2 into dist-git. Here is associated scratch build (if it succeeds ;).
http://koji.fedoraproject.org/koji/taskinfo?taskID=8278345
Please let me know about any issue you possibly encounter.
Vít
Yet another update in dist-git, this time to Ruby 2.2 r48741. Here is the scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=8323070
The build failure on ARM is already reported to upstream.
Vít
I just pushed update of upcoming Ruby 2.2 package into dist git. This time it is updated to r48879. Here [1] is the associated build (yes, ARM failed, but I'd expect that second round would pass, feel free to make your own build in case you want to experiment on ARM).
I dropped the release back to 1, since it seems that all bundled gems have bumped their version since Ruby 2.1, so it should be safe (but if you have installed previous builds, this version will not update them due to this change, sorry)
Any feedback is welcome.
BTW Ruby 2.2 should be released in one week, i.e. next Thursday, so this is good opportunity to provide last feedback to upstream.
Vít
[1] http://koji.fedoraproject.org/koji/taskinfo?taskID=8410804
Hi everybody.
RC1 was released yesterday [1] and here is test build for you:
http://koji.fedoraproject.org/koji/taskinfo?taskID=8437177
Please also note that not only the RC1 was released, but the Ruby 2.2 was branched into ruby_2_2.
And there are also some small changes in the package:
* Since there were no objections (so far) I dropped the libdb dependency and it is replaced by gdbm. * The psych links were previously moved from ruby_libdir to ruby_vendordir, due to issues with update from directories to symlinks (rhbz#988490). Since F18 was EOLed a while ago, I reverted the commit and the links will be again in ruby_libdir, where they actually belongs.
Vít
[1] https://www.ruby-lang.org/en/news/2014/12/18/ruby-2-2-0-rc1-released/
Hi,
You have probably noticed, that Ruby 2.2.0 was released [1]. I pushed the updated .spec file into dist-git and here is the scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=8513231
Enjoy and happy testing.
Vít
[1] https://www.ruby-lang.org/en/news/2014/12/25/ruby-2-2-0-released/
Dne 2.1.2015 v 16:41 Vít Ondruch napsal(a):
Hi,
You have probably noticed, that Ruby 2.2.0 was released [1]. I pushed the updated .spec file into dist-git and here is the scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=8513231
Enjoy and happy testing.
Vít
[1] https://www.ruby-lang.org/en/news/2014/12/25/ruby-2-2-0-released/
Hrmm, I noticed that I forgot to check the RubyGems version => fix is in dist-git ...
Vít
Great work Vit & everyone participating! It's amazing to see Fedora Ruby keeping pace with upstream releases.
-Dan On Jan 2, 2015 8:41 AM, "Vít Ondruch" vondruch@redhat.com wrote:
Hi,
You have probably noticed, that Ruby 2.2.0 was released [1]. I pushed the updated .spec file into dist-git and here is the scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=8513231
Enjoy and happy testing.
Vít
[1] https://www.ruby-lang.org/en/news/2014/12/25/ruby-2-2-0-released/
ruby-sig mailing list ruby-sig@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/ruby-sig
Thanks Dan :)
BTW there was wrong symlink in Psych, so here is the fixed scratch build.
http://koji.fedoraproject.org/koji/taskinfo?taskID=8514158
Vít
Dne 2.1.2015 v 20:14 Dan Allen napsal(a):
Great work Vit & everyone participating! It's amazing to see Fedora Ruby keeping pace with upstream releases.
-Dan
On Jan 2, 2015 8:41 AM, "Vít Ondruch" <vondruch@redhat.com mailto:vondruch@redhat.com> wrote:
Hi, You have probably noticed, that Ruby 2.2.0 was released [1]. I pushed the updated .spec file into dist-git and here is the scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=8513231 Enjoy and happy testing. Vít [1] https://www.ruby-lang.org/en/news/2014/12/25/ruby-2-2-0-released/ _______________________________________________ ruby-sig mailing list ruby-sig@lists.fedoraproject.org <mailto:ruby-sig@lists.fedoraproject.org> https://admin.fedoraproject.org/mailman/listinfo/ruby-sig
ruby-sig mailing list ruby-sig@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/ruby-sig
ruby-sig@lists.fedoraproject.org