Bug 404102 - tarme.rb requires a too new ruby version on openSUSE Leap 42.3
Summary: tarme.rb requires a too new ruby version on openSUSE Leap 42.3
Status: RESOLVED NOT A BUG
Alias: None
Product: releaseme
Classification: Developer tools
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Harald Sitter
URL:
Keywords:
Depends on:
Blocks: 373932
  Show dependency treegraph
 
Reported: 2019-02-08 16:31 UTC by Ralf Habacker
Modified: 2019-02-12 20:47 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ralf Habacker 2019-02-08 16:31:31 UTC
SUMMARY

ruby tools provided with releasme gitrepo requires a too high ruby interpreter version.

STEPS TO REPRODUCE
1. run ./tarme.rb --version 7.0.2 --origin stable alkimia

OBSERVED RESULT
- Ruby 2.3.0 or 2.4.0 or 2.5.0 or 2.6.0 required.
  Currently using: 2.1.9
/home/ralf/src/releaseme/lib/releaseme/requirement_checker.rb:116:in `check': Not all requirements met. (RuntimeError)
        from /home/ralf/src/releaseme/lib/releaseme/requirements.rb:3:in `<top (required)>'
        from /home/ralf/src/releaseme/lib/releaseme/logable.rb:28:in `require_relative'
        from /home/ralf/src/releaseme/lib/releaseme/logable.rb:28:in `<top (required)>'
        from /home/ralf/src/releaseme/lib/releaseme/cmakeeditor.rb:24:in `require_relative'
        from /home/ralf/src/releaseme/lib/releaseme/cmakeeditor.rb:24:in `<top (required)>'
        from /home/ralf/src/releaseme/lib/releaseme.rb:22:in `require_relative'
        from /home/ralf/src/releaseme/lib/releaseme.rb:22:in `<top (required)>'
        from ./tarme.rb:25:in `require_relative'
        from ./tarme.rb:25:in `<main>'

EXPECTED RESULT
tarme.rb should work with ruby 2.1

SOFTWARE/OS VERSIONS
Windows: 
MacOS: 
Linux: openSUSE Leap 42.3

ADDITIONAL INFORMATION
openSUSE Leap 42.3 is official supported until the end of this year
Comment 1 Harald Sitter 2019-02-08 21:22:46 UTC
Ruby 2.1 is EOL for more than 2 years.

I am going to great lengths to keep compatibility and require only core ruby features, but unfortunately much of the wider ecosystem has moved on and introduced incompatibilities so testing our 2.1 comaptibility is actually not viable anymore. You can manually hack the version check to allow 2.1 or, use rbenv or rvm to provision a newer ruby isolated from your systems (which is what I recommend), or use a docker/lxd container with an actually supported ruby.

I appreciate that this is very annoying but the motivation behind the tight version locking is to ensure that the generate tarballs are in fact going to be exactly what we intend them to be, so if we can't test that I'd rather tighten the compatibility lock than allow potentially broken tarballs getting released on account of us the unit test suite not running on unsupported ruby versions.
Comment 2 Christoph Feck 2019-02-12 20:47:03 UTC
> openSUSE Leap 42.3 is official supported until the end of this year

42.3 ships Ruby 2.4.1

http://download.opensuse.org/distribution/leap/42.3/repo/oss/suse/x86_64/libruby2_4-2_4-2.4.1-2.7.x86_64.rpm.mirrorlist