mvz/alexandria-book-collection-manager

Replace ReXML with Nokogiri?

voxik opened this issue · 0 comments

voxik commented

We are preparing update to Ruby 3.0 in Fedora and Ruby 3.0 moved ReXML from stdlib to bundled gem, therefore rake build (and probably also other things) fails:

+ rake build --trace
** Invoke build (first_time)
** Invoke autogen (first_time)
** Invoke lib/alexandria/default_preferences.rb (first_time)
** Invoke Rakefile (first_time, not_needed)
** Invoke schemas/alexandria.schemas (first_time, not_needed)
** Execute lib/alexandria/default_preferences.rb
rake aborted!
LoadError: cannot load such file -- rexml/document
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
/builddir/build/BUILD/alexandria-book-collection-manager-0.7.8/Rakefile:123:in `block in <top (required)>'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:281:in `block in execute'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:281:in `each'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:281:in `execute'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:199:in `synchronize'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:199:in `invoke_with_call_chain'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:243:in `block in invoke_prerequisites'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:241:in `each'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:241:in `invoke_prerequisites'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:218:in `block in invoke_with_call_chain'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:199:in `synchronize'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:199:in `invoke_with_call_chain'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:243:in `block in invoke_prerequisites'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:241:in `each'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:241:in `invoke_prerequisites'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:218:in `block in invoke_with_call_chain'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:199:in `synchronize'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:199:in `invoke_with_call_chain'
/usr/share/gems/gems/rake-13.0.3/lib/rake/task.rb:188:in `invoke'
/usr/share/gems/gems/rake-13.0.3/lib/rake/application.rb:160:in `invoke_task'
/usr/share/gems/gems/rake-13.0.3/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/usr/share/gems/gems/rake-13.0.3/lib/rake/application.rb:116:in `each'
/usr/share/gems/gems/rake-13.0.3/lib/rake/application.rb:116:in `block in top_level'
/usr/share/gems/gems/rake-13.0.3/lib/rake/application.rb:125:in `run_with_threads'
/usr/share/gems/gems/rake-13.0.3/lib/rake/application.rb:110:in `top_level'
/usr/share/gems/gems/rake-13.0.3/lib/rake/application.rb:83:in `block in run'
/usr/share/gems/gems/rake-13.0.3/lib/rake/application.rb:186:in `standard_exception_handling'
/usr/share/gems/gems/rake-13.0.3/lib/rake/application.rb:80:in `run'
/usr/share/gems/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
/usr/bin/rake:23:in `load'
/usr/bin/rake:23:in `<main>'
Tasks: TOP => build => autogen => lib/alexandria/default_preferences.rb

Since the PR #120 introduced Nokogiri dependency (and removed hpricod 👏), I wonder, if it was not better instead of adding dependency on ReXML to use Nokogiri.

In the mean time, I'm going to add ReXML dependency into Fedora package.