Initialize for ruby2.5
This commit is contained in:
commit
a590770d27
11 changed files with 4677 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ruby-2.5.9.tar.xz
|
1
.ruby2.5.metadata
Normal file
1
.ruby2.5.metadata
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ddaa9e107b816140e45e896b081f5b8a886f7fef415d0b52798c937814e08dff ruby-2.5.9.tar.xz
|
BIN
did_you_mean-1.2.0.gem
Normal file
BIN
did_you_mean-1.2.0.gem
Normal file
Binary file not shown.
13
remove-unneeded-files.patch
Normal file
13
remove-unneeded-files.patch
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
Index: ruby-2.5.7/gems/did_you_mean-1.2.0/did_you_mean.gemspec
|
||||||
|
===================================================================
|
||||||
|
--- ruby-2.5.7.orig/gems/did_you_mean-1.2.0/did_you_mean.gemspec
|
||||||
|
+++ ruby-2.5.7/gems/did_you_mean-1.2.0/did_you_mean.gemspec
|
||||||
|
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
|
||||||
|
s.date = "2017-12-13"
|
||||||
|
s.description = "The gem that has been saving people from typos since 2014.".freeze
|
||||||
|
s.email = ["mail@yukinishijima.net".freeze]
|
||||||
|
- s.files = [".gitignore".freeze, ".ruby-version".freeze, ".travis.yml".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "LICENSE.txt".freeze, "README.md".freeze, "Rakefile".freeze, "benchmark/jaro_winkler/memory_usage.rb".freeze, "benchmark/jaro_winkler/speed.rb".freeze, "benchmark/levenshtein/memory_usage.rb".freeze, "benchmark/levenshtein/speed.rb".freeze, "benchmark/memory_usage.rb".freeze, "did_you_mean.gemspec".freeze, "doc/CHANGELOG.md.erb".freeze, "doc/changelog_generator.rb".freeze, "evaluation/calculator.rb".freeze, "evaluation/dictionary_generator.rb".freeze, "evaluation/incorrect_words.yaml".freeze, "lib/did_you_mean.rb".freeze, "lib/did_you_mean/core_ext/name_error.rb".freeze, "lib/did_you_mean/experimental.rb".freeze, "lib/did_you_mean/experimental/initializer_name_correction.rb".freeze, "lib/did_you_mean/experimental/ivar_name_correction.rb".freeze, "lib/did_you_mean/formatters/plain_formatter.rb".freeze, "lib/did_you_mean/formatters/verbose_formatter.rb".freeze, "lib/did_you_mean/jaro_winkler.rb".freeze, "lib/did_you_mean/levenshtein.rb".freeze, "lib/did_you_mean/spell_checker.rb".freeze, "lib/did_you_mean/spell_checkers/key_error_checker.rb".freeze, "lib/did_you_mean/spell_checkers/method_name_checker.rb".freeze, "lib/did_you_mean/spell_checkers/name_error_checkers.rb".freeze, "lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb".freeze, "lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb".freeze, "lib/did_you_mean/spell_checkers/null_checker.rb".freeze, "lib/did_you_mean/verbose.rb".freeze, "lib/did_you_mean/verbose_formatter.rb".freeze, "lib/did_you_mean/version.rb".freeze, "test/core_ext/name_error_extension_test.rb".freeze, "test/edit_distance/jaro_winkler_test.rb".freeze, "test/experimental/initializer_name_correction_test.rb".freeze, "test/experimental/method_name_checker_test.rb".freeze, "test/spell_checker_test.rb".freeze, "test/spell_checking/class_name_check_test.rb".freeze, "test/spell_checking/key_name_check_test.rb".freeze, "test/spell_checking/method_name_check_test.rb".freeze, "test/spell_checking/uncorrectable_name_check_test.rb".freeze, "test/spell_checking/variable_name_check_test.rb".freeze, "test/test_helper.rb".freeze, "test/verbose_formatter_test.rb".freeze]
|
||||||
|
+ s.files = [".gitignore".freeze, ".ruby-version".freeze, ".travis.yml".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "LICENSE.txt".freeze, "README.md".freeze, "Rakefile".freeze, "benchmark/jaro_winkler/memory_usage.rb".freeze, "benchmark/jaro_winkler/speed.rb".freeze, "benchmark/levenshtein/memory_usage.rb".freeze, "benchmark/levenshtein/speed.rb".freeze, "benchmark/memory_usage.rb".freeze, "did_you_mean.gemspec".freeze, "doc/CHANGELOG.md.erb".freeze, "doc/changelog_generator.rb".freeze, "evaluation/calculator.rb".freeze, "evaluation/dictionary_generator.rb".freeze, "evaluation/incorrect_words.yaml".freeze, "lib/did_you_mean.rb".freeze, "lib/did_you_mean/core_ext/name_error.rb".freeze, "lib/did_you_mean/experimental.rb".freeze, "lib/did_you_mean/experimental/initializer_name_correction.rb".freeze, "lib/did_you_mean/experimental/ivar_name_correction.rb".freeze, "lib/did_you_mean/formatters/plain_formatter.rb".freeze, "lib/did_you_mean/formatters/verbose_formatter.rb".freeze, "lib/did_you_mean/jaro_winkler.rb".freeze, "lib/did_you_mean/levenshtein.rb".freeze, "lib/did_you_mean/spell_checker.rb".freeze, "lib/did_you_mean/spell_checkers/key_error_checker.rb".freeze, "lib/did_you_mean/spell_checkers/method_name_checker.rb".freeze, "lib/did_you_mean/spell_checkers/name_error_checkers.rb".freeze, "lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb".freeze, "lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb".freeze, "lib/did_you_mean/spell_checkers/null_checker.rb".freeze, "lib/did_you_mean/verbose.rb".freeze, "lib/did_you_mean/verbose_formatter.rb".freeze, "lib/did_you_mean/version.rb".freeze, "test/core_ext/name_error_extension_test.rb".freeze, "test/edit_distance/jaro_winkler_test.rb".freeze, "test/experimental/initializer_name_correction_test.rb".freeze, "test/experimental/method_name_checker_test.rb".freeze, "test/spell_checker_test.rb".freeze, "test/spell_checking/class_name_check_test.rb".freeze, "test/spell_checking/key_name_check_test.rb".freeze, "test/spell_checking/method_name_check_test.rb".freeze, "test/spell_checking/uncorrectable_name_check_test.rb".freeze, "test/spell_checking/variable_name_check_test.rb".freeze, "test/test_helper.rb".freeze, "test/verbose_formatter_test.rb".freeze].reject{|path| path.start_with?('evaluation/') }
|
||||||
|
s.homepage = "https://github.com/yuki24/did_you_mean".freeze
|
||||||
|
s.licenses = ["MIT".freeze]
|
||||||
|
s.required_ruby_version = Gem::Requirement.new(">= 2.5.0dev".freeze)
|
7
ruby2.5-default.macros
Normal file
7
ruby2.5-default.macros
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
%rb_default_ruby_suffix ruby2.5
|
||||||
|
|
||||||
|
%rb_default_ruby ruby25
|
||||||
|
%rb_default_ruby_abi ruby:2.5.0
|
||||||
|
|
||||||
|
%rb_build_versions %rb_default_ruby
|
||||||
|
%rb_build_ruby_abis %rb_default_ruby_abi
|
2
ruby2.5-rpmlintrc
Normal file
2
ruby2.5-rpmlintrc
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
addFilter("files-duplicate /usr/share/ri/.*")
|
||||||
|
addFilter("unexpanded-macro /usr/share/ri/.*")
|
326
ruby2.5.changes
Normal file
326
ruby2.5.changes
Normal file
|
@ -0,0 +1,326 @@
|
||||||
|
* Fri Oct 20 2023 mrueckert@suse.de
|
||||||
|
- update suse.patch to 531fb8b2cc
|
||||||
|
- fix quadratic behavior in the uri parser (boo#1209891
|
||||||
|
CVE-2023-28755)
|
||||||
|
- fix expensive regexp in the RFC2822 time parser (boo#1209967
|
||||||
|
CVE-2023-28756)
|
||||||
|
- backport date 2.0.3 (boo#1193035 CVE-2021-41817)
|
||||||
|
- merge CGI 0.1.0.2: (boo#1205726 CVE-2021-33621)
|
||||||
|
- When parsing cookies, only decode the values
|
||||||
|
- HTTP response splitting in CGI
|
||||||
|
* Mon Sep 5 2022 mrueckert@suse.de
|
||||||
|
- Update suse.patch to 41adc98ad1:
|
||||||
|
- Cookie Prefix Spoofing in CGI::Cookie.parse (boo#1193081 CVE-2021-41819)
|
||||||
|
- add back some lost chunks to the suse.patch
|
||||||
|
* Wed Apr 20 2022 mrueckert@suse.de
|
||||||
|
- Update suse.patch:
|
||||||
|
- backport fix for CVE-2022-28739: ruby: Buffer overrun in
|
||||||
|
String-to-Float conversion (boo#1198441)
|
||||||
|
- back port date 2.0.3 CVE-2021-41817 (boo#1193035)
|
||||||
|
- merge the previous bug fixes into suse.patch
|
||||||
|
- CVE-2021-32066.patch
|
||||||
|
- CVE-2021-31810.patch
|
||||||
|
- CVE-2021-31799.patch
|
||||||
|
* Wed Apr 20 2022 mrueckert@suse.de
|
||||||
|
- Add Requires to make and gcc to ruby-devel to make the default
|
||||||
|
extconf.rb work
|
||||||
|
* Thu Nov 11 2021 ali.abdallah@suse.com
|
||||||
|
Add patches to fix the following CVE's:
|
||||||
|
- CVE-2021-32066.patch (CVE-2021-32066): Fix StartTLS stripping
|
||||||
|
vulnerability in Net:IMAP (bsc#1188160)
|
||||||
|
- CVE-2021-31810.patch (CVE-2021-31810): Fix trusting FTP PASV
|
||||||
|
responses vulnerability in Net:FTP (bsc#1188161)
|
||||||
|
- CVE-2021-31799.patch (CVE-2021-31799): Fix Command injection
|
||||||
|
vulnerability in RDoc (bsc#1190375)
|
||||||
|
* Tue Apr 13 2021 mrueckert@suse.de
|
||||||
|
- Update to 2.5.9 (boo#1184644)
|
||||||
|
https://www.ruby-lang.org/en/news/2021/04/05/ruby-2-5-9-released/
|
||||||
|
- CVE-2020-25613: Potential HTTP Request Smuggling Vulnerability
|
||||||
|
in WEBrick
|
||||||
|
- CVE-2021-28965: XML round-trip vulnerability in REXML
|
||||||
|
Complete list of changes at
|
||||||
|
https://github.com/ruby/ruby/compare/v2_5_8...v2_5_9
|
||||||
|
- Update suse.patch:
|
||||||
|
Remove fix for CVE-2020-25613 as it is included in the update
|
||||||
|
* Mon Mar 15 2021 mrueckert@suse.de
|
||||||
|
- Update suse.patch: (boo#1177125)
|
||||||
|
Backport fix CVE-2020-25613: Potential HTTP Request Smuggling
|
||||||
|
Vulnerability in WEBrick
|
||||||
|
* Fri Oct 16 2020 mrueckert@suse.de
|
||||||
|
- replace all patches with suse.patch (v2_5_8..2.5-suse)
|
||||||
|
(we keep remove-unneeded-files.patch as it can not be done in our
|
||||||
|
backports branch)
|
||||||
|
- backport patch to enable optimizations also on ARM64
|
||||||
|
(boo#1177222)
|
||||||
|
* Tue Apr 28 2020 mrueckert@suse.de
|
||||||
|
- make sure that update-alternative weight for the default
|
||||||
|
distribution is always greater than our normal weight
|
||||||
|
* Tue Apr 28 2020 mrueckert@suse.de
|
||||||
|
- make the update-alternative weight based on the ruby version
|
||||||
|
* Tue Apr 7 2020 mrueckert@suse.de
|
||||||
|
- Update to 2.5.8 (boo#1167244 boo#1168938)
|
||||||
|
- CVE-2020-10663: Unsafe Object Creation Vulnerability in JSON
|
||||||
|
(Additional fix)
|
||||||
|
- CVE-2020-10933: Heap exposure vulnerability in the socket
|
||||||
|
library
|
||||||
|
https://github.com/ruby/ruby/compare/v2_5_7...v2_5_8
|
||||||
|
- drop CVE-2020-8130.patch and rake-12.3.0.gem: included upstream
|
||||||
|
* Fri Mar 6 2020 mrueckert@suse.de
|
||||||
|
- Fix CVE-2020-8130 (boo# 1164804) for the intree copy of rake:
|
||||||
|
- add CVE-2020-8130.patch and rake-12.3.0.gem
|
||||||
|
* Thu Feb 6 2020 mrueckert@suse.de
|
||||||
|
- remove test files which are not needed at runtime (boo#1162396)
|
||||||
|
- adds remove-unneeded-files.patch and did_you_mean-1.2.0.gem
|
||||||
|
* Tue Oct 8 2019 mrueckert@suse.de
|
||||||
|
- update to 2.5.7
|
||||||
|
- https://www.ruby-lang.org/en/news/2019/10/01/ruby-2-5-7-released/
|
||||||
|
- CVE-2019-16255: A code injection vulnerability of Shell#[]
|
||||||
|
and Shell#test (boo#1152990)
|
||||||
|
- CVE-2019-16254: HTTP response splitting in WEBrick
|
||||||
|
(Additional fix) (boo#1152992)
|
||||||
|
- CVE-2019-15845: A NUL injection vulnerability of File.fnmatch
|
||||||
|
and File.fnmatch? (boo#1152994)
|
||||||
|
- CVE-2019-16201: Regular Expression Denial of Service
|
||||||
|
vulnerability of WEBrick’s Digest access authentication
|
||||||
|
(boo#1152995)
|
||||||
|
- https://www.ruby-lang.org/en/news/2019/08/28/ruby-2-5-6-released/
|
||||||
|
- Multiple jQuery vulnerabilities in RDoc (CVE-2012-6708
|
||||||
|
CVE-2015-9251)
|
||||||
|
* Tue Jul 9 2019 mrueckert@suse.de
|
||||||
|
- fix running tests (boo#1140844)
|
||||||
|
just passing the DISABLED_TESTS variable is wrong. probably a
|
||||||
|
relict from calling the test scripts directly. use TESTOPTS now.
|
||||||
|
* Thu Jun 13 2019 mrueckert@suse.de
|
||||||
|
- refreshed patches with new patch series:
|
||||||
|
0001-make-gem-build-reproducible.patch
|
||||||
|
0002-gc.c-tick-for-POWER-arch.patch
|
||||||
|
0003-Mark-Gemspec-reproducible-change-fixing-784225-too.patch
|
||||||
|
0004-Make-gemspecs-reproducible.patch
|
||||||
|
- rename patch now that it is generated from git:
|
||||||
|
old: 450160263aed8c446ce5b142d71f921ab4118f3a.patch
|
||||||
|
new: 0005-Include-the-alternative-malloc-header-instead-of-mal.patch
|
||||||
|
old: use-pie.patch
|
||||||
|
new: 0006-Use-PIE-for-the-binaries.patch
|
||||||
|
- ruby: change over of the Japanese Era to the new emperor May
|
||||||
|
1st 2019 (boo#1133790)
|
||||||
|
0007-date-support-for-Reiwa-new-Japanese-era.patch
|
||||||
|
* Wed Mar 27 2019 mrueckert@suse.de
|
||||||
|
- for some reason the --enable-pie option does not work as
|
||||||
|
expected. Fix this for now with a patch that just injects the
|
||||||
|
- pie flag in the Makefile (adds use-pie.patch) (boo#1130028)
|
||||||
|
* Fri Mar 15 2019 mrueckert@suse.de
|
||||||
|
- update to 2.5.5
|
||||||
|
https://www.ruby-lang.org/en/news/2019/03/13/ruby-2-5-4-released/
|
||||||
|
- CVE-2019-8320: Delete directory using symlink when
|
||||||
|
decompressing tar (boo#1130627)
|
||||||
|
- CVE-2019-8321: Escape sequence injection vulnerability in
|
||||||
|
verbose (boo#1130623)
|
||||||
|
- CVE-2019-8322: Escape sequence injection vulnerability in gem
|
||||||
|
owner (boo#1130622)
|
||||||
|
- CVE-2019-8323: Escape sequence injection vulnerability in API
|
||||||
|
response handling (boo#1130620)
|
||||||
|
- CVE-2019-8324: Installing a malicious gem may lead to arbitrary
|
||||||
|
code execution (boo#1130617)
|
||||||
|
- CVE-2019-8325: Escape sequence injection vulnerability in
|
||||||
|
errors (boo#1130611)
|
||||||
|
https://www.ruby-lang.org/en/news/2019/03/15/ruby-2-5-5-released/
|
||||||
|
* Thu Feb 7 2019 mrueckert@suse.de
|
||||||
|
- replace the awk based provides generation with the new file-attr
|
||||||
|
handler in ruby-bundled-gems-rpmhelper
|
||||||
|
This kills one provides rubygem-name = version
|
||||||
|
But this should not have be used since a while anymore.
|
||||||
|
- add option to build without docs for testing
|
||||||
|
- provide support to undo the split of the stdlib:
|
||||||
|
pass --without=separate_stdlib to "osc build"
|
||||||
|
* Fri Nov 23 2018 mliska@suse.cz
|
||||||
|
- Use parallel make.
|
||||||
|
* Thu Nov 22 2018 mliska@suse.cz
|
||||||
|
- Disable compressed sections as they are not supported by rpm
|
||||||
|
(https://bugs.ruby-lang.org/issues/12934).
|
||||||
|
* Wed Nov 7 2018 mrueckert@suse.de
|
||||||
|
- update to 2.5.3
|
||||||
|
This release includes some bug fixes and some security fixes.
|
||||||
|
- CVE-2018-16396: Tainted flags are not propagated in Array#pack
|
||||||
|
and String#unpack with some directives (boo#1112532)
|
||||||
|
- CVE-2018-16395: OpenSSL::X509::Name equality check does not
|
||||||
|
work correctly (boo#1112530)
|
||||||
|
https://github.com/ruby/ruby/compare/v2_5_1...v2_5_3
|
||||||
|
- drop frozen-pop3.patch
|
||||||
|
* Tue Oct 16 2018 mrueckert@suse.de
|
||||||
|
- backport 450160263aed8c446ce5b142d71f921ab4118f3a.patch:
|
||||||
|
Include the alternative malloc header instead of malloc.h
|
||||||
|
* Tue Aug 28 2018 mrueckert@suse.de
|
||||||
|
- update to 2.5.1
|
||||||
|
This release includes some bug fixes and some security fixes.
|
||||||
|
- CVE-2017-17742: HTTP response splitting in WEBrick
|
||||||
|
(boo#1087434)
|
||||||
|
- CVE-2018-6914: Unintentional file and directory creation with
|
||||||
|
directory traversal in tempfile and tmpdir (boo#1087441)
|
||||||
|
- CVE-2018-8777: DoS by large request in WEBrick (boo#1087436)
|
||||||
|
- CVE-2018-8778: Buffer under-read in String#unpack (boo#1087433)
|
||||||
|
- CVE-2018-8779: Unintentional socket creation by poisoned NUL
|
||||||
|
byte in UNIXServer and UNIXSocket (boo#1087440)
|
||||||
|
- CVE-2018-8780: Unintentional directory traversal by poisoned
|
||||||
|
NUL byte in Dir (boo#1087437)
|
||||||
|
- Multiple vulnerabilities in RubyGems
|
||||||
|
CVE-2018-1000079 (boo#1082058)
|
||||||
|
CVE-2018-1000075 (boo#1082014)
|
||||||
|
CVE-2018-1000078 (boo#1082011)
|
||||||
|
CVE-2018-1000077 (boo#1082010)
|
||||||
|
CVE-2018-1000076 (boo#1082009)
|
||||||
|
CVE-2018-1000074 (boo#1082008)
|
||||||
|
CVE-2018-1000073 (boo#1082007)
|
||||||
|
https://github.com/ruby/ruby/compare/v2_5_0...v2_5_1
|
||||||
|
* Tue Aug 28 2018 mrueckert@suse.de
|
||||||
|
- added frozen-pop3.patch:
|
||||||
|
Net::POPMail methods modify frozen literal when using default arg
|
||||||
|
https://redmine.ruby-lang.org/issues/14416
|
||||||
|
* Thu Mar 22 2018 mrueckert@suse.de
|
||||||
|
- wrong files where installed from the macro files after adding
|
||||||
|
dump-version.rb
|
||||||
|
* Thu Jan 25 2018 mrueckert@suse.de
|
||||||
|
- fix dump-versions.rb: it was picking up system rdoc versions on
|
||||||
|
some source dirs
|
||||||
|
* Mon Jan 15 2018 mrueckert@suse.de
|
||||||
|
- add reproducible build patches from debian
|
||||||
|
0003-Mark-Gemspec-reproducible-change-fixing-784225-too.patch
|
||||||
|
0004-Make-gemspecs-reproducible.patch
|
||||||
|
* Mon Dec 25 2017 mrueckert@suse.de
|
||||||
|
- drop 316f58076d29dcff053256992d9ec19fed7e698f.patch
|
||||||
|
- no longer bundling bundler
|
||||||
|
* Mon Dec 25 2017 mrueckert@suse.de
|
||||||
|
- update to 2.5.0 final
|
||||||
|
Ruby 2.5.0 is the first stable release of the Ruby 2.5 series. It
|
||||||
|
introduces many new features and performance improvements. The
|
||||||
|
notable changes are as follows:
|
||||||
|
- New Features
|
||||||
|
- rescue/else/ensure are now allowed to be used directly with
|
||||||
|
do/end blocks. [Feature #12906]
|
||||||
|
- Add yield_self to yield given block in its context. Unlike
|
||||||
|
tap, it returns the result of the block. [Feature #6721]
|
||||||
|
- Support branch coverage and method coverage measurement. The
|
||||||
|
branch coverage indicates which branches are executed and
|
||||||
|
which are not. The method coverage indicates which methods
|
||||||
|
are invoked and which are not. By running the test suite with
|
||||||
|
these new features, you will know which branches and methods
|
||||||
|
are executed, and evaluate total coverage of the test suite
|
||||||
|
more strictly. [Feature #13901]
|
||||||
|
- Hash#slice [Feature #8499] and Hash#transform_keys [Feature
|
||||||
|
[#13583]]
|
||||||
|
- Struct.new can create classes that accept keyword arguments.
|
||||||
|
[Feature #11925]
|
||||||
|
- Enumerable#any?,all?,none? and one? accept a pattern argument
|
||||||
|
[Feature #11286]
|
||||||
|
- Top-level constant look-up is no longer available. [Feature
|
||||||
|
[#11547]]
|
||||||
|
- One of our most loved libraries, pp.rb, is now automatically
|
||||||
|
loaded. You no longer have to write require "pp". [Feature
|
||||||
|
[#14123]]
|
||||||
|
- Print backtrace and error message in reverse order (oldest
|
||||||
|
call first, most recent call last). When a long backtrace
|
||||||
|
appears on your terminal (TTY), you can easily find the cause
|
||||||
|
line at the bottom of the backtrace. Note that the order is
|
||||||
|
reversed only when backtrace is printed out to the terminal
|
||||||
|
directly. [Feature #8661] [experimental]
|
||||||
|
- Performance improvements
|
||||||
|
- About 5-10%% performance improvement by removing all trace
|
||||||
|
instructions from overall bytecode (instruction sequences).
|
||||||
|
The trace instruction was added to support the TracePoint.
|
||||||
|
However, in most cases, TracePoint is not used and trace
|
||||||
|
instructions are pure overhead. Instead, now we use a dynamic
|
||||||
|
instrumentation technique. See [Feature #14104] for more
|
||||||
|
details.
|
||||||
|
- Block passing by a block parameter (e.g. def foo(&b);
|
||||||
|
bar(&b); end) is about 3 times faster than Ruby 2.4 by “Lazy
|
||||||
|
Proc allocation” technique. [Feature #14045]
|
||||||
|
- Mutex is rewritten to be smaller and faster. [Feature #13517]
|
||||||
|
- ERB now generates code from a template which runs twice as
|
||||||
|
fast as Ruby 2.4.
|
||||||
|
- Improve performance of some built-in methods including
|
||||||
|
Array#concat, Enumerable#sort_by, String#concat,
|
||||||
|
String#index, Time#+ and more.
|
||||||
|
- IO.copy_stream uses copy_file_range(2) to copy offload
|
||||||
|
[Feature #13867]
|
||||||
|
- Other notable changes since 2.4
|
||||||
|
- SecureRandom now prefers OS-provided sources over OpenSSL.
|
||||||
|
[Bug #9569]
|
||||||
|
- Promote cmath, csv, date, dbm, etc, fcntl, fiddle, fileutils,
|
||||||
|
gdbm, ipaddr, scanf, sdbm, stringio, strscan, webrick, zlib
|
||||||
|
from standard libraries to default gems.
|
||||||
|
- Update to Onigmo 6.1.3.
|
||||||
|
- It adds the absence operator.
|
||||||
|
- Note that Ruby 2.4.1 also includes this change.
|
||||||
|
- Update to Psych 3.0.2.
|
||||||
|
- Update to RubyGems 2.7.3.
|
||||||
|
- Update to RDoc 6.0.1.
|
||||||
|
- Switch the lexer from IRB based one to Ripper. This
|
||||||
|
dramatically improves the performance of document
|
||||||
|
generation.
|
||||||
|
- Fix a significant amount of bugs that existed over ten
|
||||||
|
years.
|
||||||
|
- Add support for new Ruby syntax from the latest versions.
|
||||||
|
- Update supported Unicode version to 10.0.0.
|
||||||
|
- Thread.report_on_exception is now set to true by default.
|
||||||
|
This change helps debugging of multi-threaded programs.
|
||||||
|
[Feature #14143]
|
||||||
|
- IO#write now receives multiple arguments [Feature #9323] For
|
||||||
|
details see: https://github.com/ruby/ruby/blob/v2_5_0/NEWS
|
||||||
|
https://github.com/ruby/ruby/compare/v2_4_0...v2_5_0
|
||||||
|
* Tue Dec 19 2017 mrueckert@suse.de
|
||||||
|
- switch to https urls
|
||||||
|
* Mon Dec 18 2017 mrueckert@suse.de
|
||||||
|
- update to 2.5.0~rc1
|
||||||
|
https://www.ruby-lang.org/en/news/2017/12/14/ruby-2-5-0-rc1-released/
|
||||||
|
- added 316f58076d29dcff053256992d9ec19fed7e698f.patch
|
||||||
|
to fix building rbtrace and ruby-prof
|
||||||
|
* Mon Nov 20 2017 mrueckert@suse.de
|
||||||
|
- disable jemalloc again because of: (boo#1068883)
|
||||||
|
https://github.com/jemalloc/jemalloc/issues/937
|
||||||
|
* Fri Nov 17 2017 mrueckert@suse.de
|
||||||
|
- update to 60813
|
||||||
|
see installed /usr/share/doc/packages/ruby2.5/ChangeLog
|
||||||
|
* Wed Nov 15 2017 mrueckert@suse.de
|
||||||
|
- update to 60739
|
||||||
|
see installed /usr/share/doc/packages/ruby2.5/ChangeLog
|
||||||
|
* Wed Nov 15 2017 mrueckert@suse.de
|
||||||
|
- make the whole u-a handling less error prone by having the list
|
||||||
|
in variable ua-binaries
|
||||||
|
* Thu Nov 9 2017 jdelvare@suse.de
|
||||||
|
- Add conflicts to libruby to make sure ruby and ruby-stdlib are
|
||||||
|
also updated when libruby is updated (bsc#1048072.)
|
||||||
|
* Thu Nov 9 2017 mrueckert@suse.de
|
||||||
|
- exclude all testsuites for the stdlib gems
|
||||||
|
* Wed Nov 8 2017 mrueckert@suse.de
|
||||||
|
- build jemalloc
|
||||||
|
* Tue Oct 31 2017 mrueckert@suse.de
|
||||||
|
- update to 60568
|
||||||
|
see installed /usr/share/doc/packages/ruby2.5/ChangeLog
|
||||||
|
- this fixes the "ruby -rubygems" on 2.5
|
||||||
|
* Wed Oct 4 2017 mrueckert@suse.de
|
||||||
|
- update intree gem list
|
||||||
|
- bundler is now part of core too!
|
||||||
|
* Wed Oct 4 2017 mrueckert@suse.de
|
||||||
|
- update to r60035:
|
||||||
|
see installed /usr/share/doc/packages/ruby2.5/ChangeLog
|
||||||
|
- revert some of the wrong Group changes
|
||||||
|
- drop autoreconf -fi and the buildrequires for the related
|
||||||
|
packages
|
||||||
|
* Fri Sep 22 2017 mrueckert@suse.de
|
||||||
|
- make it easier to sync the versions from the gemspec with the
|
||||||
|
spec file:
|
||||||
|
ruby dump-versions.rb $unpacked_tarball_dir
|
||||||
|
* Fri Sep 22 2017 mrueckert@suse.de
|
||||||
|
- add conflicts for all intree gems
|
||||||
|
* Mon Sep 11 2017 jengelh@inai.de
|
||||||
|
- Fix RPM groups. Replace old RPM macros by modern ones.
|
||||||
|
- Ensure neutrality of descriptions.
|
||||||
|
* Fri Sep 8 2017 mrueckert@suse.de
|
||||||
|
- update to 59623
|
||||||
|
* Wed Aug 9 2017 mrueckert@suse.de
|
||||||
|
- fix gem provides
|
||||||
|
- install macro files with 2.5 version
|
||||||
|
* Wed Aug 9 2017 mrueckert@suse.de
|
||||||
|
- initial package (Fate#324013)
|
||||||
|
- port 2 patches we still need from the 2.4 package:
|
||||||
|
0001-make-gem-build-reproducible.patch
|
||||||
|
0002-gc.c-tick-for-POWER-arch.patch
|
16
ruby2.5.macros
Normal file
16
ruby2.5.macros
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#
|
||||||
|
# IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
|
||||||
|
#
|
||||||
|
# if you change any macros here you have to update the copy in the
|
||||||
|
# prjconf aswell.
|
||||||
|
#
|
||||||
|
# IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
|
||||||
|
#
|
||||||
|
%rubygemsruby25() rubygem(ruby:2.5.0:%{expand:%%rubygemsx%*} %{expand:%%{rubygems%*}}
|
||||||
|
%rubygemsxruby25() %{expand:%%{rubygemsx%*}}
|
||||||
|
|
||||||
|
%rubyruby25() ruby2.5 %{expand:%%rubyx%*} %{expand:%%{ruby%*}}
|
||||||
|
%rubyxruby25() %{expand:%%{rubyx%*}}
|
||||||
|
|
||||||
|
%rubydevelruby25() ruby2.5-devel %{expand:%%rubydevelx%*} %{expand:%%{rubydevel%*}}
|
||||||
|
%rubydevelxruby25() %{expand:%%{rubydevelx%*}}
|
456
ruby2.5.spec
Normal file
456
ruby2.5.spec
Normal file
|
@ -0,0 +1,456 @@
|
||||||
|
#
|
||||||
|
# spec file for package ruby2.5
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022-2023 ZhuningOS
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: ruby2.5
|
||||||
|
|
||||||
|
####
|
||||||
|
#!!!
|
||||||
|
#!!! when updating, check versions of embedded rubygems in package stdlib below
|
||||||
|
#!!!
|
||||||
|
####
|
||||||
|
|
||||||
|
%define patch_level p0
|
||||||
|
Version: 2.5.9
|
||||||
|
Release: 150000.4.29.1
|
||||||
|
%define pkg_version %{version}
|
||||||
|
# make the exported API version explicit
|
||||||
|
%define api_version 2.5.0
|
||||||
|
%define rb_binary_suffix .ruby2.5
|
||||||
|
%define rb_soname ruby2.5
|
||||||
|
%define _rb_ua_weight 25
|
||||||
|
|
||||||
|
# ruby-macros and ruby-common version
|
||||||
|
%define rpm_macros_version 3
|
||||||
|
|
||||||
|
#
|
||||||
|
%define libname libruby2_5-2_5
|
||||||
|
# keep in sync with macro file!
|
||||||
|
%define rb_ver %{api_version}
|
||||||
|
%define rb_arch %(echo %{_target_cpu}-linux-gnu | sed -e "s/ppc/powerpc/")
|
||||||
|
%define rb_arch_short %(echo %{_target_cpu}-linux | sed -e "s/ppc/powerpc/ ; s/i[0-9]86/x86/")
|
||||||
|
%define rb_libdir %{_libdir}/ruby/%{rb_ver}/
|
||||||
|
%define rb_archdir %{_libdir}/ruby/%{rb_ver}/%{rb_arch}
|
||||||
|
%define rb_extdir %{_libdir}/ruby/gems/%{rb_ver}/extensions/
|
||||||
|
%define rb_extarchdir %{_libdir}/ruby/gems/%{rb_ver}/extensions/%{rb_arch_short}/
|
||||||
|
%define rb_extversionedarchdir %{_libdir}/ruby/gems/%{rb_ver}/extensions/%{rb_arch_short}/%{rb_ver}
|
||||||
|
%define rb_extdocdir %{_libdir}/ruby/gems/%{rb_ver}/doc/extensions
|
||||||
|
%define rb_extarchdocdir %{_libdir}/ruby/gems/%{rb_ver}/doc/extensions/%{rb_arch_short}
|
||||||
|
|
||||||
|
%if "%{rb_default_ruby_suffix}" == "%{rb_soname}"
|
||||||
|
%define is_default_ruby 1
|
||||||
|
%define rb_ua_weight 1%{_rb_ua_weight}
|
||||||
|
%else
|
||||||
|
%define rb_ua_weight %{_rb_ua_weight}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%define ua_binaries rake rdoc ri
|
||||||
|
# keep in sync with macro file!
|
||||||
|
#
|
||||||
|
# from valgrind.spec
|
||||||
|
%ifarch %ix86 x86_64 ppc ppc64
|
||||||
|
%define use_valgrind 1
|
||||||
|
%endif
|
||||||
|
# turn on testsuite by default. we dont hard fail anyway.
|
||||||
|
%bcond_without run_tests
|
||||||
|
%bcond_without build_docs
|
||||||
|
%if 0%{?is_opensuse} || 0%{?sle_version} >= 150000
|
||||||
|
%bcond_with jemalloc
|
||||||
|
%else
|
||||||
|
%bcond_with jemalloc
|
||||||
|
%endif
|
||||||
|
%bcond_without separate_stdlib
|
||||||
|
|
||||||
|
#
|
||||||
|
BuildRequires: gdbm-devel
|
||||||
|
BuildRequires: ruby-bundled-gems-rpmhelper
|
||||||
|
%if %{with jemalloc}
|
||||||
|
BuildRequires: jemalloc-devel
|
||||||
|
%endif
|
||||||
|
BuildRequires: libffi-devel
|
||||||
|
BuildRequires: libyaml-devel
|
||||||
|
BuildRequires: ncurses-devel
|
||||||
|
BuildRequires: netcfg
|
||||||
|
BuildRequires: openssl-devel
|
||||||
|
BuildRequires: pkg-config
|
||||||
|
BuildRequires: procps
|
||||||
|
BuildRequires: readline-devel
|
||||||
|
BuildRequires: timezone
|
||||||
|
BuildRequires: zlib-devel
|
||||||
|
# this requires is needed as distros older than 11.3 have a buildignore on freetype2, without this the detection of the tk extension fails
|
||||||
|
BuildRequires: freetype2-devel
|
||||||
|
%if 0%{?suse_version} > 1010
|
||||||
|
BuildRequires: xorg-x11-libX11-devel
|
||||||
|
%else
|
||||||
|
BuildRequires: xorg-x11-devel
|
||||||
|
%endif
|
||||||
|
%if 0%{?use_valgrind}
|
||||||
|
%if 0%{?suse_version} > 1021
|
||||||
|
BuildRequires: valgrind-devel
|
||||||
|
%else
|
||||||
|
BuildRequires: valgrind
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
BuildRequires: xz
|
||||||
|
Provides: ruby(abi) = %{rb_ver}
|
||||||
|
%if 0%{?suse_version} > 1130
|
||||||
|
Conflicts: ruby(abi) = %{rb_ver}
|
||||||
|
%endif
|
||||||
|
Provides: ruby25 = %{version}-%{release}
|
||||||
|
%if 0%{?is_default_ruby}
|
||||||
|
Provides: ruby-default = %{version}-%{release}
|
||||||
|
Conflicts: otherproviders(ruby-default)
|
||||||
|
%endif
|
||||||
|
Requires: %{libname} = %{version}
|
||||||
|
%if %{with separate_stdlib}
|
||||||
|
Requires: %{name}-stdlib = %{version}
|
||||||
|
%else
|
||||||
|
Provides: %{name}-stdlib = %{version}-%{release}
|
||||||
|
Obsoletes: %{name}-stdlib < %{version}-%{release}
|
||||||
|
%endif
|
||||||
|
PreReq: update-alternatives
|
||||||
|
BuildRequires: update-alternatives
|
||||||
|
Requires: ruby-common
|
||||||
|
|
||||||
|
#
|
||||||
|
Url: https://www.ruby-lang.org/
|
||||||
|
Source: https://cache.ruby-lang.org/pub/ruby/2.5/ruby-%{pkg_version}.tar.xz
|
||||||
|
# the file was created by applying all patches and then running gem build in the gems/did_you_mean-1.2.0 directory
|
||||||
|
Source1: did_you_mean-1.2.0.gem
|
||||||
|
#
|
||||||
|
Source3: %{name}.macros
|
||||||
|
Source4: %{name}-default.macros
|
||||||
|
Source98: series
|
||||||
|
Source99: %{name}-rpmlintrc
|
||||||
|
|
||||||
|
Patch01: suse.patch
|
||||||
|
# this can not be in our backports git as the files are not there yet
|
||||||
|
Patch02: remove-unneeded-files.patch
|
||||||
|
#
|
||||||
|
Summary: An Interpreted Object-Oriented Scripting Language
|
||||||
|
License: BSD-2-Clause OR Ruby
|
||||||
|
Group: Development/Languages/Ruby
|
||||||
|
|
||||||
|
%description
|
||||||
|
Ruby is an interpreted scripting language for object-oriented programming. It
|
||||||
|
has many features for processing text files and performing system management
|
||||||
|
tasks (as in Perl). It is extensible.
|
||||||
|
|
||||||
|
* Ruby features:
|
||||||
|
|
||||||
|
- Simple Syntax
|
||||||
|
|
||||||
|
- *Normal* Object-Oriented features (class, method calls, for
|
||||||
|
example)
|
||||||
|
|
||||||
|
- *Advanced* Object-Oriented features(Mix-in, Singleton-method, for
|
||||||
|
example)
|
||||||
|
|
||||||
|
- Operator Overloading
|
||||||
|
|
||||||
|
- Exception Handling
|
||||||
|
|
||||||
|
- Iterators and Closures
|
||||||
|
|
||||||
|
- Garbage Collection
|
||||||
|
|
||||||
|
- Dynamic Loading of Object Files (on some architectures)
|
||||||
|
|
||||||
|
%package -n %{libname}
|
||||||
|
Summary: Dynamic runtime library for Ruby
|
||||||
|
# Both ruby and ruby-stdlib now depend explicitly on libruby by version,
|
||||||
|
# however it was not always the case, so the conflicts statements below
|
||||||
|
# are needed to handle updates.
|
||||||
|
Group: System/Libraries
|
||||||
|
Conflicts: %{name} < %{version}-%{release}
|
||||||
|
Conflicts: %{name}-stdlib < %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n %{libname}
|
||||||
|
Dynamic runtime library for Ruby
|
||||||
|
|
||||||
|
%package doc
|
||||||
|
Summary: Documentation and samples for Ruby
|
||||||
|
Group: Development/Languages/Ruby
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
Documentation and samples for Ruby
|
||||||
|
|
||||||
|
%if %{with separate_stdlib}
|
||||||
|
%package stdlib
|
||||||
|
Summary: The Ruby standard library
|
||||||
|
Group: Development/Languages/Ruby
|
||||||
|
Provides: ruby-stdlib = %{version}-%{release}
|
||||||
|
Requires: %{libname} = %{version}
|
||||||
|
|
||||||
|
%description stdlib
|
||||||
|
The Ruby standard library
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files to link against Ruby
|
||||||
|
Group: Development/Languages/Ruby
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
Provides: rubygems = 2.5.2
|
||||||
|
Provides: rubygems_with_buildroot_patch
|
||||||
|
%if %{with jemalloc}
|
||||||
|
Requires: jemalloc-devel
|
||||||
|
%endif
|
||||||
|
# extconf.rb defaults to make
|
||||||
|
Requires: make
|
||||||
|
Requires: gcc
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Development files to link against Ruby.
|
||||||
|
|
||||||
|
%package devel-extra
|
||||||
|
Summary: Special development files of ruby, normally not installed
|
||||||
|
Group: Development/Languages/Ruby
|
||||||
|
Requires: %{name}-devel = %{version}
|
||||||
|
|
||||||
|
%description devel-extra
|
||||||
|
Development files to link against Ruby.
|
||||||
|
|
||||||
|
%package doc-ri
|
||||||
|
Summary: Ruby Interactive Documentation
|
||||||
|
Group: Development/Languages/Ruby
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
%if 0%{?suse_version} >= 1121
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description doc-ri
|
||||||
|
This package contains the RI docs for ruby
|
||||||
|
|
||||||
|
%package doc-html
|
||||||
|
Summary: This package contains the HTML docs for ruby
|
||||||
|
Group: Development/Languages/Ruby
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
%if 0%{?suse_version} >= 1121
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description doc-html
|
||||||
|
This package contains the HTML docs for ruby
|
||||||
|
|
||||||
|
%package examples
|
||||||
|
Summary: Example scripts for ruby
|
||||||
|
Group: Development/Languages/Ruby
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
%if 0%{?suse_version} >= 1121
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description examples
|
||||||
|
Example scripts for ruby
|
||||||
|
|
||||||
|
%package test-suite
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
Summary: An Interpreted Object-Oriented Scripting Language
|
||||||
|
Group: Development/Languages/Ruby
|
||||||
|
%if 0%{?suse_version} >= 1121
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description test-suite
|
||||||
|
Ruby is an interpreted scripting language for object-oriented programming. It
|
||||||
|
has many features for processing text files and performing system management
|
||||||
|
tasks (as in Perl). It is extensible.
|
||||||
|
|
||||||
|
* Ruby features:
|
||||||
|
|
||||||
|
- Simple Syntax
|
||||||
|
|
||||||
|
- *Normal* Object-Oriented features (class, method calls, for
|
||||||
|
example)
|
||||||
|
|
||||||
|
- *Advanced* Object-Oriented features(Mix-in, Singleton-method, for
|
||||||
|
example)
|
||||||
|
|
||||||
|
- Operator Overloading
|
||||||
|
|
||||||
|
- Exception Handling
|
||||||
|
|
||||||
|
- Iterators and Closures
|
||||||
|
|
||||||
|
- Garbage Collection
|
||||||
|
|
||||||
|
- Dynamic Loading of Object Files (on some architectures)
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n ruby-%{pkg_version}
|
||||||
|
find sample -type f -print0 | xargs -r0 chmod a-x
|
||||||
|
grep -Erl '^#! */' benchmark bootstraptest ext lib sample test \
|
||||||
|
| xargs -r perl -p -i -e 's|^#!\s*\S+(\s+.*)?$|#!/usr/bin/ruby%{rb_binary_suffix} $1|'
|
||||||
|
|
||||||
|
%build
|
||||||
|
rm -rv gems/did_you_mean-1.2.0/evaluation
|
||||||
|
cp %{SOURCE1} gems/
|
||||||
|
# iseq.c needs -fno-strict-aliasing
|
||||||
|
export LANG="en_US.UTF-8"
|
||||||
|
export LC_ALL="en_US.UTF-8"
|
||||||
|
export LC_CTYPE="en_US.UTF-8"
|
||||||
|
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
||||||
|
%configure \
|
||||||
|
%if %{with jemalloc}
|
||||||
|
--with-jemalloc \
|
||||||
|
%endif
|
||||||
|
--program-suffix="%{rb_binary_suffix}" \
|
||||||
|
--with-soname=%{rb_soname} \
|
||||||
|
--target=%{_target_platform} \
|
||||||
|
%if 0%{?use_valgrind}
|
||||||
|
--with-valgrind \
|
||||||
|
%endif
|
||||||
|
%if ! %{with build_docs}
|
||||||
|
--disable-install-doc \
|
||||||
|
--disable-install-rdoc \
|
||||||
|
--disable-install-capi \
|
||||||
|
%endif
|
||||||
|
--with-mantype=man \
|
||||||
|
--enable-shared \
|
||||||
|
--disable-static \
|
||||||
|
--disable-rpath \
|
||||||
|
--with-compress-debug-sections=no
|
||||||
|
make all V=1 %{?_smp_mflags}
|
||||||
|
|
||||||
|
%install
|
||||||
|
%makeinstall V=1
|
||||||
|
echo "%defattr(-,root,root,-)" > devel-extra-excludes
|
||||||
|
echo "%defattr(-,root,root,-)" > devel-extra-list
|
||||||
|
for i in iseq.h insns.inc insns_info.inc revision.h version.h thread_pthread.h \
|
||||||
|
ruby_atomic.h method.h internal.h id.h vm_core.h vm_opts.h node.h eval_intern.h vm_debug.h; do
|
||||||
|
install -m 644 $i %{buildroot}%{_includedir}/ruby-%{rb_ver}/
|
||||||
|
echo "%exclude %{_includedir}/ruby-%{rb_ver}/$i" >> devel-extra-excludes
|
||||||
|
echo "%{_includedir}/ruby-%{rb_ver}/$i" >> devel-extra-list
|
||||||
|
done
|
||||||
|
|
||||||
|
# Create gem native extensions dir
|
||||||
|
# use shell scripting here as we're executing the just installed binary
|
||||||
|
%define rb_binary %{buildroot}/usr/bin/ruby -I %{buildroot}%{rb_libdir} -I %{buildroot}%{rb_archdir}
|
||||||
|
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
|
||||||
|
|
||||||
|
install -D -m 0644 %{S:3} %{buildroot}/etc/rpm/macros.suse-ruby2.5
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
|
%if 0%{?is_default_ruby}
|
||||||
|
install -D -m 0644 %{S:4} %{buildroot}/etc/rpm/macros.suse-ruby2.5-default
|
||||||
|
for bin in %{buildroot}%{_bindir}/{erb,gem,irb,ruby}%{rb_binary_suffix} ; do
|
||||||
|
# yes really hard links
|
||||||
|
ln $bin ${bin%%%{rb_binary_suffix}}
|
||||||
|
done
|
||||||
|
for man in %{buildroot}%{_mandir}/man1/*%{rb_binary_suffix}.1* ; do
|
||||||
|
# yes really hard links
|
||||||
|
# TODO: this is dangerous as we cant anc
|
||||||
|
ln $man ${man%%%{rb_binary_suffix}.1}.1
|
||||||
|
done
|
||||||
|
ln -s lib%{rb_soname}.so %{buildroot}%{_libdir}/libruby.so
|
||||||
|
%endif
|
||||||
|
for bin in %{ua_binaries}; do
|
||||||
|
# dummy
|
||||||
|
mv %{buildroot}%_bindir/${bin}%{rb_binary_suffix} %{buildroot}%_bindir/$bin.ruby%{rb_binary_suffix}
|
||||||
|
#
|
||||||
|
ln -s $bin %{buildroot}%{_sysconfdir}/alternatives/$bin
|
||||||
|
ln -s %{_sysconfdir}/alternatives/$bin %{buildroot}%_bindir/$bin
|
||||||
|
#
|
||||||
|
ln -s ${bin}%{rb_binary_suffix} %{buildroot}%{_sysconfdir}/alternatives//$bin%{rb_binary_suffix}
|
||||||
|
ln -s %{_sysconfdir}/alternatives/$bin%{rb_binary_suffix} %{buildroot}%_bindir/$bin%{rb_binary_suffix}
|
||||||
|
done
|
||||||
|
install -dD %{buildroot}%{rb_extdir} %{buildroot}%{rb_extarchdir} %{buildroot}%{rb_extversionedarchdir} %{buildroot}%{rb_extarchdocdir}
|
||||||
|
chmod -vR go-w,go+rX %{buildroot}%{_libdir}/ruby
|
||||||
|
|
||||||
|
%post
|
||||||
|
for bin in %{ua_binaries}; do
|
||||||
|
/usr/sbin/update-alternatives --install \
|
||||||
|
%{_bindir}/$bin $bin %{_bindir}/$bin.ruby%{rb_binary_suffix} %{rb_ua_weight}
|
||||||
|
/usr/sbin/update-alternatives --install \
|
||||||
|
%{_bindir}/$bin%{rb_binary_suffix} $bin%{rb_binary_suffix} %{_bindir}/$bin.ruby%{rb_binary_suffix} %{rb_ua_weight}
|
||||||
|
done
|
||||||
|
|
||||||
|
%preun
|
||||||
|
if [ "$1" = 0 ] ; then
|
||||||
|
for bin in %{ua_binaries}; do
|
||||||
|
/usr/sbin/update-alternatives --remove $bin %{_bindir}/$bin.ruby%{rb_binary_suffix}
|
||||||
|
/usr/sbin/update-alternatives --remove $bin%{rb_binary_suffix} %{_bindir}/$bin.ruby%{rb_binary_suffix}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
%if %{with run_tests}
|
||||||
|
%check
|
||||||
|
DISABLE_TESTS=""
|
||||||
|
%ifarch armv7l armv7hl armv7hnl
|
||||||
|
# test_call_double(DL::TestDL) fails on ARM HardFP
|
||||||
|
# http://bugs.ruby-lang.org/issues/6592
|
||||||
|
DISABLE_TESTS="-x test_dl2.rb $DISABLE_TESTS"
|
||||||
|
|
||||||
|
# Workaround OpenSSL::TestPKeyRSA#test_sign_verify_memory_leak timeouts on ARM.
|
||||||
|
# https://bugs.ruby-lang.org/issues/9984
|
||||||
|
sed -i -e 's|20_000|10_000|g' test/openssl/test_pkey_rsa.rb
|
||||||
|
%endif
|
||||||
|
# Allow MD5 in OpenSSL.
|
||||||
|
# https://bugs.ruby-lang.org/issues/9154
|
||||||
|
export OPENSSL_ENABLE_MD5_VERIFY=1
|
||||||
|
export LD_LIBRARY_PATH="$PWD"
|
||||||
|
# we know some tests will fail when they do not find a /usr/bin/ruby
|
||||||
|
make -j 4 check V=1 TESTOPTS="$DISABLE_TESTS" ||:
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%post -n %{libname} -p /sbin/ldconfig
|
||||||
|
%postun -n %{libname} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%ghost %{_sysconfdir}/alternatives/rake*
|
||||||
|
%ghost %{_sysconfdir}/alternatives/rdoc*
|
||||||
|
%ghost %{_sysconfdir}/alternatives/ri*
|
||||||
|
%{_bindir}/erb*
|
||||||
|
%{_bindir}/gem*
|
||||||
|
%{_bindir}/irb*
|
||||||
|
%{_bindir}/rake*
|
||||||
|
%{_bindir}/rdoc*
|
||||||
|
%{_bindir}/ri*
|
||||||
|
%{_bindir}/ruby*
|
||||||
|
%{_mandir}/man1/ri*.1*
|
||||||
|
%{_mandir}/man1/irb*.1*
|
||||||
|
%{_mandir}/man1/erb*.1*
|
||||||
|
#{_mandir}/man1/rake*.1*
|
||||||
|
%{_mandir}/man1/ruby*.1*
|
||||||
|
%doc ChangeLog COPYING COPYING.ja GPL KNOWNBUGS.rb LEGAL NEWS README*
|
||||||
|
%config /etc/rpm/macros.suse-ruby2.5*
|
||||||
|
|
||||||
|
%if %{with separate_stdlib}
|
||||||
|
%files stdlib
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%endif
|
||||||
|
%{_libdir}/ruby/
|
||||||
|
%exclude %{_libdir}/ruby/gems/%{api_version}/gems/*/test/
|
||||||
|
%dir %rb_extdir
|
||||||
|
%dir %rb_extarchdir
|
||||||
|
%dir %rb_extversionedarchdir
|
||||||
|
%dir %rb_extdocdir
|
||||||
|
%dir %rb_extarchdocdir
|
||||||
|
|
||||||
|
%files -n %{libname}
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_libdir}/libruby*.so.*
|
||||||
|
|
||||||
|
%files devel -f devel-extra-excludes
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_includedir}/ruby-%{rb_ver}
|
||||||
|
%{_libdir}/libruby*.so
|
||||||
|
%{_libdir}/pkgconfig/ruby-2.5.pc
|
||||||
|
|
||||||
|
%files devel-extra -f devel-extra-list
|
||||||
|
|
||||||
|
%if %{with build_docs}
|
||||||
|
%files doc
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%doc doc/* sample/
|
||||||
|
|
||||||
|
%files doc-ri
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%dir %{_datadir}/ri/
|
||||||
|
%{_datadir}/ri/%{rb_ver}/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
11
series
Normal file
11
series
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
# Patch series file for quilt, created by quilt setup
|
||||||
|
# Source: ruby-2.5.5.tar.xz
|
||||||
|
# Patchdir: ruby-2.5.5
|
||||||
|
#
|
||||||
|
0001-make-gem-build-reproducible.patch
|
||||||
|
0002-gc.c-tick-for-POWER-arch.patch
|
||||||
|
0003-Mark-Gemspec-reproducible-change-fixing-784225-too.patch
|
||||||
|
0004-Make-gemspecs-reproducible.patch
|
||||||
|
0005-Include-the-alternative-malloc-header-instead-of-mal.patch
|
||||||
|
0006-Use-PIE-for-the-binaries.patch
|
||||||
|
0007-date-support-for-Reiwa-new-Japanese-era.patch
|
3844
suse.patch
Normal file
3844
suse.patch
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue