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
GMP usage in Ruby
by Vít Ondruch
Hi all,
It seems that since Ruby 2.1, Ruby can use GMP [1] to make some math
operation faster. Should we enable it? Any experience?
Vít
[1] https://gmplib.org/
5 years, 7 months
Hey Ruby packagers: can you help with asciibinder and its
dependencies?
by Matthew Miller
We're using a new system for http://docs.fedoraproject.org. It's in Ruby, and as per tradition requires a number of ruby gems not packaged in Fedora.
The upstream is at https://github.com/redhataccess/ascii_binder, and it looks like we're missing diff_dirs, asciibinder-diagram, guard, guard-shell, guard-livereload, pandoc-ruby, sitemap_generator, and yajl-ruby. Plus something called "trollop" which needs to be a version in f27/rawhide but not yet in f26.
Can you help? Running asciibinder locally is very convenient while writing or converting docs, and having it a `dnf install` away would be really nice.
5 years, 7 months
ruby gem install does not work with GEM_HOME and GEM_PATH
by Jun Aruga
Hello,
I ran "gem install" with environment variables GEM_HOME and GEM_PATH
on mock environment for Fedora rawhide with user acoount.
The message of "gem install" shows that is success. But the gem is
actually not installed for expected directory.
Is this expected behavior? or bug?
This is the reason of currently rubygem-bundler's local test with
enabling tests is failed since Ruby 2.5.0 on Fedora rawhide.
Below builds are success as tests are not enabled.
https://apps.fedoraproject.org/koschei/package/rubygem-bundler
$ rpm -q ruby
ruby-2.5.0-87.fc28.x86_64
$ id
uid=28707(mockbuild) gid=135(mock) groups=135(mock)
$ mkdir /builddir/work
$ cd /builddir/work
$ export GEM_HOME=/builddir/work
$ export GEM_PATH=/builddir/work
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.7.3
- RUBY VERSION: 2.5.0 (2017-12-25 patchlevel 0) [x86_64-linux]
- INSTALLATION DIRECTORY: /builddir/work
- USER INSTALLATION DIRECTORY: /builddir/.gem/ruby
- RUBY EXECUTABLE: /usr/bin/ruby
- EXECUTABLE DIRECTORY: /builddir/work/bin
- SPEC CACHE DIRECTORY: /builddir/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /builddir/work
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--user-install --bindir /builddir/bin"
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /usr/local/bin
- /usr/bin
- /usr/local/sbin
- /usr/sbin
- /builddir/.local/bin
- /builddir/bin
$ gem install 'rack:1.6.6' --no-rdoc --no-ri
Fetching: rack-1.6.6.gem (100%)
Successfully installed rack-1.6.6
1 gem installed
Some files are created.
But gems directory is empty. bin directory is not created.
$ ls -F
build_info/ cache/ doc/ extensions/ gems/ rack-1.6.6.gem specifications/
$ ls gems/
=> no result.
$ gem list
*** LOCAL GEMS ***
cmath (default: 1.0.0)
csv (default: 1.0.0)
date (default: 1.0.0)
dbm (default: 1.0.0)
etc (default: 1.0.0)
fcntl (default: 1.0.0)
fiddle (default: 1.0.0)
fileutils (default: 1.0.2)
gdbm (default: 2.0.0)
ipaddr (default: 1.2.0)
scanf (default: 1.0.0)
sdbm (default: 1.0.0)
stringio (default: 0.0.1)
strscan (default: 1.0.0)
webrick (default: 1.4.2)
zlib (default: 1.0.0)
<= rack is not shown in the result of "gem list".
--
Jun
5 years, 8 months
Ruby 2.5 - Mass rebuild
by Vít Ondruch
Hi all,
It is already tradition that in this time of the year, new Ruby version
is released. Since Ruby change proposal [1] was already accepted in
advance, nothing can stop us from rebuild of ruby* binary packages. I
asked relengs for side tag [2] and built there Ruby and rubygem-json
already. Now its is time for your help.
This is the list of packages, which very likely needs rebuild:
```
$ dnf repoquery --disablerepo=* --enablerepo=rawhide
--enablerepo=rawhide-source --arch=src --whatrequires 'ruby-devel' |
sort | uniq
```
You can take the package and just fire rebuild, but please ensure that
you are using f28-ruby build target [2], i.e. the build command should
look like:
```
$ fedpkg build --target f28-ruby
```
Please be careful, because if you, by a chance, omit the f28-ruby
target, you'll be building against Ruby 2.4 which is not what you want.
If you won't do it by yourself, I'll be rebuilding all packages after I
am finished with my packages. I'll be using fermig [3] to help mi with
that. If you don't want me to touch your packages for whatever reason,
please let me know.
You can follow the progress at:
https://koji.fedoraproject.org/koji/builds?inherited=0&tagID=3299&order=-...
or using:
```
$ koji list-tagged f28-ruby
```
As always, any help/testing/feedback is welcome.
Vít
[1] https://fedoraproject.org/wiki/Changes/Ruby_2.4
[2] https://pagure.io/releng/issue/7228
[3] https://github.com/fedora-ruby/fermig
5 years, 8 months