SPDX Status for Rubygems in Fedora as of 2024-01-15
by Jarek Prokop
Hi,
new year edition of how we are doing with SPDX tags in the rubygems
package ecosystem.
Regards,
Jarek
* Total rubygems in Fedora: 453
* Excluded gems:
rubygem-krb5-auth
rubygem-rgen
rubygem-net-irc
* Total rubygems checked: 448
* Fedora License field and gem2rpm license match and license-validate
succeeds: 288/448
* license-validate says they are OK SPDX, but licenses may or may not
match between Fedora and upstream: 379/448
* license-validate with converted conjunctions: 381/448
* Action required: 67/448
Packages that need to convert to valid SPDX:
rubygem-, fedora_license
rubygem-ansi, BSD
rubygem-aws-sigv4, ASL 2.0
rubygem-bcrypt, MIT and Public Domain and ISC
rubygem-bcrypt_pbkdf, MIT and BSD and ISC
rubygem-between_meals, ASL 2.0
rubygem-colorize, GPLv2
rubygem-cookiejar, BSD
rubygem-daemons, MIT and (GPLv2+ or Ruby)
rubygem-dnsruby, ASL 2.0
rubygem-elasticsearch-transport,ASL 2.0
rubygem-eventmachine, GPLv2 or Ruby
rubygem-ffi, BSD
rubygem-gem2rpm, GPLv2+
rubygem-haml, MIT and WTFPL
rubygem-hashery, BSD
rubygem-hashicorp-checkpoint, MPLv2.0
rubygem-hiera-vault, ASL 2.0
rubygem-highline, GPLv2 or Ruby or BSD
rubygem-hiredis, BSD
rubygem-hocon, ASL 2.0
rubygem-httpclient, (Ruby or BSD) and Public Domain
rubygem-icaro, GPLv3
rubygem-idn, ASL 2.0 and LGPLv2+
rubygem-imagesize, GPLv2 or Ruby
rubygem-log4r, LGPLv3
rubygem-logstash-event, ASL 2.0
rubygem-macaddr, Ruby or BSD
rubygem-marcel, MIT and ASL 2.0
rubygem-mixlib-cli, ASL 2.0
rubygem-mixlib-config, ASL 2.0
rubygem-mixlib-log, ASL 2.0
rubygem-mixlib-shellout, ASL 2.0
rubygem-mongo, ASL 2.0
rubygem-msgpack, ASL 2.0
rubygem-narray, BSD and Ruby
rubygem-ncursesw, LGPLv2+
rubygem-nifti, LGPLv3+
rubygem-open4, BSD or Ruby
rubygem-opennebula, ASL 2.0
rubygem-pathspec, ASL 2.0
rubygem-pdf-core, GPLv2 or GPLv3 or Ruby
rubygem-pdf-inspector, GPLv2 or GPLv3 or Ruby
rubygem-prawn, (GPLv2 or GPLv3 or Ruby) and APAFML
rubygem-prawn-icon, Ruby or GPLv2 or GPLv3
rubygem-prawn-table, Ruby or GPLv2 or GPLv3
rubygem-prawn-templates, Ruby or GPLv2 or GPLv3
rubygem-rack, MIT and BSD
rubygem-rchardet, LGPLv2
rubygem-rdoc, GPL-2.0 AND Ruby AND BSD-3-Clause AND
CC-BY-2.5 AND OFL-1.1-RFN
rubygem-rmail, BSD
rubygem-ruby-libvirt, LGPLv2+
rubygem-ruby-shadow, Public Domain
rubygem-rubyzip, Ruby or BSD
rubygem-sassc-rails, MIT and OFL
rubygem-scanf, BSD
rubygem-selenium-webdriver, ASL 2.0
rubygem-serialport, GPLv2
rubygem-sinatra-rabbit, ASL 2.0
rubygem-sugarjar, ASL 2.0
rubygem-sys-uname, ASL 2.0
rubygem-ttfunk, GPLv2 or GPLv3 or Ruby
rubygem-uuid, MIT or CC-BY-SA
rubygem-vault, MPLv2.0
rubygem-webrick, Ruby and BSD-2-Clause
rubygem-websocket-driver, ASL 2.0
rubygem-xmlparser, GPLv2+ and ( Ruby or GPLv2+ or MIT ) and
( GPLv2+ or Artistic )
rubygem-xmlrpc, Ruby or BSD
Package author list:
package, owner(, other contributors)
rubygem-ansi: stevetraylen
rubygem-aws-sigv4: valtri
rubygem-bcrypt: vondruch, ruby-packagers-sig
rubygem-bcrypt_pbkdf: pvalena
rubygem-between_meals: dcavalca, filbranden, salimma
rubygem-colorize: ctria
rubygem-cookiejar: pvalena, ruby-packagers-sig
rubygem-daemons: sseago
rubygem-dnsruby: pwouters
rubygem-elasticsearch-transport: stevetraylen, sbonazzo
rubygem-eventmachine: vondruch, ruby-packagers-sig
rubygem-ffi: vondruch, ruby-packagers-sig, bkearney, tdawson
rubygem-gem2rpm: vondruch, ruby-packagers-sig
rubygem-haml: pvalena
rubygem-hashery: pvalena, ruby-packagers-sig
rubygem-hashicorp-checkpoint: pvalena, humaton
rubygem-hiera-vault: logic
rubygem-highline: tdawson
rubygem-hiredis: pvalena, tdawson
rubygem-hocon: stevetraylen
rubygem-httpclient: tdawson, brandfbb, maxamillion, rcallicotte
rubygem-icaro: aeperezt
rubygem-idn: spstarr, tdawson
rubygem-imagesize: mtasaka
rubygem-log4r: vondruch, humaton
rubygem-logstash-event: valtri
rubygem-macaddr: valtri
rubygem-marcel: pvalena, ruby-packagers-sig
rubygem-mixlib-cli: jdunn
rubygem-mixlib-config: jdunn
rubygem-mixlib-log: dcavalca
rubygem-mixlib-shellout: jdunn
rubygem-mongo: tdawson
rubygem-msgpack: spredzy
rubygem-narray: besser82
rubygem-ncursesw: dcallagh
rubygem-nifti: ilgrad, neuro-sig
rubygem-open4: vondruch, tdawson
rubygem-opennebula: valtri
rubygem-pathspec: athoscr, ignatenkobrain
rubygem-pdf-core: vondruch, fale, pvalena, snecker, tdawson
rubygem-pdf-inspector: pvalena
rubygem-prawn: vondruch, fale, pvalena, tdawson, snecker
rubygem-prawn-icon: tripledes, evgeni, fale, snecker
rubygem-prawn-table: vondruch, fale, snecker
rubygem-prawn-templates: tripledes, evgeni, fale, snecker
rubygem-rack: pvalena, ruby-packagers-sig, vondruch, tdawson
rubygem-rchardet: stevetraylen
rubygem-rdoc: vondruch, ruby-packagers-sig
rubygem-rmail: dcallagh
rubygem-ruby-libvirt: vondruch, ruby-packagers-sig, clalance, tdawson
rubygem-ruby-shadow: terjeros, ignatenkobrain
rubygem-rubyzip: vondruch, ruby-packagers-sig
rubygem-sassc-rails: pvalena
rubygem-scanf: ekohl, brandfbb
rubygem-selenium-webdriver: vondruch, ruby-packagers-sig
rubygem-serialport: aeperezt
rubygem-sinatra-rabbit: athoscr
rubygem-sugarjar: jaymzh, salimma
rubygem-sys-uname: pvalena, tdawson
rubygem-ttfunk: vondruch, tdawson, snecker
rubygem-uuid: valtri
rubygem-vault: logic
rubygem-webrick: pvalena, ruby-packagers-sig, tdawson
rubygem-websocket-driver: vondruch, ruby-packagers-sig, pvalena, jaruga
rubygem-xmlparser: schwicke
rubygem-xmlrpc: pvalena
3 months, 1 week
Puma 6.x
by Vít Ondruch
Working on Puma 6.0, I have hit this [1] issue rebuilding
rubygem-shoulda-matchers:
~~~
1) shoulda-matchers integrates with Rails in a project that uses Spring
Failure/Error: run_rake_tasks!('db:drop', 'db:create', 'db:migrate')
RuntimeError:
Command
"BUNDLE_GEMFILE=\"/tmp/shoulda-matchers-acceptance/test-project/Gemfile\"
bundle _2.5.3_ exec rake db:drop db:create db:migrate --trace" exited
with status 1.
Output:
---START----------------------------------------------------------------
bundler: failed to load command: rake (/usr/bin/rake)
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/resolver.rb:332:in
`raise_not_found!': Could not find gem 'puma (~> 5.0)' in locally
installed gems. (Bundler::GemNotFound)
The source contains the following gems matching 'puma':
* puma-6.4.2
from
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/resolver.rb:392:in `block
in prepare_dependencies'
from
/usr/share/gems/gems/bundler-2.5.3/lib/bundler/resolver.rb:377:in `each'
... snip ...
~~~
The thing is that RoR 7.0 hardcodes `"puma", "~> 5.0"` dependency. Now
there are two options:
1) Relax the dependency in rubygem-should-matchers.
2) Relax the dependency in RoR in a similar way to RoR 7.1 [3] (and
maybe [4], but I have not hit any issue in anycable 🤷)
While the former is low impact, I lean towards the latter, despite
changing the generated application might put some users into risk. Thoughts?
Vít
[1]: https://copr.fedorainfracloud.org/coprs/vondruch/mpb/build/6885290/
[2]:
https://github.com/rails/rails/blob/fc734f28e65ef8829a1a939ee6702c1f349a1...
[3]:
https://github.com/rails/rails/commit/545a9908e8f661aa391b5c8e418a5204b1e...
[4]: https://github.com/rails/rails/pull/46106
3 months, 1 week
Ruby 3.3 - Mass rebuild
by Vít Ondruch
Hi everybody,
Ruby 3.3 is out and it is time for Ruby mass rebuild. First of all, I'd
like to thank to Mamoru for the preparation and lot of fixes all around.
I really appreciate that.
I think we are well prepared for the rebuild, therefore I have requested
side-tag:
~~~
$ fedpkg request-side-tag
Side tag 'f40-build-side-80411' (id 80411) created.
Use 'fedpkg build --target=f40-build-side-80411' to use it.
Use 'koji wait-repo f40-build-side-80411' to wait for the build repo to
be generated.
~~~
Ruby 3.3 is already merged [1] and build there:
https://koji.fedoraproject.org/koji/builds?inherited=0&tagID=80411&order=...
or using:
~~~
$ koji list-tagged f40-build-side-80411
~~~
Now this is a 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 f40-build-side-80411 build target, i.e. the build command
should look like:
~~~
$ fedpkg build --target f40-build-side-80411
~~~
Please be careful, because if you, by a chance, omit
the f40-build-side-80411 target, you'll be building against Ruby 3.2
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 [2] to help me with
that. If you don't want me to touch your packages for whatever reason,
please let me know.
As always, any help/testing/feedback is welcome.
Vít
[1] https://github.com/fedora-ruby/fermig
[2] https://src.fedoraproject.org/rpms/ruby/pull-request/159
3 months, 3 weeks
Ruby 3.3
by Vít Ondruch
Hi,
It is again the time to look at where Ruby 3.3 development stands. So
here is PR with the changes:
https://src.fedoraproject.org/rpms/ruby/pull-request/159
and scratch build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=106071236
You probably remember, that I used to create the PR from private branch.
However this time I have decided to create the PR from my fork. This
should allow me to force pushes, which should help me in doing rebases
and possibly extracting some changes into stable branches.
Now let me list some modifications in random order.
* `%gem_spec` macro with options:
https://src.fedoraproject.org/fork/vondruch/rpms/ruby/blob/77c580dfa85f92...
This is my initial version, just to enable to use this macro in
ruby.spec. I think I'll similarly modify all the related macros. While
they'll be more complex, their use in ruby.spec will outweigh that. And
I should add some documentation ...
BTW there are several possibilities in choosing how complex/flexible
this macro will be and I think this is one of the changes which could be
backported to Ruby 3.2. So feedback is appreciated. Looking at the
macro, this bit `%{?1:%{expand:%{%{1}_version}}}%{!?1:%{version}}` is
probably not very good idea for possible use in rubygem-*.gemspec.
* There is still problem with syntax-suggest test suite, which tries to
download some pieces from interned :/ However, I have replaced the
"revert" patches with custom patch disabling the syntax-suggest test
case in a hope that this will be easier to maintain. Those previous
patches weren't. Trying to modify them for Ruby 3.3 proved to be
problematic.
* I have reordered build dependencies a bit, trying to group them
* readline-devel was dropped, since upstream replaced readline-ext by reline
* Dependency on Rust is still optional and does not influence too much.
I don't think it even impacts `%files` section. That is still good.
* MJIT was replaced by RJIT. I have not tested functionality, but at
least it resolves some issues with misplaced files.
* For a while, since upstream migrated from minitest back to test-unit,
the skipped test were not easily identifiable. Luckily, I have
discovered `--show-skip` option, which lists the skipped tests. And
there are some issues to resolve, upstream as well as downstream. I have
yet to investigate them.
* Racc is now bundled gem instead of default gem. That means it will
live in ruby-bundled-gems. I don't think this should have impact on
anything. However, it made me realize, that we don't have `bundled`
provides for the bundled/default gems. This is a bit annoying, because
maintaining this list is PITA. I have to explore what improvements were
done in the generators area in RPM.
And this is mostly it. Please note that I did very little (or possibly
even less than that ;) ) testing. So be careful. And as always, looking
for your feedback here, in BZ, or PR.
Best,
Vít
3 months, 3 weeks