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
1 week, 3 days
Intend to retire rubygem-rspec2 series on Fedora 35
by Mamoru TASAKA
Hello, ruby-sig folks:
Since rspec 3.0.0 is released on 2014/Jun (almost 7 years ago),
Fedora's rubygem-rspec is upgraded to 3.x on Fedora 22 era, and compat package
rubygem-rspec2 is introduced.
Since I think enough time is already passed for packages to migrate to
rspec 3.x and actually:
----------------------------------------------------------
$ dnf repoquery --arch=src --repo=koji-35-source --whatrequires "rubygem(rspec2)"
rubygem-database_cleaner-0:1.7.0-5.fc34.src
rubygem-nifti-0:0.0.2-14.fc34.src
rubygem-rspec2-core-0:2.14.8-11.fc34.3.src
rubygem-rspec2-expectations-0:2.14.5-10.fc34.7.src
rubygem-rspec2-mocks-0:2.14.6-6.fc34.6.src
$ dnf repoquery --repo=koji-35 --qf '%{name}-%{epoch}:%{version}-%{release}\t%{SOURCERPM}' --whatrequires "rubygem-rspec2"
rubygem-json_spec-0:1.1.5-9.fc34 rubygem-json_spec-1.1.5-9.fc34.src.rpm
rubygem-rspec2-doc-0:2.14.1-14.fc34 rubygem-rspec2-2.14.1-14.fc34.src.rpm
----------------------------------------------------------
currently, very few packages depend on rubygem(rspec2).
* rubygem-json_spec actually has dependency: "(rubygem(rspec) >= 2.0 with rubygem(rspec) < 4.0)"
so this is okay
* For rubygem-nifti, I successfully migrated this to use rspec-3.x locally, so (unless someone
objects), I will push changes to use rspec-3.x
* For rubygem-database_cleaner, current upstream newest is 2.0.1, which is released on 2021/Feb,
so the latest one is perhaps using rspec-3.x, I guess.
so I intend to retire rubygem-rspec2 series, perhaps in two weeks, or if someone objects,
at least I intend to orphan rubygem-rspec2 series on Fedora 35.
Regards,
Mamoru
2 years, 3 months
Re: F35 Change proposal: RPM 4.17 (System-Wide Change proposal)
by Mamoru TASAKA
Hello:
Miro Hrončok wrote on 2021/04/01 6:45:
> On 31. 03. 21 21:52, Ben Cotton wrote:
>> * Strict checking for unpackaged content in builds
> > ...
>> * Many existing packages will fail to build due to the stricter
>> buildroot content checking. Fixing this in the packaging is always
>> backwards compatible. We could temporarily set
>> `%_unpackaged_files_terminate_build 0` in rawhide to alleviate initial
>> impact if necessary.
>
> This is my main concern with this update.
>
> tl;dr If you %exclude something and there is no other subpackage to own the files, the build fails:
>
>
> This fails:
>
> %install
> ...
> touch %{buildroot}/foo %{buildroot}/bar
>
> %files
> /
> %exclude /foo
As the files Miro has attached shows, this affects not a few rubygems related
packages. Many rubygems related packages has: %exclude %gem_cache .
Regards,
Mamoru
2 years, 6 months