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=8…
[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
Dear Mamoru,
Could you please check the following two packages which recently started
to fail?
https://koschei.fedoraproject.org/package/rubygem-webmock?collection=f36https://koschei.fedoraproject.org/package/rubygem-websocket-extensions?coll…
I suspect that this is related to the RSpec update, but the errors are
quite strange on the first look:
~~~
1) WebMock::RequestSignature initialization assigns normalized headers
Failure/Error: @headers =
WebMock::Util::Headers.normalize_headers(headers)
#<WebMock::Util::Headers (class)> received :normalize_headers
with unexpected arguments
expected: ({"A"=>"a"})
got: ({"A"=>"a"})
# ./lib/webmock/request_signature.rb:25:in `headers='
# ./lib/webmock/request_signature.rb:49:in `assign_options'
# ./lib/webmock/request_signature.rb:11:in `initialize'
# ./spec/unit/request_signature_spec.rb:23:in `new'
# ./spec/unit/request_signature_spec.rb:23:in `block (3 levels) in
<top (required)>'
# ./lib/webmock/rspec.rb:37:in `block (2 levels) in <top (required)>'
~~~
Thx a lot
Vít
P.S. Sorry for not being more helpful, I have to spent some time with
CentOS Stream 9 to get Ruby into shape there, especially the problematic
SystemTap support [1].
[1] https://bugs.ruby-lang.org/issues/18257
Hi,
I have been working on the validation of Rubygem licenses with the SPDX
format.
all work done so far lives in my fedorapeople space:
https://fedorapeople.org/cgit/jackorp/public_git/spdx_rubygems.git/tree/
It is WIP, including the scripts. (I got a bit sidetracked with
validating MIT variations.)
Note that you have to be in the directory where
`rpm-specs-latest.tar.xz` was upacked into.
From the total of about 500 rubygems (and with my incomplete script) we
have 232 SPDX licenses:
~~~
$ cat current_ok_rb.csv | wc -l
232
~~~
The real count is probably higher, as some gems are simply MIT or have
correct SPDX, however are older so they do not have the license metadata
included that I can compare to.
See this list for complete info:
https://fedorapeople.org/cgit/jackorp/public_git/spdx_rubygems.git/tree/rbg…
You can see the `current_ok_rb.csv` in the same repository.
So far, I have validated mostly MIT (as those are the easiest to get
right), I will need to fix the script before my next update to account
for other licenses too.
If your gem has multiple valid SPDX license identifiers, but are in
conjunction using "and" "or" instead of "AND" "OR", the script will be
able to catch that and I'll make a PR to the gem
with the converted form should that be the case.
There are also a few gems excluded from the search as they do not have a
gem in Fedora's sources cache.
These gems are: rubygem-morph-cli rubygem-krb5-auth rubygem-asciidoctor
rubygem-rgen rubygem-net-irc
I have not run the script against them, they are explicitly excluded,
since so far I am only comparing the RPM Spec against gem2rpm output.
== Plan ==
I plan to do this in 2 main phases:
1) Initial pass
This is just a pass through the packages to note all packages that
are already SPDX compatible.
2a) Inspecting and fixing
This probably will be mostly manual work to identify correct
licenses for gems that do not have license in the gemspec metadata.
Also convert Callaway convention to the correct SPDX identifier.
This cannot be reliably automated for example
the BSD license can be converted to 4 different SPDX license
identifiers. However, tooling can give an idea of what the licensing
probably is.
At that point I will be mainly looking on Fedora spec's license,
whether it has valid SPDX or not.
2b) Validate MIT licenses
MIT license has multiple variants. While it mostly seems that the
gem MIT licenses are under what SPDX also considers MIT, I'd like to
validate that assumption.
== How to help ==
Make sure your rubygem package has a license in Fedora's specfile that
is a valid SPDX license identifier.
You can also take a look at the gems where license does not match
between gem2rpm and fedora (RubyGems should use SPDX, even though it is
older version, that's a good pointer for us)
and fix them.
On closing note, be wary of licenses like "LGPL-2.1+", it is valid,
however deprecated by current SPDX version and the `license-validate`
tool won't accept it.
See https://spdx.org/licenses/ for complete license list including the
list of deprecated identifiers.
Thanks,
Jarek
Hello,
I found the gem install <native extension gem> fails on the Ruby on the rawhide.
I reported it to the package-notes RPM.
https://bugzilla.redhat.com/show_bug.cgi?id=2142119https://bugzilla.redhat.com/show_bug.cgi?id=2142119#c1
Maybe a temporary workaround we can do soon is to set the macro below
in the ruby.spec.
```
%undefine _package_note_file
```
But essentially we need to do something in the `ruby.spec` not to
expose the redhat-rpm-config RPM or Red Hat specific RPMs such as
package-notes RPM. Possible ways are below.
A. Modify rbconfig.rb by such as `sed` command.
B. Add another logic to create the `reconfig.rb` by `make rbconfig.rb`
with extension flags, and ship it in the Ruby RPM.
C. Update the configure script with proper arguments or command options.
https://src.fedoraproject.org/rpms/ruby/pull-request/117
Feel free to take this task.
--
Jun | He - Him | Timezone: UTC+1 or 2, Czech Republic
See <https://www.worldtimebuddy.com/czech-republic-prague-to-utc> for
the timezone.
As Web Assembly (WASM) gains momentum we’d like to create a SIG as a place to collaborate
to ensure that Fedora is a great platform to both build and run WASM workloads. This
includes looking at the toolchains needed to build WASM as a target and the runtimes
needed to run WASM. It will provide a place to bring together efforts across different
ecosystems (nodejs, rust, compiler toolchains, etc.) as well as a place where people can
provide self-help when building and running WASM workloads
If you are interested please let us know in this thread -
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org…