Compare commits
19 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
320f5c7666 | ||
|
|
bf3038f41d | ||
|
|
fe11680a05 | ||
|
|
345c72a827 | ||
|
|
370f73f8a8 | ||
|
|
94a588ca28 | ||
|
|
a612f78c69 | ||
|
|
c3cfe81c22 | ||
|
|
027b62ae4e | ||
|
|
763e371dd6 | ||
|
|
8855a68692 | ||
|
|
65a530cc03 | ||
|
|
dbae48339f | ||
|
|
3e278dba2f | ||
|
|
df80b74729 | ||
|
|
c7f5d94be6 | ||
|
|
22d9b04bd1 | ||
|
|
b4195d1ec6 | ||
|
|
f8ac959d34 |
46 changed files with 3029 additions and 2902 deletions
|
|
@ -1 +0,0 @@
|
|||
1
|
||||
6
.gitignore
vendored
6
.gitignore
vendored
|
|
@ -1,6 +1,4 @@
|
|||
/*/
|
||||
/ruby-*.tar.xz
|
||||
/rexml-*.gem
|
||||
/ruby-2.*.tar.bz2
|
||||
/ruby-2.*.tar.xz
|
||||
/*.rpm
|
||||
|
||||
!/plans/
|
||||
|
|
|
|||
8
abrt_prelude.rb
Normal file
8
abrt_prelude.rb
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
if defined?(Gem)
|
||||
require 'rubygems.rb'
|
||||
|
||||
begin
|
||||
require 'abrt'
|
||||
rescue LoadError
|
||||
end
|
||||
end
|
||||
|
|
@ -2,55 +2,13 @@
|
|||
%gem_dir %{_datadir}/gems
|
||||
%gem_archdir %{_libdir}/gems
|
||||
|
||||
# %gem_prerelease - Provides prerelease string if available.
|
||||
#
|
||||
# Usage: %gem_prerelease [custom_gem_name]
|
||||
#
|
||||
# If avilable, prints prerelease string, which is a %prerelease macro by
|
||||
# default. When [custom_gem_name] is provided, the custom_gem_name is used to
|
||||
# derive %custom_gem_name_prerelease macro, which can be predefined.
|
||||
#
|
||||
# Please note that for the prerelease macros are the dashes in
|
||||
# [custom_gem_name] replaced by underscores.
|
||||
#
|
||||
%gem_prerelease() %{?1:%{expand:%%{?%{gsub %{1} - _}_prerelease}}}%{!?1:%{?prerelease}}
|
||||
|
||||
# %gem_version - Provides version string (including prerelease if available).
|
||||
#
|
||||
# Usage: %gem_version [custom_gem_name]
|
||||
#
|
||||
# Prints version (including prerelease string), that is %version macro by
|
||||
# default. When [custom_gem_name] is provided, the custom_gem_name is used to
|
||||
# derive %custom_gem_name_version macro which needs to be predefined.
|
||||
#
|
||||
# Please note that for the version macros are the dashes in [custom_gem_name]
|
||||
# replaced by underscores.
|
||||
#
|
||||
%gem_version() %{?1:%{expand:%{%{gsub %{1} - _}_version}}}%{!?1:%{version}}%{gem_prerelease %{?1}}
|
||||
|
||||
# %gem_name_version - Provides gem_name-version string.
|
||||
#
|
||||
# Usage: %gem_name_version [custom_gem_name]
|
||||
#
|
||||
# Prints gem_name-version string, by default joining %gem_name, %version and
|
||||
# %prerelease macros. When [custom_gem_name] is provided, the
|
||||
# custom_gem_name is joined with version as provided by %gem_version macro.
|
||||
#
|
||||
%gem_name_version() %{?1}%{!?1:%{gem_name}}-%{gem_version %{?1}}
|
||||
|
||||
# Common gem locations and files.
|
||||
#
|
||||
# These macros leverages %gem_name_version macro and accepts custom gem_name.
|
||||
#
|
||||
# -d Use default gem install location.
|
||||
#
|
||||
%gem_instdir() %{gem_dir}/gems/%{gem_name_version %{?1}}
|
||||
%gem_extdir_mri() %{gem_archdir}/%{name}/%{gem_name_version %{?1}}
|
||||
%gem_libdir() %{gem_instdir %{?1}}/lib
|
||||
%gem_cache() %{gem_dir}/cache/%{gem_name_version %{?1}}.gem
|
||||
%gem_spec(d) %{gem_dir}/specifications%{?-d:/default}/%{gem_name_version %{?1}}.gemspec
|
||||
%gem_docdir() %{gem_dir}/doc/%{gem_name_version %{?1}}
|
||||
%gem_plugin() %{gem_dir}/plugins/%{?1}%{!?1:%{gem_name}}_plugin.rb
|
||||
%gem_instdir %{gem_dir}/gems/%{gem_name}-%{version}%{?prerelease}
|
||||
%gem_extdir_mri %{gem_archdir}/%{name}/%{gem_name}-%{version}%{?prerelease}
|
||||
%gem_libdir %{gem_instdir}/lib
|
||||
%gem_cache %{gem_dir}/cache/%{gem_name}-%{version}%{?prerelease}.gem
|
||||
%gem_spec %{gem_dir}/specifications/%{gem_name}-%{version}%{?prerelease}.gemspec
|
||||
%gem_docdir %{gem_dir}/doc/%{gem_name}-%{version}%{?prerelease}
|
||||
|
||||
|
||||
# %gem_install - Install gem into appropriate directory.
|
||||
|
|
@ -63,7 +21,7 @@
|
|||
%gem_install(d:n:) \
|
||||
mkdir -p %{-d*}%{!?-d:.%{gem_dir}} \
|
||||
\
|
||||
CONFIGURE_ARGS="--with-cflags='%{optflags}' --with-cxxflags='%{optflags}' --with-ldflags='%{build_ldflags}' $CONFIGURE_ARGS" \\\
|
||||
CONFIGURE_ARGS="--with-cflags='%{optflags}' --with-cxxflags='%{optflags}' $CONFIGURE_ARGS" \\\
|
||||
gem install \\\
|
||||
-V \\\
|
||||
--local \\\
|
||||
|
|
@ -74,6 +32,16 @@ gem install \\\
|
|||
%{nil}
|
||||
|
||||
|
||||
# For rubygems packages we want to filter out any provides caused by private
|
||||
# libs in %%{gem_archdir}.
|
||||
#
|
||||
# Note that this must be invoked in the spec file, preferably as
|
||||
# "%{?rubygems_default_filter}", before any %description block.
|
||||
%rubygems_default_filter %{expand: \
|
||||
%global __provides_exclude_from %{?__provides_exclude_from:%{__provides_exclude_from}|}^%{gem_extdir_mri}/.*\\\\.so$ \
|
||||
}
|
||||
|
||||
|
||||
# The 'read' command in %%gemspec_* macros is not essential, but it is usefull
|
||||
# to make the sript appear in build log.
|
||||
|
||||
|
|
@ -92,7 +60,7 @@ gem install \\\
|
|||
#
|
||||
%gemspec_add_dep(g:s:d) \
|
||||
read -d '' gemspec_add_dep_script << 'EOR' || : \
|
||||
gemspec_file = '%{-s*}%{!?-s:%{_builddir}/%{gem_name}-%{version}%{?prerelease}.gemspec}' \
|
||||
gemspec_file = '%{-s*}%{!?-s:%{_builddir}/%{gem_name}-%{version}.gemspec}' \
|
||||
\
|
||||
name = '%{-g*}' \
|
||||
requirements = %{*}%{!?1:nil} \
|
||||
|
|
@ -129,7 +97,7 @@ unset -v gemspec_add_dep_script \
|
|||
#
|
||||
%gemspec_remove_dep(g:s:d) \
|
||||
read -d '' gemspec_remove_dep_script << 'EOR' || : \
|
||||
gemspec_file = '%{-s*}%{!?-s:%{_builddir}/%{gem_name}-%{version}%{?prerelease}.gemspec}' \
|
||||
gemspec_file = '%{-s*}%{!?-s:%{_builddir}/%{gem_name}-%{version}.gemspec}' \
|
||||
\
|
||||
name = '%{-g*}' \
|
||||
requirements = %{*}%{!?1:nil} \
|
||||
|
|
@ -176,7 +144,7 @@ unset -v gemspec_remove_dep_script \
|
|||
#
|
||||
%gemspec_add_file(s:tr) \
|
||||
read -d '' gemspec_add_file_script << 'EOR' || : \
|
||||
gemspec_file = '%{-s*}%{!?-s:%{_builddir}/%{gem_name}-%{version}%{?prerelease}.gemspec}' \
|
||||
gemspec_file = '%{-s*}%{!?-s:%{_builddir}/%{gem_name}-%{version}.gemspec}' \
|
||||
\
|
||||
abort("gemspec_add_file: Use only one '-t' or '-r' at a time.") if "%{?-t}%{?-r}" == "-t-r" \
|
||||
\
|
||||
|
|
@ -209,7 +177,7 @@ unset -v gemspec_add_file_script \
|
|||
#
|
||||
%gemspec_remove_file(s:tr) \
|
||||
read -d '' gemspec_remove_file_script << 'EOR' || : \
|
||||
gemspec_file = '%{-s*}%{!?-s:%{_builddir}/%{gem_name}-%{version}%{?prerelease}.gemspec}' \
|
||||
gemspec_file = '%{-s*}%{!?-s:%{_builddir}/%{gem_name}-%{version}.gemspec}' \
|
||||
\
|
||||
abort("gemspec_remove_file: Use only one '-t' or '-r' at a time.") if "%{?-t}%{?-r}" == "-t-r" \
|
||||
\
|
||||
|
|
|
|||
|
|
@ -87,51 +87,41 @@ module Gem
|
|||
# Remove methods we are going to override. This avoids "method redefined;"
|
||||
# warnings otherwise issued by Ruby.
|
||||
|
||||
remove_method :operating_system_defaults if method_defined? :operating_system_defaults
|
||||
remove_method :default_dir if method_defined? :default_dir
|
||||
remove_method :default_specifications_dir if method_defined? :default_specifications_dir
|
||||
remove_method :default_path if method_defined? :default_path
|
||||
remove_method :default_bindir if method_defined? :default_bindir
|
||||
remove_method :default_ext_dir_for if method_defined? :default_ext_dir_for
|
||||
|
||||
##
|
||||
# Regular user installs into user directory, root manages /usr/local.
|
||||
|
||||
def operating_system_defaults
|
||||
unless opt_build_root?
|
||||
options = if Process.uid == 0
|
||||
"--install-dir=#{Gem.default_dirs[:local][:gem_dir]} --bindir #{Gem.default_dirs[:local][:bin_dir]}"
|
||||
else
|
||||
"--user-install --bindir #{File.join [Dir.home, 'bin']}"
|
||||
end
|
||||
|
||||
{"gem" => options}
|
||||
else
|
||||
{}
|
||||
end
|
||||
end
|
||||
|
||||
##
|
||||
# RubyGems default overrides.
|
||||
|
||||
def default_dir
|
||||
if opt_build_root?
|
||||
Gem.default_dirs[:system][:gem_dir]
|
||||
elsif Process.uid == 0
|
||||
Gem.default_dirs[:local][:gem_dir]
|
||||
else
|
||||
Gem.user_dir
|
||||
end
|
||||
Gem.default_dirs[:system][:gem_dir]
|
||||
end
|
||||
|
||||
##
|
||||
# Path to specification files of default gems.
|
||||
|
||||
def default_specifications_dir
|
||||
@default_specifications_dir ||= File.join(Gem.default_dirs[:system][:gem_dir], "specifications", "default")
|
||||
end
|
||||
|
||||
##
|
||||
# Default gem load path
|
||||
|
||||
def default_path
|
||||
path = default_dirs.collect {|location, paths| paths[:gem_dir]}
|
||||
path.unshift Gem.user_dir if File.exist? Gem.user_home
|
||||
path
|
||||
end
|
||||
|
||||
def default_bindir
|
||||
if opt_build_root?
|
||||
Gem.default_dirs[:system][:bin_dir]
|
||||
elsif Process.uid == 0
|
||||
Gem.default_dirs[:local][:bin_dir]
|
||||
else
|
||||
File.join [Dir.home, 'bin']
|
||||
end
|
||||
end
|
||||
|
||||
def default_ext_dir_for base_dir
|
||||
dir = if rpmbuild?
|
||||
build_dir = base_dir.chomp Gem.default_dirs[:system][:gem_dir]
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
summary: Test plan with all Fedora tests
|
||||
discover:
|
||||
how: fmf
|
||||
url: https://src.fedoraproject.org/tests/ruby.git
|
||||
execute:
|
||||
how: tmt
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
From 994ee4c17fb8c217ab0335df55620c6bdb5d5cbe Mon Sep 17 00:00:00 2001
|
||||
From: tompng <tomoyapenguin@gmail.com>
|
||||
Date: Fri, 26 Dec 2025 04:57:12 +0900
|
||||
Subject: [PATCH] Fix comment_location for merged ClassModule
|
||||
|
||||
---
|
||||
lib/rdoc/code_object/class_module.rb | 7 ++++++-
|
||||
test/rdoc/code_object/class_module_test.rb | 6 ++++++
|
||||
2 files changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/rdoc/code_object/class_module.rb b/lib/rdoc/code_object/class_module.rb
|
||||
index b6bed352a2..d7ee36f950 100644
|
||||
--- a/lib/rdoc/code_object/class_module.rb
|
||||
+++ b/lib/rdoc/code_object/class_module.rb
|
||||
@@ -477,7 +477,12 @@ def merge(class_module)
|
||||
document = document.merge other_document
|
||||
|
||||
@comment = RDoc::Comment.from_document(document)
|
||||
- @comment_location = document
|
||||
+
|
||||
+ @comment_location = if document.parts.first.is_a?(RDoc::Markup::Document)
|
||||
+ document.parts.map { |doc| [doc, doc.file] }
|
||||
+ else
|
||||
+ [[document, document.file]]
|
||||
+ end
|
||||
end
|
||||
|
||||
cm = class_module
|
||||
|
|
@ -1,166 +0,0 @@
|
|||
require 'tmpdir'
|
||||
require 'tempfile'
|
||||
require 'fileutils'
|
||||
# Available in Ruby upstream sources under tool/lib/envutil.rb
|
||||
# Required for finding and setting up the built ruby binary.
|
||||
require 'envutil'
|
||||
|
||||
module RPMTestHelper
|
||||
def setup
|
||||
@tmpdir = Dir.mktmpdir
|
||||
@tempfiles = []
|
||||
end
|
||||
|
||||
def teardown
|
||||
@tempfiles.each do |file|
|
||||
file.close
|
||||
file.unlink
|
||||
end
|
||||
|
||||
FileUtils.rmtree(@tmpdir)
|
||||
end
|
||||
|
||||
GENERATOR_SCRIPT = ENV['GENERATOR_SCRIPT'].clone.freeze
|
||||
if GENERATOR_SCRIPT.nil? || GENERATOR_SCRIPT == ''
|
||||
raise "GENERATOR_SCRIPT is not specified." \
|
||||
"Specify the ENV variable with absolute path to the generator."
|
||||
end
|
||||
|
||||
Dependency = Struct.new('Dependency', :name, :requirements) do
|
||||
def to_rpm_str
|
||||
"rubygem(#{self.name})"
|
||||
end
|
||||
end
|
||||
|
||||
def make_gemspec(gem_info)
|
||||
file = Tempfile.new('req_gemspec', @tmpdir)
|
||||
# Fake gemspec with enough to pass most checks
|
||||
# Rubygems uses to validate the format.
|
||||
gemspec_contents = <<~EOF
|
||||
# -*- encoding: utf-8 -*-
|
||||
# stub: #{gem_info.name} #{gem_info.version} ruby lib
|
||||
|
||||
Gem::Specification.new do |s|
|
||||
s.name = "#{gem_info.name}".freeze
|
||||
s.version = "#{gem_info.version}"
|
||||
|
||||
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
||||
s.require_paths = ["lib".freeze]
|
||||
s.authors = ["John Doe".freeze]
|
||||
s.bindir = "bin".freeze
|
||||
s.date = "2023-12-15"
|
||||
s.description = "Fake gemspec helper for testing Rubygem Generators".freeze
|
||||
s.email = ["example@example.com".freeze]
|
||||
s.files = ["LICENSE.txt".freeze, "lib/#{gem_info.name}.rb".freeze, "#{gem_info.name}.gemspec".freeze]
|
||||
s.homepage = "https://pkgs.fedoraproject.org/rpms/ruby".freeze
|
||||
s.licenses = ["MIT".freeze]
|
||||
s.required_ruby_version = Gem::Requirement.new(">= 2.5.0".freeze)
|
||||
s.rubygems_version = "3.3.5".freeze
|
||||
s.summary = "Fake gemspec for testing Rubygem Generators".freeze
|
||||
|
||||
if s.respond_to? :specification_version then
|
||||
s.specification_version = 4
|
||||
end
|
||||
|
||||
if s.respond_to? :add_runtime_dependency then
|
||||
#{gem_info.gemspec_runtime_dep_str}
|
||||
else
|
||||
#{gem_info.gemspec_dep_str}
|
||||
end
|
||||
end
|
||||
EOF
|
||||
|
||||
file.write gemspec_contents
|
||||
file.rewind
|
||||
@tempfiles << file
|
||||
file
|
||||
end
|
||||
|
||||
# Caller is expected to close subprocess stdin via #close_write
|
||||
# in order to let subprocess proceed if the process is reading
|
||||
# from STDIN in a loop.
|
||||
def rb_subprocess(*args)
|
||||
args = [GENERATOR_SCRIPT] if args.empty?
|
||||
ruby = EnvUtil.rubybin
|
||||
f = IO.popen([ruby] + args, 'r+') #, external_encoding: external_encoding)
|
||||
yield(f)
|
||||
ensure
|
||||
f.close unless !f || f.closed?
|
||||
end
|
||||
|
||||
def run_generator_single_file(gem_info)
|
||||
lines = []
|
||||
gemspec_f = make_gemspec(gem_info)
|
||||
|
||||
rb_subprocess do |io|
|
||||
io.write gemspec_f.path
|
||||
io.close_write
|
||||
lines = io.readlines
|
||||
end
|
||||
|
||||
lines
|
||||
end
|
||||
|
||||
def helper_rubygems_dependency
|
||||
"ruby(rubygems)"
|
||||
end
|
||||
|
||||
class GemInfo
|
||||
attr_accessor :name, :version, :dependencies
|
||||
|
||||
def initialize(name: 'foo', version: '1.2.3', dependencies: [])
|
||||
@name = name
|
||||
@version = version
|
||||
@dependencies = dependencies
|
||||
end
|
||||
|
||||
def dependencies=(other)
|
||||
raise ArgumentError, "#{self.class.name}##{__method__.to_s}: Expected array of `Dependency' elements" \
|
||||
unless other.is_a?(Array) && other.all? { |elem| elem.respond_to?(:name) && elem.respond_to?(:requirements) }
|
||||
|
||||
@dependencies = other
|
||||
end
|
||||
|
||||
def to_rpm_str
|
||||
"rubygem(#{self.name})"
|
||||
end
|
||||
|
||||
def gemspec_dep_str
|
||||
return '' if self.dependencies.nil? || self.dependencies.empty?
|
||||
@dependencies.inject("") do |memo, dep|
|
||||
memo += if dep.requirements && !dep.requirements.empty?
|
||||
%Q|s.add_dependency(%q<#{dep.name}>.freeze, #{handle_dep_requirements(dep.requirements)})|
|
||||
else
|
||||
%Q|s.add_dependency(%q<#{dep.name}>.freeze)|
|
||||
end
|
||||
|
||||
memo += "\n"
|
||||
end
|
||||
end
|
||||
|
||||
def gemspec_runtime_dep_str
|
||||
return '' if self.dependencies.nil? || self.dependencies.empty?
|
||||
|
||||
@dependencies.inject("") do |memo, dep|
|
||||
memo += if dep.requirements && !dep.requirements.empty?
|
||||
%Q|s.add_runtime_dependency(%q<#{dep.name}>.freeze, #{handle_dep_requirements(dep.requirements)})|
|
||||
else
|
||||
%Q|s.add_runtime_dependency(%q<#{dep.name}>.freeze)|
|
||||
end
|
||||
|
||||
memo += "\n"
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def handle_dep_requirements(reqs)
|
||||
raise ArgumentError, "#{self.class.name}##{__method__.to_s}: Reqs must be an array." \
|
||||
unless reqs.is_a? Array
|
||||
raise ArgumentError, "#{self.class.name}##{__method__.to_s}: Reqs must not be empty for this method." \
|
||||
if reqs.empty?
|
||||
|
||||
'[ "' + reqs.join('", "') + '" ]'
|
||||
end
|
||||
end
|
||||
end
|
||||
25
ruby-1.9.3-mkmf-verbose.patch
Normal file
25
ruby-1.9.3-mkmf-verbose.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
From 28cc0749d6729aa2444661ee7b411e183fe220b0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Mon, 19 Nov 2012 15:14:51 +0100
|
||||
Subject: [PATCH] Verbose mkmf.
|
||||
|
||||
---
|
||||
lib/mkmf.rb | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
|
||||
index 682eb46..e6b1445 100644
|
||||
--- a/lib/mkmf.rb
|
||||
+++ b/lib/mkmf.rb
|
||||
@@ -1900,7 +1900,7 @@ def configuration(srcdir)
|
||||
SHELL = /bin/sh
|
||||
|
||||
# V=0 quiet, V=1 verbose. other values don't work.
|
||||
-V = 0
|
||||
+V = 1
|
||||
Q1 = $(V:1=)
|
||||
Q = $(Q1:0=@)
|
||||
ECHO1 = $(V:1=@ #{CONFIG['NULLCMD']})
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
From 996012f6abe0ce4d68a2de9f249935c6d5b467bc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Fri, 4 Oct 2013 22:13:11 +0200
|
||||
Subject: [PATCH] Allow to specify addition preludes by configuration option.
|
||||
|
||||
---
|
||||
Makefile.in | 2 ++
|
||||
common.mk | 2 +-
|
||||
configure.ac | 7 +++++++
|
||||
3 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 7e8ed82..7916993 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -119,6 +119,8 @@ XRUBY_RUBYLIBDIR = @XRUBY_RUBYLIBDIR@
|
||||
XRUBY_RUBYHDRDIR = @XRUBY_RUBYHDRDIR@
|
||||
BOOTSTRAPRUBY = @BOOTSTRAPRUBY@
|
||||
|
||||
+OPTIONAL_PRELUDES = @OPTIONAL_PRELUDES@
|
||||
+
|
||||
#### End of system configuration section. ####
|
||||
|
||||
MAJOR= @MAJOR@
|
||||
diff --git a/common.mk b/common.mk
|
||||
index 5cfbc3d..3f0a82e 100644
|
||||
--- a/common.mk
|
||||
+++ b/common.mk
|
||||
@@ -147,7 +147,7 @@ ALLOBJS = $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(INITOBJS)
|
||||
GOLFOBJS = goruby.$(OBJEXT) golf_prelude.$(OBJEXT)
|
||||
|
||||
DEFAULT_PRELUDES = $(GEM_PRELUDE)
|
||||
-PRELUDE_SCRIPTS = $(srcdir)/prelude.rb $(DEFAULT_PRELUDES)
|
||||
+PRELUDE_SCRIPTS = $(srcdir)/prelude.rb $(DEFAULT_PRELUDES) $(OPTIONAL_PRELUDES)
|
||||
GEM_PRELUDE = $(srcdir)/gem_prelude.rb
|
||||
PRELUDES = {$(srcdir)}prelude.c {$(srcdir)}miniprelude.c
|
||||
GOLFPRELUDES = {$(srcdir)}golf_prelude.c
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 028ef7ca3e..cdeff87871 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -4397,6 +4397,13 @@ AC_SUBST(rubyarchhdrdir)dnl
|
||||
AC_SUBST(sitearchhdrdir)dnl
|
||||
AC_SUBST(vendorarchhdrdir)dnl
|
||||
|
||||
+AC_ARG_WITH(prelude,
|
||||
+ AS_HELP_STRING([--with-prelude=FILE-LIST], [specify additional preludes separated by space]),
|
||||
+ [prelude=$withval])
|
||||
+if test "$prelude" != ""; then
|
||||
+ AC_SUBST(OPTIONAL_PRELUDES, $prelude)
|
||||
+fi
|
||||
+
|
||||
AC_ARG_WITH(mantype,
|
||||
AS_HELP_STRING([--with-mantype=TYPE], [specify man page type; TYPE is one of man and doc]),
|
||||
[
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From e1293f665128b0d9c5bfa0b5beeab4afebf07e6a Mon Sep 17 00:00:00 2001
|
||||
From 07c666ba5c3360dd6f43605a8ac7c85c99c1721f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Tue, 1 Oct 2013 12:22:40 +0200
|
||||
Subject: [PATCH] Allow to configure libruby.so placement.
|
||||
|
|
@ -8,10 +8,10 @@ Subject: [PATCH] Allow to configure libruby.so placement.
|
|||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index a64358fada..b3bdfad1eb 100644
|
||||
index 11fc237552..b77e88fc37 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3556,6 +3556,11 @@ AS_IF([test ${multiarch+set}], [
|
||||
@@ -3642,6 +3642,11 @@ AS_IF([test ${multiarch+set}], [
|
||||
])
|
||||
|
||||
archlibdir='${libdir}/${arch}'
|
||||
|
|
@ -23,3 +23,6 @@ index a64358fada..b3bdfad1eb 100644
|
|||
sitearchlibdir='${libdir}/${sitearch}'
|
||||
archincludedir='${includedir}/${arch}'
|
||||
sitearchincludedir='${includedir}/${sitearch}'
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
From 6062f4976c5b51f8b952b9f6745175be7b1c5ff9 Mon Sep 17 00:00:00 2001
|
||||
From e24d97c938c481450ed80ec83e5399595946c1ae Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Fri, 8 Feb 2013 22:48:41 +0100
|
||||
Subject: [PATCH] Prevent duplicated paths when empty version string is
|
||||
|
|
@ -11,10 +11,10 @@ Subject: [PATCH] Prevent duplicated paths when empty version string is
|
|||
3 files changed, 15 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 2bc5153141..a64358fada 100644
|
||||
index 999e2d6d5d..11fc237552 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -4472,7 +4472,8 @@ AS_CASE(["$ruby_version_dir_name"],
|
||||
@@ -4252,7 +4252,8 @@ AS_CASE(["$ruby_version_dir_name"],
|
||||
ruby_version_dir=/'${ruby_version_dir_name}'
|
||||
|
||||
if test -z "${ruby_version_dir_name}"; then
|
||||
|
|
@ -25,7 +25,7 @@ index 2bc5153141..a64358fada 100644
|
|||
|
||||
rubylibdir='${rubylibprefix}'${ruby_version_dir}
|
||||
diff --git a/loadpath.c b/loadpath.c
|
||||
index b8969e6998..bbfd4daa78 100644
|
||||
index 9160031..0d4d953 100644
|
||||
--- a/loadpath.c
|
||||
+++ b/loadpath.c
|
||||
@@ -65,21 +65,33 @@ const char ruby_initial_load_paths[] =
|
||||
|
|
@ -63,10 +63,10 @@ index b8969e6998..bbfd4daa78 100644
|
|||
|
||||
RUBY_LIB "\0"
|
||||
diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb
|
||||
index db74115730..2b01796abf 100755
|
||||
index 07076d4..35e6c3c 100755
|
||||
--- a/tool/mkconfig.rb
|
||||
+++ b/tool/mkconfig.rb
|
||||
@@ -114,7 +114,7 @@
|
||||
@@ -111,7 +111,7 @@
|
||||
val = val.gsub(/\$(?:\$|\{?(\w+)\}?)/) {$1 ? "$(#{$1})" : $&}.dump
|
||||
case name
|
||||
when /^prefix$/
|
||||
|
|
@ -75,3 +75,6 @@ index db74115730..2b01796abf 100755
|
|||
when /^ARCH_FLAG$/
|
||||
val = "arch_flag || #{val}" if universal
|
||||
when /^UNIVERSAL_ARCHNAMES$/
|
||||
--
|
||||
1.9.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
From 9e70f6e4b8771965a30ecfb6d1c6015df350ca55 Mon Sep 17 00:00:00 2001
|
||||
From 2089cab72b38d6d5e7ba2b596e41014209acad30 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Mon, 19 Nov 2012 14:37:28 +0100
|
||||
Subject: [PATCH] Always use i386.
|
||||
|
|
@ -8,10 +8,10 @@ Subject: [PATCH] Always use i386.
|
|||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b3bdfad1eb..411322a27f 100644
|
||||
index b77e88fc37..6bba453e3c 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -4536,6 +4536,8 @@ AC_SUBST(vendorarchdir)dnl
|
||||
@@ -4316,6 +4316,8 @@ AC_SUBST(vendorarchdir)dnl
|
||||
AC_SUBST(CONFIGURE, "`echo $0 | sed 's|.*/||'`")dnl
|
||||
AC_SUBST(configure_args, "`echo "${ac_configure_args}" | sed 's/\\$/$$/g'`")dnl
|
||||
|
||||
|
|
@ -20,3 +20,6 @@ index b3bdfad1eb..411322a27f 100644
|
|||
AS_IF([test "${universal_binary-no}" = yes ], [
|
||||
arch="universal-${target_os}"
|
||||
AS_IF([test "${rb_cv_architecture_available}" = yes], [
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
From c7952996ac9738a14bea0a1a971fea13460a6c94 Mon Sep 17 00:00:00 2001
|
||||
From 94da59aafacc6a9efe829529eb51385588d6f149 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Fri, 11 Nov 2011 13:14:45 +0100
|
||||
Subject: [PATCH] Allow to install RubyGems into custom location, outside of
|
||||
Ruby tree.
|
||||
|
||||
---
|
||||
configure.ac | 5 +++++
|
||||
loadpath.c | 4 ++++
|
||||
template/verconf.h.tmpl | 3 +++
|
||||
tool/rbinstall.rb | 10 ++++++++++
|
||||
4 files changed, 22 insertions(+)
|
||||
configure.ac | 5 +++++
|
||||
loadpath.c | 4 ++++
|
||||
template/verconf.h.tmpl | 3 +++
|
||||
tool/rbinstall.rb | 7 +++++++
|
||||
4 files changed, 19 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 411322a27f..b5f842a512 100644
|
||||
index 6bba453e3c..028ef7ca3e 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -4508,6 +4508,10 @@ AC_ARG_WITH(vendorarchdir,
|
||||
@@ -4288,6 +4288,10 @@ AC_ARG_WITH(vendorarchdir,
|
||||
[vendorarchdir=$withval],
|
||||
[vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby'${ruby_version_dir}}${multiarch-'${vendorlibdir}/${sitearch}'}])
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ index 411322a27f..b5f842a512 100644
|
|||
AS_IF([test "${LOAD_RELATIVE+set}"], [
|
||||
AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)
|
||||
RUBY_EXEC_PREFIX=''
|
||||
@@ -4532,6 +4536,7 @@ AC_SUBST(sitearchdir)dnl
|
||||
@@ -4312,6 +4316,7 @@ AC_SUBST(sitearchdir)dnl
|
||||
AC_SUBST(vendordir)dnl
|
||||
AC_SUBST(vendorlibdir)dnl
|
||||
AC_SUBST(vendorarchdir)dnl
|
||||
|
|
@ -35,7 +35,7 @@ index 411322a27f..b5f842a512 100644
|
|||
AC_SUBST(CONFIGURE, "`echo $0 | sed 's|.*/||'`")dnl
|
||||
AC_SUBST(configure_args, "`echo "${ac_configure_args}" | sed 's/\\$/$$/g'`")dnl
|
||||
diff --git a/loadpath.c b/loadpath.c
|
||||
index bbfd4daa78..69677a9297 100644
|
||||
index 623dc9d..74c5d9e 100644
|
||||
--- a/loadpath.c
|
||||
+++ b/loadpath.c
|
||||
@@ -94,6 +94,10 @@ const char ruby_initial_load_paths[] =
|
||||
|
|
@ -50,7 +50,7 @@ index bbfd4daa78..69677a9297 100644
|
|||
#ifdef RUBY_THINARCH
|
||||
RUBY_ARCH_LIB_FOR(RUBY_THINARCH) "\0"
|
||||
diff --git a/template/verconf.h.tmpl b/template/verconf.h.tmpl
|
||||
index 9ba2bd6de5..4ec4ce9353 100644
|
||||
index 79c003e..34f2382 100644
|
||||
--- a/template/verconf.h.tmpl
|
||||
+++ b/template/verconf.h.tmpl
|
||||
@@ -36,6 +36,9 @@
|
||||
|
|
@ -64,31 +64,31 @@ index 9ba2bd6de5..4ec4ce9353 100644
|
|||
% R = {}
|
||||
% R["ruby_version"] = '"RUBY_LIB_VERSION"'
|
||||
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
|
||||
index a9e6365b27..7117e65e82 100755
|
||||
index b47b6e1..0b99408 100755
|
||||
--- a/tool/rbinstall.rb
|
||||
+++ b/tool/rbinstall.rb
|
||||
@@ -393,6 +393,7 @@ def CONFIG.[](name, mandatory = false)
|
||||
@@ -335,6 +335,7 @@ def CONFIG.[](name, mandatory = false)
|
||||
vendorlibdir = CONFIG["vendorlibdir"]
|
||||
vendorarchlibdir = CONFIG["vendorarchdir"]
|
||||
end
|
||||
+rubygemsdir = CONFIG["rubygemsdir"]
|
||||
mandir = CONFIG["mandir", true]
|
||||
docdir = CONFIG["docdir", true]
|
||||
enable_shared = CONFIG["ENABLE_SHARED"] == 'yes'
|
||||
@@ -1082,7 +1083,16 @@ def (bins = []).add(name)
|
||||
configure_args = Shellwords.shellwords(CONFIG["configure_args"])
|
||||
@@ -541,7 +542,13 @@ def install(src, cmd)
|
||||
install?(:local, :comm, :lib) do
|
||||
prepare "library scripts", rubylibdir
|
||||
noinst = %w[*.txt *.rdoc *.gemspec]
|
||||
+ # Bundler carries "rubygems.rb" file, so it must be specialcased :/
|
||||
+ noinst += %w[rubygems.rb rubygems/ bundler.rb bundler/] if rubygemsdir
|
||||
+ noinst += %w[rubygems.rb rubygems/ datadir.rb] if rubygemsdir
|
||||
install_recursive(File.join(srcdir, "lib"), rubylibdir, :no_install => noinst, :mode => $data_mode)
|
||||
+ if rubygemsdir
|
||||
+ noinst = %w[*.txt *.rdoc *.gemspec]
|
||||
+ install_recursive(File.join(srcdir, "lib", "rubygems"), File.join(rubygemsdir, "rubygems"), :no_install => noinst, :mode => $data_mode)
|
||||
+ noinst = %w[obsolete.rb]
|
||||
+ install_recursive(File.join(srcdir, "lib", "rubygems"), File.join(rubygemsdir, "rubygems"), :mode => $data_mode)
|
||||
+ install(File.join(srcdir, "lib", "rubygems.rb"), File.join(rubygemsdir, "rubygems.rb"), :mode => $data_mode)
|
||||
+ install_recursive(File.join(srcdir, "lib", "bundler"), File.join(rubylibdir, "bundler"), :no_install => noinst, :mode => $data_mode)
|
||||
+ install(File.join(srcdir, "lib", "bundler.rb"), rubylibdir, :mode => $data_mode)
|
||||
+ end
|
||||
end
|
||||
|
||||
install?(:local, :comm, :hdr, :'comm-hdr') do
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
|
|
|
|||
28
ruby-2.2.3-Generate-preludes-using-miniruby.patch
Normal file
28
ruby-2.2.3-Generate-preludes-using-miniruby.patch
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
From 07eb5f5e775dec01a92a8b13910eaced9e8ee0cd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Tue, 2 Dec 2014 10:56:58 +0100
|
||||
Subject: [PATCH] Generate preludes using miniruby.
|
||||
|
||||
---
|
||||
common.mk | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/common.mk b/common.mk
|
||||
index 168dc52..20c218a 100644
|
||||
--- a/common.mk
|
||||
+++ b/common.mk
|
||||
@@ -962,9 +962,9 @@ $(MINIPRELUDE_C): $(COMPILE_PRELUDE)
|
||||
$(srcdir)/template/prelude.c.tmpl
|
||||
|
||||
$(PRELUDE_C): $(COMPILE_PRELUDE) \
|
||||
- $(PRELUDE_SCRIPTS)
|
||||
+ $(PRELUDE_SCRIPTS) $(PREP)
|
||||
$(ECHO) generating $@
|
||||
- $(Q) $(BASERUBY) $(srcdir)/tool/generic_erb.rb -I$(srcdir) -c -o $@ \
|
||||
+ $(Q) $(MINIRUBY) $(srcdir)/tool/generic_erb.rb -I$(srcdir) -c -o $@ \
|
||||
$(srcdir)/template/prelude.c.tmpl $(PRELUDE_SCRIPTS)
|
||||
|
||||
{$(VPATH)}golf_prelude.c: $(COMPILE_PRELUDE) {$(srcdir)}golf_prelude.rb
|
||||
--
|
||||
2.6.3
|
||||
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
From f833e213596b0bcfad8264a555eb5093303fb5f2 Mon Sep 17 00:00:00 2001
|
||||
From: Jarek Prokop <jprokop@redhat.com>
|
||||
Date: Thu, 25 Sep 2025 12:26:39 +0200
|
||||
Subject: [PATCH] Add ruby_version_dir_name support for RDoc.
|
||||
|
||||
---
|
||||
lib/rdoc/ri/paths.rb | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/rdoc/ri/paths.rb b/lib/rdoc/ri/paths.rb
|
||||
index 8e89b04e..731f9e36 100644
|
||||
--- a/lib/rdoc/ri/paths.rb
|
||||
+++ b/lib/rdoc/ri/paths.rb
|
||||
@@ -10,7 +10,7 @@ module RDoc::RI::Paths
|
||||
#:stopdoc:
|
||||
require 'rbconfig'
|
||||
|
||||
- version = RbConfig::CONFIG['ruby_version']
|
||||
+ version = RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
|
||||
|
||||
BASE = File.join RbConfig::CONFIG['ridir'], version
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 5406ea4b4b13db747e5c1f8341bb257b4da04435 Mon Sep 17 00:00:00 2001
|
||||
From 4fc1be3af3f58621bb751c9e63c208b15c0e8d16 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Tue, 31 Mar 2015 16:21:04 +0200
|
||||
Subject: [PATCH 1/4] Use ruby_version_dir_name for versioned directories.
|
||||
|
|
@ -12,15 +12,15 @@ ruby_version_dir_name now specifies custom version string for versioned
|
|||
directories, e.g. instead of default X.Y.Z, you can specify whatever
|
||||
string.
|
||||
---
|
||||
configure.ac | 66 ++++++++++++++++++++++++---------------------
|
||||
configure.ac | 64 ++++++++++++++++++++++++++++-------------------------
|
||||
template/ruby.pc.in | 1 +
|
||||
2 files changed, 36 insertions(+), 31 deletions(-)
|
||||
2 files changed, 35 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 2bbce78fd0..9d8662369c 100644
|
||||
index 8ea969412f..a00f2b6776 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -4422,9 +4422,6 @@ AS_CASE(["$target_os"],
|
||||
@@ -4203,9 +4203,6 @@ AS_CASE(["$target_os"],
|
||||
rubyw_install_name='$(RUBYW_INSTALL_NAME)'
|
||||
])
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ index 2bbce78fd0..9d8662369c 100644
|
|||
rubyarchprefix=${multiarch+'${archlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${arch}'}
|
||||
AC_ARG_WITH(rubyarchprefix,
|
||||
AS_HELP_STRING([--with-rubyarchprefix=DIR],
|
||||
@@ -4447,57 +4444,63 @@ AC_ARG_WITH(ridir,
|
||||
@@ -4228,56 +4225,62 @@ AC_ARG_WITH(ridir,
|
||||
AC_SUBST(ridir)
|
||||
AC_SUBST(RI_BASE_NAME)
|
||||
|
||||
|
|
@ -46,7 +46,6 @@ index 2bbce78fd0..9d8662369c 100644
|
|||
-AS_IF([test ${RUBY_LIB_VERSION_STYLE+set}], [
|
||||
- {
|
||||
- echo "#define RUBY_LIB_VERSION_STYLE $RUBY_LIB_VERSION_STYLE"
|
||||
- echo '@%:@include "confdefs.h"'
|
||||
- echo '#define STRINGIZE(x) x'
|
||||
- test -f revision.h -o -f "${srcdir}/revision.h" || echo '#define RUBY_REVISION 0'
|
||||
- echo '#include "version.h"'
|
||||
|
|
@ -62,7 +61,6 @@ index 2bbce78fd0..9d8662369c 100644
|
|||
+RUBY_LIB_VERSION_STYLE='3 /* full */'
|
||||
+{
|
||||
+echo "#define RUBY_LIB_VERSION_STYLE $RUBY_LIB_VERSION_STYLE"
|
||||
+echo '@%:@include "confdefs.h"'
|
||||
+echo '#define STRINGIZE(x) x'
|
||||
+test -f revision.h -o -f "${srcdir}/revision.h" || echo '#define RUBY_REVISION 0'
|
||||
+echo '#include "version.h"'
|
||||
|
|
@ -122,7 +120,7 @@ index 2bbce78fd0..9d8662369c 100644
|
|||
|
||||
AS_IF([test "${LOAD_RELATIVE+set}"], [
|
||||
AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)
|
||||
@@ -4514,6 +4517,7 @@ AC_SUBST(sitearchincludedir)dnl
|
||||
@@ -4294,6 +4297,7 @@ AC_SUBST(sitearchincludedir)dnl
|
||||
AC_SUBST(arch)dnl
|
||||
AC_SUBST(sitearch)dnl
|
||||
AC_SUBST(ruby_version)dnl
|
||||
|
|
@ -131,108 +129,146 @@ index 2bbce78fd0..9d8662369c 100644
|
|||
AC_SUBST(rubyarchdir)dnl
|
||||
AC_SUBST(sitedir)dnl
|
||||
diff --git a/template/ruby.pc.in b/template/ruby.pc.in
|
||||
index 6901ec2320..9b7b787208 100644
|
||||
index 8a2c066..c81b211 100644
|
||||
--- a/template/ruby.pc.in
|
||||
+++ b/template/ruby.pc.in
|
||||
@@ -2,6 +2,7 @@ MAJOR=@MAJOR@
|
||||
@@ -9,6 +9,7 @@ MAJOR=@MAJOR@
|
||||
MINOR=@MINOR@
|
||||
TEENY=@TEENY@
|
||||
ruby_version=@ruby_version@
|
||||
+ruby_version_dir_name=@ruby_version_dir_name@
|
||||
RUBY_API_VERSION=@RUBY_API_VERSION@
|
||||
RUBY_PROGRAM_VERSION=@RUBY_PROGRAM_VERSION@
|
||||
arch=@arch@
|
||||
RUBY_BASE_NAME=@RUBY_BASE_NAME@
|
||||
--
|
||||
2.1.0
|
||||
|
||||
From baff562149499973123d2187620201be641c6538 Mon Sep 17 00:00:00 2001
|
||||
|
||||
From 518850aba6eee76de7715aae8d37330e34b01983 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Tue, 31 Mar 2015 16:37:26 +0200
|
||||
Subject: [PATCH 2/4] Add ruby_version_dir_name support for RDoc.
|
||||
|
||||
---
|
||||
tool/rbinstall.rb | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
lib/rdoc/ri/paths.rb | 2 +-
|
||||
tool/rbinstall.rb | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/rdoc/ri/paths.rb b/lib/rdoc/ri/paths.rb
|
||||
index 970cb91..5bf8230 100644
|
||||
--- a/lib/rdoc/ri/paths.rb
|
||||
+++ b/lib/rdoc/ri/paths.rb
|
||||
@@ -10,7 +10,7 @@ module RDoc::RI::Paths
|
||||
#:stopdoc:
|
||||
require 'rbconfig'
|
||||
|
||||
- version = RbConfig::CONFIG['ruby_version']
|
||||
+ version = RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
|
||||
|
||||
BASE = if RbConfig::CONFIG.key? 'ridir' then
|
||||
File.join RbConfig::CONFIG['ridir'], version
|
||||
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
|
||||
index 874c3ef1d9..a9e6365b27 100755
|
||||
index d4c110e..d39c9a6 100755
|
||||
--- a/tool/rbinstall.rb
|
||||
+++ b/tool/rbinstall.rb
|
||||
@@ -1053,7 +1053,7 @@ def (bins = []).add(name)
|
||||
@@ -421,7 +421,7 @@ def CONFIG.[](name, mandatory = false)
|
||||
|
||||
install?(:doc, :rdoc) do
|
||||
if $rdocdir
|
||||
- ridatadir = File.join(CONFIG['ridir'], CONFIG['ruby_version'], "system")
|
||||
+ ridatadir = File.join(CONFIG['ridir'], CONFIG['ruby_version_dir_name'] || CONFIG['ruby_version'], "system")
|
||||
prepare "rdoc", ridatadir
|
||||
install_recursive($rdocdir, ridatadir, :no_install => rdoc_noinst, :mode => $data_mode)
|
||||
install_recursive($rdocdir, ridatadir, :mode => $data_mode)
|
||||
end
|
||||
--
|
||||
2.1.0
|
||||
|
||||
From 7cf872a9a34f38d71cd2ca04ac114b4ea85cc56c Mon Sep 17 00:00:00 2001
|
||||
|
||||
From f8d136f9a46d1fe87eba622ab9665935d05e981b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Tue, 31 Mar 2015 16:37:44 +0200
|
||||
Subject: [PATCH 3/4] Add ruby_version_dir_name support for RubyGems.
|
||||
|
||||
---
|
||||
lib/rubygems/defaults.rb | 7 ++++---
|
||||
test/rubygems/test_gem.rb | 5 +++--
|
||||
2 files changed, 7 insertions(+), 5 deletions(-)
|
||||
lib/rubygems/defaults.rb | 11 ++++++-----
|
||||
test/rubygems/test_gem.rb | 5 +++--
|
||||
2 files changed, 9 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb
|
||||
index 90f09fc191..f6b8a03b95 100644
|
||||
index 55ca080..75eea2b 100644
|
||||
--- a/lib/rubygems/defaults.rb
|
||||
+++ b/lib/rubygems/defaults.rb
|
||||
@@ -35,7 +35,7 @@ def self.default_spec_cache_dir
|
||||
# specified in the environment
|
||||
@@ -32,20 +32,20 @@ def self.default_dir
|
||||
[
|
||||
File.dirname(RbConfig::CONFIG['sitedir']),
|
||||
'Gems',
|
||||
- RbConfig::CONFIG['ruby_version']
|
||||
+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
|
||||
]
|
||||
elsif RbConfig::CONFIG['rubylibprefix'] then
|
||||
[
|
||||
RbConfig::CONFIG['rubylibprefix'],
|
||||
'gems',
|
||||
- RbConfig::CONFIG['ruby_version']
|
||||
+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
|
||||
]
|
||||
else
|
||||
[
|
||||
RbConfig::CONFIG['libdir'],
|
||||
ruby_engine,
|
||||
'gems',
|
||||
- RbConfig::CONFIG['ruby_version']
|
||||
+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
|
||||
]
|
||||
end
|
||||
|
||||
def self.default_dir
|
||||
- @default_dir ||= File.join(RbConfig::CONFIG["rubylibprefix"], "gems", RbConfig::CONFIG["ruby_version"])
|
||||
+ @default_dir ||= File.join(RbConfig::CONFIG["rubylibprefix"], "gems", RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"])
|
||||
end
|
||||
@@ -75,7 +75,8 @@ def self.default_rubygems_dirs
|
||||
|
||||
##
|
||||
@@ -104,7 +104,8 @@ def self.user_dir
|
||||
gem_dir = File.join(Gem.user_home, ".gem")
|
||||
gem_dir = File.join(Gem.data_home, "gem") unless File.exist?(gem_dir)
|
||||
parts = [gem_dir, ruby_engine]
|
||||
- parts << RbConfig::CONFIG["ruby_version"] unless RbConfig::CONFIG["ruby_version"].empty?
|
||||
+ ruby_version_dir_name = RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"]
|
||||
def self.user_dir
|
||||
parts = [Gem.user_home, '.gem', ruby_engine]
|
||||
- parts << RbConfig::CONFIG['ruby_version'] unless RbConfig::CONFIG['ruby_version'].empty?
|
||||
+ ruby_version_dir_name = RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
|
||||
+ parts << ruby_version_dir_name unless ruby_version_dir_name.empty?
|
||||
File.join parts
|
||||
end
|
||||
|
||||
@@ -265,7 +266,7 @@ def self.vendor_dir # :nodoc:
|
||||
return nil unless RbConfig::CONFIG.key? "vendordir"
|
||||
@@ -172,7 +173,7 @@ def self.vendor_dir # :nodoc:
|
||||
return nil unless RbConfig::CONFIG.key? 'vendordir'
|
||||
|
||||
File.join RbConfig::CONFIG["vendordir"], "gems",
|
||||
- RbConfig::CONFIG["ruby_version"]
|
||||
+ RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"]
|
||||
File.join RbConfig::CONFIG['vendordir'], 'gems',
|
||||
- RbConfig::CONFIG['ruby_version']
|
||||
+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
|
||||
end
|
||||
|
||||
##
|
||||
diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb
|
||||
index 74c8953904..1f3bd91d51 100644
|
||||
index 0428bea..b6e090e 100644
|
||||
--- a/test/rubygems/test_gem.rb
|
||||
+++ b/test/rubygems/test_gem.rb
|
||||
@@ -1339,7 +1339,8 @@ def test_self_use_paths
|
||||
@@ -1191,7 +1191,8 @@ def test_self_use_paths
|
||||
|
||||
def test_self_user_dir
|
||||
parts = [@userhome, ".gem", Gem.ruby_engine]
|
||||
- parts << RbConfig::CONFIG["ruby_version"] unless RbConfig::CONFIG["ruby_version"].empty?
|
||||
+ ruby_version_dir_name = RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"]
|
||||
parts = [@userhome, '.gem', Gem.ruby_engine]
|
||||
- parts << RbConfig::CONFIG['ruby_version'] unless RbConfig::CONFIG['ruby_version'].empty?
|
||||
+ ruby_version_dir_name = RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
|
||||
+ parts << ruby_version_dir_name unless ruby_version_dir_name.empty?
|
||||
|
||||
FileUtils.mkdir_p File.join(parts)
|
||||
assert_equal File.join(parts), Gem.user_dir
|
||||
end
|
||||
@@ -1318,7 +1319,7 @@ def test_self_user_home_user_drive_and_path
|
||||
def test_self_vendor_dir
|
||||
expected =
|
||||
File.join RbConfig::CONFIG['vendordir'], 'gems',
|
||||
- RbConfig::CONFIG['ruby_version']
|
||||
+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
|
||||
|
||||
@@ -1415,7 +1416,7 @@ def test_self_vendor_dir
|
||||
vendordir(File.join(@tempdir, "vendor")) do
|
||||
expected =
|
||||
File.join RbConfig::CONFIG["vendordir"], "gems",
|
||||
- RbConfig::CONFIG["ruby_version"]
|
||||
+ RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"]
|
||||
|
||||
assert_equal expected, Gem.vendor_dir
|
||||
end
|
||||
assert_equal expected, Gem.vendor_dir
|
||||
end
|
||||
--
|
||||
2.1.0
|
||||
|
||||
From 17cb98b7b78f8bfc511feffbe061747f676055b1 Mon Sep 17 00:00:00 2001
|
||||
|
||||
From 88c38a030c22dbf9422ece847bdfbf87d6659313 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Wed, 1 Apr 2015 14:55:37 +0200
|
||||
Subject: [PATCH 4/4] Let headers directories follow the configured version
|
||||
|
|
@ -243,15 +279,18 @@ Subject: [PATCH 4/4] Let headers directories follow the configured version
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 9d8662369c..2bc5153141 100644
|
||||
index a00f2b6776..999e2d6d5d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -151,7 +151,7 @@ RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"`
|
||||
@@ -164,7 +164,7 @@ RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"`
|
||||
RUBYW_BASE_NAME=`echo rubyw | sed "$program_transform_name"`
|
||||
AC_SUBST(RUBY_BASE_NAME)
|
||||
AC_SUBST(RUBYW_BASE_NAME)
|
||||
-AC_SUBST(RUBY_VERSION_NAME, '${RUBY_BASE_NAME}-${ruby_version}')
|
||||
+AC_SUBST(RUBY_VERSION_NAME, '${RUBY_BASE_NAME}-${ruby_version_dir_name}')
|
||||
|
||||
dnl checks for alternative programs
|
||||
AC_CANONICAL_BUILD
|
||||
AC_CANONICAL_TARGET
|
||||
test x"$target_alias" = x &&
|
||||
--
|
||||
2.1.0
|
||||
|
||||
|
|
|
|||
116
ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch
Normal file
116
ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
From 346e147ba6480839b87046e9a9efab0bf6ed3660 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Wed, 10 Aug 2016 17:35:48 +0200
|
||||
Subject: [PATCH] Rely on ldd to detect glibc.
|
||||
|
||||
This is just workaround, since we know we are quite sure this will be successful
|
||||
on Red Hat platforms.
|
||||
|
||||
This workaround rhbz#1361037
|
||||
---
|
||||
test/fiddle/helper.rb | 92 ---------------------------------------------------
|
||||
1 file changed, 92 deletions(-)
|
||||
|
||||
diff --git a/test/fiddle/helper.rb b/test/fiddle/helper.rb
|
||||
index 1da3d93..65148a1 100644
|
||||
--- a/test/fiddle/helper.rb
|
||||
+++ b/test/fiddle/helper.rb
|
||||
@@ -6,95 +6,6 @@
|
||||
|
||||
libc_so = libm_so = nil
|
||||
|
||||
-case RUBY_PLATFORM
|
||||
-when /cygwin/
|
||||
- libc_so = "cygwin1.dll"
|
||||
- libm_so = "cygwin1.dll"
|
||||
-when /linux/
|
||||
- libdir = '/lib'
|
||||
- case [0].pack('L!').size
|
||||
- when 4
|
||||
- # 32-bit ruby
|
||||
- libdir = '/lib32' if File.directory? '/lib32'
|
||||
- when 8
|
||||
- # 64-bit ruby
|
||||
- libdir = '/lib64' if File.directory? '/lib64'
|
||||
- end
|
||||
- libc_so = File.join(libdir, "libc.so.6")
|
||||
- libm_so = File.join(libdir, "libm.so.6")
|
||||
-when /mingw/, /mswin/
|
||||
- require "rbconfig"
|
||||
- crtname = RbConfig::CONFIG["RUBY_SO_NAME"][/msvc\w+/] || 'ucrtbase'
|
||||
- libc_so = libm_so = "#{crtname}.dll"
|
||||
-when /darwin/
|
||||
- libc_so = "/usr/lib/libc.dylib"
|
||||
- libm_so = "/usr/lib/libm.dylib"
|
||||
-when /kfreebsd/
|
||||
- libc_so = "/lib/libc.so.0.1"
|
||||
- libm_so = "/lib/libm.so.1"
|
||||
-when /gnu/ #GNU/Hurd
|
||||
- libc_so = "/lib/libc.so.0.3"
|
||||
- libm_so = "/lib/libm.so.6"
|
||||
-when /mirbsd/
|
||||
- libc_so = "/usr/lib/libc.so.41.10"
|
||||
- libm_so = "/usr/lib/libm.so.7.0"
|
||||
-when /freebsd/
|
||||
- libc_so = "/lib/libc.so.7"
|
||||
- libm_so = "/lib/libm.so.5"
|
||||
-when /bsd|dragonfly/
|
||||
- libc_so = "/usr/lib/libc.so"
|
||||
- libm_so = "/usr/lib/libm.so"
|
||||
-when /solaris/
|
||||
- libdir = '/lib'
|
||||
- case [0].pack('L!').size
|
||||
- when 4
|
||||
- # 32-bit ruby
|
||||
- libdir = '/lib' if File.directory? '/lib'
|
||||
- when 8
|
||||
- # 64-bit ruby
|
||||
- libdir = '/lib/64' if File.directory? '/lib/64'
|
||||
- end
|
||||
- libc_so = File.join(libdir, "libc.so")
|
||||
- libm_so = File.join(libdir, "libm.so")
|
||||
-when /aix/
|
||||
- pwd=Dir.pwd
|
||||
- libc_so = libm_so = "#{pwd}/libaixdltest.so"
|
||||
- unless File.exist? libc_so
|
||||
- cobjs=%w!strcpy.o!
|
||||
- mobjs=%w!floats.o sin.o!
|
||||
- funcs=%w!sin sinf strcpy strncpy!
|
||||
- expfile='dltest.exp'
|
||||
- require 'tmpdir'
|
||||
- Dir.mktmpdir do |dir|
|
||||
- begin
|
||||
- Dir.chdir dir
|
||||
- %x!/usr/bin/ar x /usr/lib/libc.a #{cobjs.join(' ')}!
|
||||
- %x!/usr/bin/ar x /usr/lib/libm.a #{mobjs.join(' ')}!
|
||||
- %x!echo "#{funcs.join("\n")}\n" > #{expfile}!
|
||||
- require 'rbconfig'
|
||||
- if RbConfig::CONFIG["GCC"] = 'yes'
|
||||
- lflag='-Wl,'
|
||||
- else
|
||||
- lflag=''
|
||||
- end
|
||||
- flags="#{lflag}-bE:#{expfile} #{lflag}-bnoentry -lm"
|
||||
- %x!#{RbConfig::CONFIG["LDSHARED"]} -o #{libc_so} #{(cobjs+mobjs).join(' ')} #{flags}!
|
||||
- ensure
|
||||
- Dir.chdir pwd
|
||||
- end
|
||||
- end
|
||||
- end
|
||||
-else
|
||||
- libc_so = ARGV[0] if ARGV[0] && ARGV[0][0] == ?/
|
||||
- libm_so = ARGV[1] if ARGV[1] && ARGV[1][0] == ?/
|
||||
- if( !(libc_so && libm_so) )
|
||||
- $stderr.puts("libc and libm not found: #{$0} <libc> <libm>")
|
||||
- end
|
||||
-end
|
||||
-
|
||||
-libc_so = nil if !libc_so || (libc_so[0] == ?/ && !File.file?(libc_so))
|
||||
-libm_so = nil if !libm_so || (libm_so[0] == ?/ && !File.file?(libm_so))
|
||||
-
|
||||
if !libc_so || !libm_so
|
||||
ruby = EnvUtil.rubybin
|
||||
ldd = `ldd #{ruby}`
|
||||
--
|
||||
2.9.2
|
||||
|
||||
80
ruby-2.5.0-Add-Gem.operating_system_defaults.patch
Normal file
80
ruby-2.5.0-Add-Gem.operating_system_defaults.patch
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
From 60eb961c25f801ee43ca1be9393ab2f0a0546677 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Tue, 19 Dec 2017 14:00:20 +0100
|
||||
Subject: [PATCH] Add Gem.operating_system_defaults to allow packagers to
|
||||
override defaults.
|
||||
|
||||
This change allows Ruby packagers to override defaults and lazily query
|
||||
them.
|
||||
|
||||
This is very much the same change as #1644 to treat the
|
||||
operating_system defaults the same way as platform defaults.
|
||||
---
|
||||
lib/rubygems/config_file.rb | 2 +-
|
||||
lib/rubygems/defaults.rb | 21 ++++++++++++++++++++-
|
||||
test/rubygems/test_gem.rb | 7 +++++++
|
||||
3 files changed, 28 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/rubygems/config_file.rb b/lib/rubygems/config_file.rb
|
||||
index a4efed0f5a..deee38e6d9 100644
|
||||
--- a/lib/rubygems/config_file.rb
|
||||
+++ b/lib/rubygems/config_file.rb
|
||||
@@ -48,7 +48,7 @@ class Gem::ConfigFile
|
||||
# For Ruby packagers to set configuration defaults. Set in
|
||||
# rubygems/defaults/operating_system.rb
|
||||
|
||||
- OPERATING_SYSTEM_DEFAULTS = {}
|
||||
+ OPERATING_SYSTEM_DEFAULTS = Gem.operating_system_defaults
|
||||
|
||||
##
|
||||
# For Ruby implementers to set configuration defaults. Set in
|
||||
diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb
|
||||
index 43d57fc808..b8222877ae 100644
|
||||
--- a/lib/rubygems/defaults.rb
|
||||
+++ b/lib/rubygems/defaults.rb
|
||||
@@ -177,7 +177,26 @@ def self.vendor_dir # :nodoc:
|
||||
end
|
||||
|
||||
##
|
||||
- # Default options for gem commands.
|
||||
+ # Default options for gem commands for Ruby packagers.
|
||||
+ #
|
||||
+ # The options here should be structured as an array of string "gem"
|
||||
+ # command names as keys and a string of the default options as values.
|
||||
+ #
|
||||
+ # Example:
|
||||
+ #
|
||||
+ # def self.operating_system_defaults
|
||||
+ # {
|
||||
+ # 'install' => '--no-rdoc --no-ri --env-shebang',
|
||||
+ # 'update' => '--no-rdoc --no-ri --env-shebang'
|
||||
+ # }
|
||||
+ # end
|
||||
+
|
||||
+ def self.operating_system_defaults
|
||||
+ {}
|
||||
+ end
|
||||
+
|
||||
+ ##
|
||||
+ # Default options for gem commands for Ruby implementers.
|
||||
#
|
||||
# The options here should be structured as an array of string "gem"
|
||||
# command names as keys and a string of the default options as values.
|
||||
diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb
|
||||
index 3225a05c6b..62b80c4945 100644
|
||||
--- a/test/rubygems/test_gem.rb
|
||||
+++ b/test/rubygems/test_gem.rb
|
||||
@@ -1837,6 +1837,13 @@ def test_use_gemdeps_specific
|
||||
ENV['RUBYGEMS_GEMDEPS'] = rubygems_gemdeps
|
||||
end
|
||||
|
||||
+ def test_operating_system_defaults
|
||||
+ operating_system_defaults = Gem.operating_system_defaults
|
||||
+
|
||||
+ assert operating_system_defaults != nil
|
||||
+ assert operating_system_defaults.is_a? Hash
|
||||
+ end
|
||||
+
|
||||
def test_platform_defaults
|
||||
platform_defaults = Gem.platform_defaults
|
||||
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
From 51e2c91412a511196e58efea5b87c460b4fa6a20 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Thu, 26 Jul 2018 13:17:52 +0200
|
||||
Subject: [PATCH] Avoid need of C++ compiler to pass the test suite.
|
||||
|
||||
The test suite fails when C++ compiler is not available on the system:
|
||||
|
||||
~~~
|
||||
TestGemExtCmakeBuilder#test_self_build:
|
||||
Gem::InstallError: cmake failed, exit code 1
|
||||
/builddir/build/BUILD/ruby-2.5.1/lib/rubygems/ext/builder.rb:92:in `run'
|
||||
/builddir/build/BUILD/ruby-2.5.1/lib/rubygems/ext/cmake_builder.rb:10:in `build'
|
||||
/builddir/build/BUILD/ruby-2.5.1/test/rubygems/test_gem_ext_cmake_builder.rb:37:in `block in test_self_build'
|
||||
/builddir/build/BUILD/ruby-2.5.1/test/rubygems/test_gem_ext_cmake_builder.rb:36:in `chdir'
|
||||
/builddir/build/BUILD/ruby-2.5.1/test/rubygems/test_gem_ext_cmake_builder.rb:36:in `test_self_build'
|
||||
~~~
|
||||
|
||||
But there is nothing which would realy required C++. It is just CMake
|
||||
default to check for C++.
|
||||
---
|
||||
test/rubygems/test_gem_ext_cmake_builder.rb | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/test/rubygems/test_gem_ext_cmake_builder.rb b/test/rubygems/test_gem_ext_cmake_builder.rb
|
||||
index 76d3cb2afe..2d449fc2fd 100644
|
||||
--- a/test/rubygems/test_gem_ext_cmake_builder.rb
|
||||
+++ b/test/rubygems/test_gem_ext_cmake_builder.rb
|
||||
@@ -25,6 +25,7 @@ def test_self_build
|
||||
File.open File.join(@ext, 'CMakeLists.txt'), 'w' do |cmakelists|
|
||||
cmakelists.write <<-eo_cmake
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
+project(self_build LANGUAGES NONE)
|
||||
install (FILES test.txt DESTINATION bin)
|
||||
eo_cmake
|
||||
end
|
||||
182
ruby-2.6.0-config-support-include-directive.patch
Normal file
182
ruby-2.6.0-config-support-include-directive.patch
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
From f46bac1f3e8634e24c747d06b28e11b874f1e488 Mon Sep 17 00:00:00 2001
|
||||
From: Kazuki Yamaguchi <k@rhe.jp>
|
||||
Date: Thu, 16 Aug 2018 19:40:48 +0900
|
||||
Subject: [PATCH] config: support .include directive
|
||||
|
||||
OpenSSL 1.1.1 introduces a new '.include' directive. Update our config
|
||||
parser to support that.
|
||||
|
||||
As mentioned in the referenced GitHub issue, we should use the OpenSSL
|
||||
API instead of implementing the parsing logic ourselves, but it will
|
||||
need backwards-incompatible changes which we can't backport to stable
|
||||
versions. So continue to use the Ruby implementation for now.
|
||||
|
||||
Reference: https://github.com/ruby/openssl/issues/208
|
||||
---
|
||||
ext/openssl/lib/openssl/config.rb | 54 ++++++++++++++++++++++++++++---------------
|
||||
test/openssl/test_config.rb | 54 +++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 90 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/ext/openssl/lib/openssl/config.rb b/ext/openssl/lib/openssl/config.rb
|
||||
index 88225451..ba3a54c8 100644
|
||||
--- a/ext/openssl/lib/openssl/config.rb
|
||||
+++ b/ext/openssl/lib/openssl/config.rb
|
||||
@@ -77,29 +77,44 @@ def get_key_string(data, section, key) # :nodoc:
|
||||
def parse_config_lines(io)
|
||||
section = 'default'
|
||||
data = {section => {}}
|
||||
- while definition = get_definition(io)
|
||||
+ io_stack = [io]
|
||||
+ while definition = get_definition(io_stack)
|
||||
definition = clear_comments(definition)
|
||||
next if definition.empty?
|
||||
- if definition[0] == ?[
|
||||
+ case definition
|
||||
+ when /\A\[/
|
||||
if /\[([^\]]*)\]/ =~ definition
|
||||
section = $1.strip
|
||||
data[section] ||= {}
|
||||
else
|
||||
raise ConfigError, "missing close square bracket"
|
||||
end
|
||||
- else
|
||||
- if /\A([^:\s]*)(?:::([^:\s]*))?\s*=(.*)\z/ =~ definition
|
||||
- if $2
|
||||
- section = $1
|
||||
- key = $2
|
||||
- else
|
||||
- key = $1
|
||||
+ when /\A\.include (\s*=\s*)?(.+)\z/
|
||||
+ path = $2
|
||||
+ if File.directory?(path)
|
||||
+ files = Dir.glob(File.join(path, "*.{cnf,conf}"), File::FNM_EXTGLOB)
|
||||
+ else
|
||||
+ files = [path]
|
||||
+ end
|
||||
+
|
||||
+ files.each do |filename|
|
||||
+ begin
|
||||
+ io_stack << StringIO.new(File.read(filename))
|
||||
+ rescue
|
||||
+ raise ConfigError, "could not include file '%s'" % filename
|
||||
end
|
||||
- value = unescape_value(data, section, $3)
|
||||
- (data[section] ||= {})[key] = value.strip
|
||||
+ end
|
||||
+ when /\A([^:\s]*)(?:::([^:\s]*))?\s*=(.*)\z/
|
||||
+ if $2
|
||||
+ section = $1
|
||||
+ key = $2
|
||||
else
|
||||
- raise ConfigError, "missing equal sign"
|
||||
+ key = $1
|
||||
end
|
||||
+ value = unescape_value(data, section, $3)
|
||||
+ (data[section] ||= {})[key] = value.strip
|
||||
+ else
|
||||
+ raise ConfigError, "missing equal sign"
|
||||
end
|
||||
end
|
||||
data
|
||||
@@ -212,10 +227,10 @@ def clear_comments(line)
|
||||
scanned.join
|
||||
end
|
||||
|
||||
- def get_definition(io)
|
||||
- if line = get_line(io)
|
||||
+ def get_definition(io_stack)
|
||||
+ if line = get_line(io_stack)
|
||||
while /[^\\]\\\z/ =~ line
|
||||
- if extra = get_line(io)
|
||||
+ if extra = get_line(io_stack)
|
||||
line += extra
|
||||
else
|
||||
break
|
||||
@@ -225,9 +240,12 @@ def get_definition(io)
|
||||
end
|
||||
end
|
||||
|
||||
- def get_line(io)
|
||||
- if line = io.gets
|
||||
- line.gsub(/[\r\n]*/, '')
|
||||
+ def get_line(io_stack)
|
||||
+ while io = io_stack.last
|
||||
+ if line = io.gets
|
||||
+ return line.gsub(/[\r\n]*/, '')
|
||||
+ end
|
||||
+ io_stack.pop
|
||||
end
|
||||
end
|
||||
end
|
||||
diff --git a/test/openssl/test_config.rb b/test/openssl/test_config.rb
|
||||
index 99dcc497..5653b5d0 100644
|
||||
--- a/test/openssl/test_config.rb
|
||||
+++ b/test/openssl/test_config.rb
|
||||
@@ -120,6 +120,49 @@ def test_s_parse_format
|
||||
assert_equal("error in line 7: missing close square bracket", excn.message)
|
||||
end
|
||||
|
||||
+ def test_s_parse_include
|
||||
+ in_tmpdir("ossl-config-include-test") do |dir|
|
||||
+ Dir.mkdir("child")
|
||||
+ File.write("child/a.conf", <<~__EOC__)
|
||||
+ [default]
|
||||
+ file-a = a.conf
|
||||
+ [sec-a]
|
||||
+ a = 123
|
||||
+ __EOC__
|
||||
+ File.write("child/b.cnf", <<~__EOC__)
|
||||
+ [default]
|
||||
+ file-b = b.cnf
|
||||
+ [sec-b]
|
||||
+ b = 123
|
||||
+ __EOC__
|
||||
+ File.write("include-child.conf", <<~__EOC__)
|
||||
+ key_outside_section = value_a
|
||||
+ .include child
|
||||
+ __EOC__
|
||||
+
|
||||
+ include_file = <<~__EOC__
|
||||
+ [default]
|
||||
+ file-main = unnamed
|
||||
+ [sec-main]
|
||||
+ main = 123
|
||||
+ .include = include-child.conf
|
||||
+ __EOC__
|
||||
+
|
||||
+ # Include a file by relative path
|
||||
+ c1 = OpenSSL::Config.parse(include_file)
|
||||
+ assert_equal(["default", "sec-a", "sec-b", "sec-main"], c1.sections.sort)
|
||||
+ assert_equal(["file-main", "file-a", "file-b"], c1["default"].keys)
|
||||
+ assert_equal({"a" => "123"}, c1["sec-a"])
|
||||
+ assert_equal({"b" => "123"}, c1["sec-b"])
|
||||
+ assert_equal({"main" => "123", "key_outside_section" => "value_a"}, c1["sec-main"])
|
||||
+
|
||||
+ # Relative paths are from the working directory
|
||||
+ assert_raise(OpenSSL::ConfigError) do
|
||||
+ Dir.chdir("child") { OpenSSL::Config.parse(include_file) }
|
||||
+ end
|
||||
+ end
|
||||
+ end
|
||||
+
|
||||
def test_s_load
|
||||
# alias of new
|
||||
c = OpenSSL::Config.load
|
||||
@@ -299,6 +342,17 @@ def test_clone
|
||||
@it['newsection'] = {'a' => 'b'}
|
||||
assert_not_equal(@it.sections.sort, c.sections.sort)
|
||||
end
|
||||
+
|
||||
+ private
|
||||
+
|
||||
+ def in_tmpdir(*args)
|
||||
+ Dir.mktmpdir(*args) do |dir|
|
||||
+ dir = File.realpath(dir)
|
||||
+ Dir.chdir(dir) do
|
||||
+ yield dir
|
||||
+ end
|
||||
+ end
|
||||
+ end
|
||||
end
|
||||
|
||||
end
|
||||
43
ruby-2.6.0-configure-fstack-protector-strong.patch
Normal file
43
ruby-2.6.0-configure-fstack-protector-strong.patch
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
From c8ccdbfe1e45cb3b832109d644296c0a3b3e0b59 Mon Sep 17 00:00:00 2001
|
||||
From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
|
||||
Date: Sun, 2 Sep 2018 03:49:31 +0000
|
||||
Subject: [PATCH] configure.ac: -fstack-protector-strong
|
||||
|
||||
* configure.ac: use -fstack-protector-strong if available instead of
|
||||
-fstack-protector conditionally. [ruby-core:88788] [Misc #15053]
|
||||
|
||||
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
||||
---
|
||||
configure.ac | 17 ++++++++++-------
|
||||
1 file changed, 10 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 9328fa532de0..b8ee57239215 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -837,15 +837,18 @@ AS_IF([test "$GCC" = yes], [
|
||||
stack_protector=no
|
||||
])
|
||||
AS_IF([test -z "${stack_protector+set}"], [
|
||||
- RUBY_TRY_CFLAGS(-fstack-protector, [stack_protector=yes], [stack_protector=no])
|
||||
- AS_IF([test "x$stack_protector" = xyes], [
|
||||
- RUBY_TRY_LDFLAGS(-fstack-protector, [], [stack_protector=broken])
|
||||
+ AS_FOR(option, opt, [-fstack-protector-strong -fstack-protector], [
|
||||
+ RUBY_TRY_CFLAGS(option, [stack_protector=yes])
|
||||
+ AS_IF([test "x$stack_protector" = xyes], [
|
||||
+ RUBY_TRY_LDFLAGS(option, [], [stack_protector=])
|
||||
+ ])
|
||||
+ AS_IF([test "x$stack_protector" = xyes], [stack_protector=option; break])
|
||||
])
|
||||
])
|
||||
- AS_IF([test "x$stack_protector" = xyes], [
|
||||
- RUBY_APPEND_OPTION(XCFLAGS, -fstack-protector)
|
||||
- RUBY_APPEND_OPTION(XLDFLAGS, -fstack-protector)
|
||||
- RUBY_APPEND_OPTION(LDFLAGS, -fstack-protector)
|
||||
+ AS_CASE(["$stack_protector"], [-*], [
|
||||
+ RUBY_APPEND_OPTION(XCFLAGS, $stack_protector)
|
||||
+ RUBY_APPEND_OPTION(XLDFLAGS, $stack_protector)
|
||||
+ RUBY_APPEND_OPTION(LDFLAGS, $stack_protector)
|
||||
])
|
||||
|
||||
AS_CASE("${compress_debug_sections:-zlib}",
|
||||
177
ruby-2.6.0-library-options-to-MAINLIBS.patch
Normal file
177
ruby-2.6.0-library-options-to-MAINLIBS.patch
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
From bb3db69e2a0c210cc3a63940622db96a97eb7947 Mon Sep 17 00:00:00 2001
|
||||
From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
|
||||
Date: Fri, 2 Mar 2018 01:37:53 +0000
|
||||
Subject: [PATCH] configure.ac: library options to MAINLIBS
|
||||
|
||||
* configure.ac (MAINLIBS): moved library options for main program
|
||||
and static libruby, and append MAINLIBS to LIBRUBYARG_STATIC, as
|
||||
these libraries are not needed for linking to shared libruby.
|
||||
[ruby-core:85882] [Bug #14422]
|
||||
|
||||
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
||||
---
|
||||
configure.ac | 33 +++++++++++++++------------------
|
||||
template/ruby.pc.in | 1 +
|
||||
win32/Makefile.sub | 6 ++++--
|
||||
3 files changed, 20 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 5f492585b3..976be1a835 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -10,6 +10,7 @@ AC_DISABLE_OPTION_CHECKING
|
||||
AC_ARG_VAR([cflags], [additional CFLAGS])
|
||||
AC_ARG_VAR([cppflags], [additional CPPFLAGS])
|
||||
AC_ARG_VAR([cxxflags], [additional CXXFLAGS])
|
||||
+ORIG_LIBS=$LIBS
|
||||
|
||||
AC_DEFUN([RUBY_RM_RECURSIVE], [
|
||||
m4_version_prereq([2.70], [-1], [
|
||||
@@ -2939,13 +2940,11 @@ AS_IF([test x"$enable_pthread" = xyes], [
|
||||
AC_DEFINE(_THREAD_SAFE)
|
||||
AC_DEFINE(HAVE_LIBPTHREAD)
|
||||
AC_CHECK_HEADERS(pthread_np.h, [], [], [@%:@include <pthread.h>])
|
||||
- AS_CASE([$pthread_lib],
|
||||
- [c], [],
|
||||
- [root], [],
|
||||
- [c_r], [MAINLIBS="-pthread $MAINLIBS"],
|
||||
- [AS_CASE(["$target_os"],
|
||||
- [openbsd*|mirbsd*], [LIBS="-pthread $LIBS"],
|
||||
- [LIBS="-l$pthread_lib $LIBS"])])
|
||||
+ AS_CASE(["$pthread_lib:$target_os"],
|
||||
+ [c:*], [],
|
||||
+ [root:*], [],
|
||||
+ [c_r:*|*:openbsd*|*:mirbsd*], [LIBS="-pthread $LIBS"],
|
||||
+ [LIBS="-l$pthread_lib $LIBS"])
|
||||
], [
|
||||
AC_MSG_WARN("Don't know how to find pthread library on your system -- thread support disabled")
|
||||
])
|
||||
@@ -3624,7 +3623,7 @@ LIBRUBY_A='lib$(RUBY_SO_NAME)-static.a'
|
||||
LIBRUBY='$(LIBRUBY_A)'
|
||||
LIBRUBYARG_STATIC='-l$(RUBY_SO_NAME)-static'
|
||||
LIBRUBYARG='$(LIBRUBYARG_STATIC)'
|
||||
-SOLIBS=
|
||||
+SOLIBS='$(MAINLIBS)'
|
||||
|
||||
AS_CASE(["$target_os"],
|
||||
[cygwin*|mingw*|haiku*|darwin*], [
|
||||
@@ -3690,9 +3689,6 @@ AS_CASE("$enable_shared", [yes], [
|
||||
LIBRUBY_RELATIVE=no
|
||||
test -z "$CCDLFLAGS" || CFLAGS="$CFLAGS $CCDLFLAGS"
|
||||
ENABLE_SHARED=yes
|
||||
- AS_IF([test "$rb_cv_binary_elf" = yes], [
|
||||
- SOLIBS='$(LIBS)'
|
||||
- ])
|
||||
|
||||
# libdir can be overridden in config.site file (on OpenSUSE at least).
|
||||
libdir_basename=lib
|
||||
@@ -3727,7 +3723,6 @@ AS_CASE("$enable_shared", [yes], [
|
||||
])
|
||||
],
|
||||
[freebsd*|dragonfly*], [
|
||||
- SOLIBS='$(LIBS)'
|
||||
LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)$(MINOR)'
|
||||
LIBRUBY_SONAME='$(LIBRUBY_SO)'
|
||||
AS_IF([test "$rb_cv_binary_elf" != "yes" ], [
|
||||
@@ -3736,7 +3731,6 @@ AS_CASE("$enable_shared", [yes], [
|
||||
])
|
||||
],
|
||||
[netbsd*], [
|
||||
- SOLIBS='$(LIBS)'
|
||||
LIBRUBY_SONAME='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)$(MINOR)'
|
||||
LIBRUBY_SO="${LIBRUBY_SONAME}"'.$(TEENY)'
|
||||
RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ['-Wl,-soname,$(LIBRUBY_SONAME)' "$LDFLAGS_OPTDIR"])
|
||||
@@ -3747,11 +3741,9 @@ AS_CASE("$enable_shared", [yes], [
|
||||
])
|
||||
],
|
||||
[openbsd*|mirbsd*], [
|
||||
- SOLIBS='$(LIBS)'
|
||||
LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR).'`expr ${MINOR} \* 10 + ${TEENY}`
|
||||
],
|
||||
[solaris*], [
|
||||
- SOLIBS='$(LIBS)'
|
||||
LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)'
|
||||
LIBRUBY_SONAME='lib$(RUBY_SO_NAME).$(SOEXT).$(RUBY_PROGRAM_VERSION)'
|
||||
LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_SO_NAME).$(SOEXT)'
|
||||
@@ -3769,7 +3761,7 @@ AS_CASE("$enable_shared", [yes], [
|
||||
[aix*], [
|
||||
RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ["${linker_flag}-bnoentry" "$XLDFLAGS" "$LDFLAGS_OPTDIR"])
|
||||
LIBRUBYARG_SHARED='-L${libdir} -l${RUBY_SO_NAME}'
|
||||
- SOLIBS='-lm -lc'
|
||||
+ LIBS="$LIBS -lm -lc"
|
||||
],
|
||||
[darwin*], [
|
||||
LIBRUBY_LDSHARED='$(CC) -dynamiclib'
|
||||
@@ -3789,7 +3781,6 @@ AS_CASE("$enable_shared", [yes], [
|
||||
LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT)'
|
||||
LIBRUBY_SONAME='lib$(RUBY_BASE_NAME).$(RUBY_API_VERSION).$(SOEXT)'
|
||||
LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_INSTALL_NAME).$(SOEXT)'
|
||||
- SOLIBS='$(LIBS)'
|
||||
],
|
||||
[interix*], [
|
||||
LIBRUBYARG_SHARED='-L. -L${libdir} -l$(RUBY_SO_NAME)'
|
||||
@@ -4032,7 +4023,6 @@ AS_CASE(["$target_os"],
|
||||
])
|
||||
LIBRUBY_ALIASES=''
|
||||
FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in
|
||||
- SOLIBS='$(LIBS)'
|
||||
AS_IF([test x"$enable_shared" = xyes], [
|
||||
LIBRUBY='lib$(RUBY_SO_NAME).dll.a'
|
||||
], [
|
||||
@@ -4132,6 +4122,13 @@ AS_IF([test "${universal_binary-no}" = yes ], [
|
||||
[rb_cv_architecture_available=yes], [rb_cv_architecture_available=no]))
|
||||
])
|
||||
|
||||
+MAINLIBS="$LIBS"
|
||||
+LIBS=$ORIG_LIBS
|
||||
+AS_IF([test -n "${LIBS}"], [
|
||||
+ libspat=`echo "${LIBS}" | sed 's/[[][|.*$^]]/\\&/g;s/^ */ /;s/^ *$/ /'`
|
||||
+ MAINFLAGS=`echo " $MAINLIBS " | sed "s|$libspat"'||;s/^ *//;s/ *$//'`
|
||||
+])
|
||||
+LIBRUBYARG_STATIC="${LIBRUBYARG_STATIC} \$(MAINLIBS)"
|
||||
CPPFLAGS="$CPPFLAGS "'$(DEFS)'
|
||||
test -z "$CPPFLAGS" || CPPFLAGS="$CPPFLAGS "; CPPFLAGS="$CPPFLAGS"'${cppflags}'
|
||||
AS_IF([test -n "${cflags+set}"], [
|
||||
diff --git a/template/ruby.pc.in b/template/ruby.pc.in
|
||||
index 9f3e8847bb..c4d46f6a9c 100644
|
||||
--- a/template/ruby.pc.in
|
||||
+++ b/template/ruby.pc.in
|
||||
@@ -39,6 +39,7 @@ sitehdrdir=@sitehdrdir@
|
||||
rubyarchhdrdir=@rubyarchhdrdir@
|
||||
vendorarchhdrdir=@vendorarchhdrdir@
|
||||
sitearchhdrdir=@sitearchhdrdir@
|
||||
+MAINLIBS=@MAINLIBS@
|
||||
SOEXT=@SOEXT@
|
||||
LIBPATH=@LIBPATH@
|
||||
LIBRUBY_A=@LIBRUBY_A@
|
||||
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
|
||||
index 70440e1c9d..2f8cf74c3f 100644
|
||||
--- a/win32/Makefile.sub
|
||||
+++ b/win32/Makefile.sub
|
||||
@@ -279,6 +279,7 @@ LDSHARED_2 = @if exist $(@).manifest @$(RM) $(@:/=\).manifest
|
||||
CPPFLAGS = $(DEFS) $(ARCHDEFS) $(CPPFLAGS)
|
||||
|
||||
DLDFLAGS = $(LDFLAGS) -dll
|
||||
+MAINLIBS = $(LIBS)
|
||||
SOLIBS =
|
||||
RCFILES = $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc
|
||||
!ifndef RCFLAGS
|
||||
@@ -821,7 +822,8 @@ s,@CPPFLAGS@,$(CPPFLAGS),;t t
|
||||
s,@CXXFLAGS@,$(CXXFLAGS),;t t
|
||||
s,@FFLAGS@,$(FFLAGS),;t t
|
||||
s,@LDFLAGS@,$(LDFLAGS),;t t
|
||||
-s,@LIBS@,$(LIBS),;t t
|
||||
+s,@LIBS@,,;t t
|
||||
+s,@MAINLIBS@,$(MAINLIBS),;t t
|
||||
s,@exec_prefix@,$${prefix},;t t
|
||||
s,@prefix@,$(prefix),;t t
|
||||
s,@program_transform_name@,s,.*,$(PROGRAM_PREFIX)&$(PROGRAM_SUFFIX),,;t t
|
||||
@@ -909,7 +911,7 @@ s,@LIBRUBY_SO@,$$(RUBY_SO_NAME).dll,;t t
|
||||
s,@LIBRUBY_ALIASES@,$(LIBRUBY_ALIASES),;t t
|
||||
s,@LIBRUBY@,$$(RUBY_SO_NAME).lib,;t t
|
||||
s,@LIBRUBYARG@,$$(LIBRUBYARG_SHARED),;t t
|
||||
-s,@LIBRUBYARG_STATIC@,$$(LIBRUBY_A),;t t
|
||||
+s,@LIBRUBYARG_STATIC@,$$(LIBRUBY_A) $$(MAINLIBS),;t t
|
||||
s,@LIBRUBYARG_SHARED@,$$(LIBRUBY),;t t
|
||||
s,@SOLIBS@,$(SOLIBS),;t t
|
||||
s,@DLDLIBS@,$(DLDLIBS),;t t
|
||||
25
ruby-2.6.0-rdoc-6.0.1-fix-template-typo.patch
Normal file
25
ruby-2.6.0-rdoc-6.0.1-fix-template-typo.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
From d05e6269d4a4dfd701f5ddb3ae34306cba891511 Mon Sep 17 00:00:00 2001
|
||||
From: Jun Aruga <jaruga@redhat.com>
|
||||
Date: Fri, 3 Aug 2018 11:35:55 +0200
|
||||
Subject: [PATCH] Fix indent and typo from moveTimout to moveTimeout.
|
||||
|
||||
---
|
||||
lib/rdoc/generator/template/json_index/js/navigation.js | 7 +++----
|
||||
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/lib/rdoc/generator/template/json_index/js/navigation.js b/lib/rdoc/generator/template/json_index/js/navigation.js
|
||||
index e4126812..43c5118a 100644
|
||||
--- a/lib/rdoc/generator/template/json_index/js/navigation.js
|
||||
+++ b/lib/rdoc/generator/template/json_index/js/navigation.js
|
||||
@@ -41,9 +41,8 @@ Navigation = new function() {
|
||||
}
|
||||
break;
|
||||
case 13: //Event.KEY_RETURN:
|
||||
- if (this.current)
|
||||
- e.preventDefault();
|
||||
- this.select(this.current);
|
||||
+ if (this.current) e.preventDefault();
|
||||
+ this.select(this.current);
|
||||
break;
|
||||
}
|
||||
if (e.ctrlKey && e.shiftKey) this.select(this.current);
|
||||
38
ruby-2.6.0-use-larger-keys-for-SSL-drb-tests.patch
Normal file
38
ruby-2.6.0-use-larger-keys-for-SSL-drb-tests.patch
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
From 8af6b87023cbb1ba6cebea7daaafa275e0dc687e Mon Sep 17 00:00:00 2001
|
||||
From: normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
|
||||
Date: Mon, 3 Dec 2018 04:51:13 +0000
|
||||
Subject: [PATCH] drb: fix tests on Debian sid/unstable with OpenSSL 1.1.1a
|
||||
|
||||
OpenSSL complains abour our keys being small and weak :<
|
||||
Make them big and strong with 2048-bit RSA keys and SHA256 digests
|
||||
|
||||
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
||||
---
|
||||
lib/drb/ssl.rb | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/drb/ssl.rb b/lib/drb/ssl.rb
|
||||
index 45fe4f1f74..8c2c1cc65d 100644
|
||||
--- a/lib/drb/ssl.rb
|
||||
+++ b/lib/drb/ssl.rb
|
||||
@@ -162,7 +162,7 @@ def setup_certificate
|
||||
return
|
||||
end
|
||||
|
||||
- rsa = OpenSSL::PKey::RSA.new(1024){|p, n|
|
||||
+ rsa = OpenSSL::PKey::RSA.new(2048){|p, n|
|
||||
next unless self[:verbose]
|
||||
case p
|
||||
when 0; $stderr.putc "." # BN_generate_prime
|
||||
@@ -196,7 +196,7 @@ def setup_certificate
|
||||
if comment = self[:SSLCertComment]
|
||||
cert.add_extension(ef.create_extension("nsComment", comment))
|
||||
end
|
||||
- cert.sign(rsa, OpenSSL::Digest::SHA1.new)
|
||||
+ cert.sign(rsa, OpenSSL::Digest::SHA256.new)
|
||||
|
||||
@cert = cert
|
||||
@pkey = rsa
|
||||
--
|
||||
2.26.2
|
||||
|
||||
486
ruby-2.6.0-use-larger-keys-for-SSL-tests.patch
Normal file
486
ruby-2.6.0-use-larger-keys-for-SSL-tests.patch
Normal file
|
|
@ -0,0 +1,486 @@
|
|||
From b0bcb19cb4f95d260c5993df0aaa3667522fb99d Mon Sep 17 00:00:00 2001
|
||||
From: Kazuki Yamaguchi <k@rhe.jp>
|
||||
Date: Thu, 16 Aug 2018 20:54:47 +0900
|
||||
Subject: [PATCH 1/2] test/openssl/test_pair: fix deadlock in
|
||||
test_connect_accept_nonblock
|
||||
|
||||
Call IO.select with a timeout value and limit the number of retries to
|
||||
prevent stacking forever.
|
||||
|
||||
Reference: https://github.com/ruby/openssl/issues/214
|
||||
---
|
||||
test/openssl/test_pair.rb | 51 ++++++++++++++++++++---------------------------
|
||||
1 file changed, 22 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/test/openssl/test_pair.rb b/test/openssl/test_pair.rb
|
||||
index ea5f0dcf..eac3655e 100644
|
||||
--- a/test/openssl/test_pair.rb
|
||||
+++ b/test/openssl/test_pair.rb
|
||||
@@ -442,7 +442,7 @@ def test_connect_accept_nonblock_no_exception
|
||||
end
|
||||
|
||||
def test_connect_accept_nonblock
|
||||
- ctx = OpenSSL::SSL::SSLContext.new()
|
||||
+ ctx = OpenSSL::SSL::SSLContext.new
|
||||
ctx.cert = @svr_cert
|
||||
ctx.key = @svr_key
|
||||
ctx.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey_dh("dh1024") }
|
||||
@@ -451,45 +451,38 @@ def test_connect_accept_nonblock
|
||||
|
||||
th = Thread.new {
|
||||
s2 = OpenSSL::SSL::SSLSocket.new(sock2, ctx)
|
||||
- s2.sync_close = true
|
||||
- begin
|
||||
+ 5.times {
|
||||
+ begin
|
||||
+ break s2.accept_nonblock
|
||||
+ rescue IO::WaitReadable
|
||||
+ IO.select([s2], nil, nil, 1)
|
||||
+ rescue IO::WaitWritable
|
||||
+ IO.select(nil, [s2], nil, 1)
|
||||
+ end
|
||||
sleep 0.2
|
||||
- s2.accept_nonblock
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ s1 = OpenSSL::SSL::SSLSocket.new(sock1)
|
||||
+ 5.times {
|
||||
+ begin
|
||||
+ break s1.connect_nonblock
|
||||
rescue IO::WaitReadable
|
||||
- IO.select([s2])
|
||||
- retry
|
||||
+ IO.select([s1], nil, nil, 1)
|
||||
rescue IO::WaitWritable
|
||||
- IO.select(nil, [s2])
|
||||
- retry
|
||||
+ IO.select(nil, [s1], nil, 1)
|
||||
end
|
||||
- s2
|
||||
- }
|
||||
-
|
||||
- sleep 0.1
|
||||
- ctx = OpenSSL::SSL::SSLContext.new()
|
||||
- s1 = OpenSSL::SSL::SSLSocket.new(sock1, ctx)
|
||||
- begin
|
||||
sleep 0.2
|
||||
- s1.connect_nonblock
|
||||
- rescue IO::WaitReadable
|
||||
- IO.select([s1])
|
||||
- retry
|
||||
- rescue IO::WaitWritable
|
||||
- IO.select(nil, [s1])
|
||||
- retry
|
||||
- end
|
||||
- s1.sync_close = true
|
||||
+ }
|
||||
|
||||
s2 = th.value
|
||||
|
||||
s1.print "a\ndef"
|
||||
assert_equal("a\n", s2.gets)
|
||||
ensure
|
||||
- th.join if th
|
||||
- s1.close if s1 && !s1.closed?
|
||||
- s2.close if s2 && !s2.closed?
|
||||
- sock1.close if sock1 && !sock1.closed?
|
||||
- sock2.close if sock2 && !sock2.closed?
|
||||
+ sock1&.close
|
||||
+ sock2&.close
|
||||
+ th&.join
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
From 5ba99ad7ae1267ed964f53906530579299f3fcc6 Mon Sep 17 00:00:00 2001
|
||||
From: Kazuki Yamaguchi <k@rhe.jp>
|
||||
Date: Thu, 16 Aug 2018 20:04:13 +0900
|
||||
Subject: [PATCH 2/2] test: use larger keys for SSL tests
|
||||
|
||||
Some systems enforce a system-wide policy to restrict key sizes used in
|
||||
SSL/TLS. Use larger ones if possible so that the test suite runs
|
||||
successfully.
|
||||
|
||||
New PEM files test/openssl/fixtures/pkey/{dh-1,rsa-1,rsa-2,rsa-3}.pem are added
|
||||
to the tree, and SSL tests now use them instead of the fixed-size keys.
|
||||
|
||||
Reference: https://github.com/ruby/openssl/issues/215
|
||||
---
|
||||
test/openssl/fixtures/pkey/dh-1.pem | 13 +++++++++
|
||||
test/openssl/fixtures/pkey/rsa-1.pem | 51 ++++++++++++++++++++++++++++++++++++
|
||||
test/openssl/fixtures/pkey/rsa-2.pem | 51 ++++++++++++++++++++++++++++++++++++
|
||||
test/openssl/fixtures/pkey/rsa-3.pem | 51 ++++++++++++++++++++++++++++++++++++
|
||||
test/openssl/test_pair.rb | 8 +++---
|
||||
test/openssl/test_pkey_dh.rb | 8 +++---
|
||||
test/openssl/test_ssl.rb | 11 ++++----
|
||||
test/openssl/utils.rb | 14 +++++-----
|
||||
8 files changed, 186 insertions(+), 21 deletions(-)
|
||||
create mode 100644 test/openssl/fixtures/pkey/dh-1.pem
|
||||
create mode 100644 test/openssl/fixtures/pkey/rsa-1.pem
|
||||
create mode 100644 test/openssl/fixtures/pkey/rsa-2.pem
|
||||
create mode 100644 test/openssl/fixtures/pkey/rsa-3.pem
|
||||
|
||||
diff --git a/test/openssl/fixtures/pkey/dh-1.pem b/test/openssl/fixtures/pkey/dh-1.pem
|
||||
new file mode 100644
|
||||
index 00000000..3340a6a1
|
||||
--- /dev/null
|
||||
+++ b/test/openssl/fixtures/pkey/dh-1.pem
|
||||
@@ -0,0 +1,13 @@
|
||||
+-----BEGIN DH PARAMETERS-----
|
||||
+MIICCAKCAgEAvRzXYxY6L2DjeYmm1eowtMDu1it3j+VwFr6s6PRWzc1apMtztr9G
|
||||
+xZ2mYndUAJLgNLO3n2fUDCYVMB6ZkcekW8Siocof3xWiMA6wqZ6uw0dsE3q7ZX+6
|
||||
+TLjgSjaXeGvjutvuEwVrFeaUi83bMgfXN8ToxIQVprIF35sYFt6fpbFATKfW7qqi
|
||||
+P1pQkjmCskU4tztaWvlLh0qg85wuQGnpJaQT3gS30378i0IGbA0EBvJcSpTHYbLa
|
||||
+nsdI9bfN/ZVgeolVMNMU9/n8R8vRhNPcHuciFwaqS656q+HavCIyxw/LfjSwwFvR
|
||||
+TngCn0wytRErkzFIXnRKckh8/BpI4S+0+l1NkOwG4WJ55KJ/9OOdZW5o/QCp2bDi
|
||||
+E0JN1EP/gkSom/prq8JR/yEqtsy99uc5nUxPmzv0IgdcFHZEfiQU7iRggEbx7qfQ
|
||||
+Ve55XksmmJInmpCy1bSabAEgIKp8Ckt5KLYZ0RgTXUhcEpsxEo6cuAwoSJT5o4Rp
|
||||
+yG3xow2ozPcqZkvb+d2CHj1sc54w9BVFAjVANEKmRil/9WKz14bu3wxEhOPqC54n
|
||||
+QojjLcoXSoT66ZUOQnYxTSiLtzoKGPy8cAVPbkBrXz2u2sj5gcvr1JjoGjdHm9/3
|
||||
+qnqC8fsTz8UndKNIQC337o4K0833bQMzRGl1/qjbAPit2B7E3b6xTZMCAQI=
|
||||
+-----END DH PARAMETERS-----
|
||||
diff --git a/test/openssl/fixtures/pkey/rsa-1.pem b/test/openssl/fixtures/pkey/rsa-1.pem
|
||||
new file mode 100644
|
||||
index 00000000..bd5a624f
|
||||
--- /dev/null
|
||||
+++ b/test/openssl/fixtures/pkey/rsa-1.pem
|
||||
@@ -0,0 +1,51 @@
|
||||
+-----BEGIN RSA PRIVATE KEY-----
|
||||
+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
|
||||
+-----END RSA PRIVATE KEY-----
|
||||
diff --git a/test/openssl/fixtures/pkey/rsa-2.pem b/test/openssl/fixtures/pkey/rsa-2.pem
|
||||
new file mode 100644
|
||||
index 00000000..e4fd4f43
|
||||
--- /dev/null
|
||||
+++ b/test/openssl/fixtures/pkey/rsa-2.pem
|
||||
@@ -0,0 +1,51 @@
|
||||
+-----BEGIN RSA PRIVATE KEY-----
|
||||
+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
|
||||
+-----END RSA PRIVATE KEY-----
|
||||
diff --git a/test/openssl/fixtures/pkey/rsa-3.pem b/test/openssl/fixtures/pkey/rsa-3.pem
|
||||
new file mode 100644
|
||||
index 00000000..6c9c9ced
|
||||
--- /dev/null
|
||||
+++ b/test/openssl/fixtures/pkey/rsa-3.pem
|
||||
@@ -0,0 +1,51 @@
|
||||
+-----BEGIN RSA PRIVATE KEY-----
|
||||
+MIIJKAIBAAKCAgEAzn+YCcOh7BIRzrb7TEuhQLD545+/Fx/zCYO3l+y/8ogUxMTg
|
||||
+LG5HrcXlX3JP796ie90/GHIf8/lwczVhP1jk/keYjkwoTYDt477R7KRcJPyGqHRr
|
||||
+qLp7AnZxtz3JLNboTgO3bAYzlvtsSKU/R3oehBbGHzEWCP2UEYj/Kky0zpcjkhZU
|
||||
+jiErr9ARPq8+dOGqBf+CE2NLKYC1bu8hZe9AddvvN2SvfMN6uhJtEGZO1k8tScwf
|
||||
+AyvPJ1Po/6z08pzMAgfBUCE95waAVeYJWIOlnNB4eEievzlXdPB9vEt8OOwtWfQX
|
||||
+V8xyMsoKeAW05s413E0eTYx1aulFXdWwG2mWEBRtNzKF1iBudlg1a3x1zThWi1pY
|
||||
+jW5vROvoWZMCbl9bYQ/LxOCVqDoUl86+NPEGeuESMzm5NvOQA2e0Ty5wphnt9M19
|
||||
+Wcc8neBhb6iCGqYzxWNvUYXZWUv1+/MrPHKyJuv7MSivwtctfp8SacUGxkd6T+u6
|
||||
+V6ntHf3qtN/5pAmni6nzUTgjC65MS0LEhi/RTzwafkIfifeJH7/LqFtjrursuwua
|
||||
++p9lkACck/J5TpzaAfLroFQuepP8qgeq1cpD5Iii56IJ+FPSnkvesHuRUmZIkhtR
|
||||
+VVsVqMaNPv/Uzc02bOaRXWP4auUY91mDKx/FDmORa9YCDQxMkKke05SWQ90CAwEA
|
||||
+AQKCAgA0+B/c6VTgxGXS+7cMhB3yBTOkgva2jNh/6Uyv6Of345ZIPyQt4X/7gFbt
|
||||
+G9qLcjWFxmQH9kZiA+snclrmr/vVijIE1l5EOz1KfUlGBYcpaal1DqALIQKqyA01
|
||||
+buDq4pmmYWesiw6yvP2yyMipohav1VOu7p1zYvCXaufhRtneYICcWaQI7VNSfvHd
|
||||
+fYBs5PIDJd6M8Jx4Ie7obOjJSAzl7qu3LtmhDFev4Ugeu8+fQ6IfWv/dhWBW+zw6
|
||||
+UXhnv3bJUonw7wX8+/rxjdd54BMcXZF5cU9fR+s6MPJf2ZEc3OBpQaa3O9dTVeZH
|
||||
+kVctGVpRj2qlg9EewoWro0PQVE5Mjah+mdFhPAHWoGl1xht6xJmg0uHYxMCzbUSz
|
||||
+7NSS3knR0qieFvsp5ESY72i7DnQsbhbn6mTuYdVtm9bphxifAWCP3jFdft/bjtSF
|
||||
+4yuPI7Qga+3m0B8QhtbWhEzPVon6NyiY7qfa6qllp0opEbw2hE22uGFFNJo2mpPa
|
||||
+pe9VwARtD0IyfeklE7KrBEwV8NjTaAipZTZODw0w/dt4K3dOiePDl3pPWjmERpVg
|
||||
+Lkw7XSCMtu5X87I1BbfOYbQhOXksPY+W9Asf6ETBeIZ8bD6Iypuk2ssool1lukqv
|
||||
+yq1Y8gbR9B2x91ftYwXgzqBSvd8PFNsaXWLD3nrai2G1vb81lQKCAQEA6W02eZcN
|
||||
+7wJfkqNokcuqhc5OKXH14gVIRV+KocG6f3vg88wrCg5J2GqNhBFuwVrafJjRenm6
|
||||
+C8zWdneeyrl6cztgbaySw7kXnqFdTBiuOT8bhiG5NTPjDQ109EucaTbZU9KUXk6k
|
||||
+ChPlr4G6IPrONpvi/9BvDDZLZkwR6uIg1kFWBy9kZaxFUEIug02hrbkTpPtnEUrO
|
||||
+r3nG0QL/D0vf+bm4YHIVRMH2O2ZTTWexMw9XlfCe1+WjbJ+PS35QRCRDcRdWHXDb
|
||||
+HnIFIAajtH5LtaJLgWUYq3B25WkQYtbHmFkm94sp/G4trb8JIJGzVO8cj9t6KeAT
|
||||
+LG+tk8OqplqsYwKCAQEA4ne81KXx8VNwsKVFqwmiDIoi1q3beNa2hoXdzAMrnYdj
|
||||
+iLxbfCVgrKPav9hdfXPBncHaNlGsd2G5W1a1UsOr128lTdfBsgm1RVPhVMKvo3fl
|
||||
+yUnWajtAR1q3tVEUhuFlbJ/RHEtxJaGrzudYCPWQiYhydpDgSckbxD8PuElEgFBX
|
||||
+O91vnWZEjMsxrABWiZNBxmtBUEv+fjUU/9USYzO4sN79UeD1+ZuBxPFwscsRcjLr
|
||||
+bPgZWOwiywH6UmQ+DJTzeu0wJ6jgPoy/pgEujsbPDz1wNos6NhA/RQv31QeX33/B
|
||||
+7/F5XKNmbJ2AFb/B+xTaTQPg0pjT5Exm+HrNU5OivwKCAQEAsLLVi9FG4OiBBHXi
|
||||
+UItFuChljoYPxVqOTMV4Id6OmLZjoOmqouASElsGaTTxDDkEL1FXMUk4Bnq21dLT
|
||||
+R06EXPpTknISX0qbkJ9CCrqcGAWnhi+9DYMLmvPW1p7t9c9pUESVv5X0IxTQx7yB
|
||||
+8zkoJLp4aYGUrj/jb7qhzZYDmWy3/JRpgXWYupp+rzJy8xiowDj22mYwczDRyaJl
|
||||
+BWVAVL+7zHZPl07kYC6jXHLj9mzktkIBXBkfTriyNkmV5R82VkN+Eqc9l5xkOMwN
|
||||
+3DHGieYjFf47YHuv5RVVLBy91puWHckgrU+SEHYOKLNidybSDivsHArdOMQJN1Pk
|
||||
+uCznVQKCAQAYY7DQbfa6eLQAMixomSb8lrvdxueGAgmyPyR93jGKS5Rqm2521ket
|
||||
+EBB07MZUxmyposDvbKhYSwv9TD9G5I/TKcMouP3BQM5m4vu3dygXQMhcfzk6Q5tO
|
||||
+k/SI8Gx3gjq8EhIhK/bJiLnKFJwkit3AEhPRtRSSnbgB0JDO1gUslHpwlg55MxRa
|
||||
+3V9CGN84/cTtq4tjLGwCB5F1Y+sRB/byBXHeqY2UDi1Rmnb6jtYYKGe2WpnQO84b
|
||||
+cuEUknskO75lFLpE6ykLU3koVaQ/+CVAjOtS1He2btWBiCJurNysU0P9pVHeqjJT
|
||||
+rDqpHPe1JK/F74783zyir5+/Tuph/9pdAoIBAANPdFRQkJVH8K6iuhxQk6vFqiYB
|
||||
+MUxpIVeLonD0p9TgMdezVNESht/AIutc0+5wabM45XuDWFRTuonvcE8lckv2Ux3a
|
||||
+AvSsamjuesxw2YmkEtzZouVqDU0+oxppQJiwBG3MiaHX9F5IfnK6YmQ6xPwZ6MXi
|
||||
+9feq1jR4KOc1ZrHtRMNgjnBWEFWroGe3FHgV7O133hpMSshRFmwcbE0nAaDr82U9
|
||||
+sl8dclDjEKBxaqjAeNajOr+BU0w0AAwWXL7dt/ctG2QClcj9wqbEfsXnOR10h4AI
|
||||
+rqkcvQrOLbTwcrOD/6R1rQfQXtEHKf1maThxosootAQZXdf6jxU3oonx3tU=
|
||||
+-----END RSA PRIVATE KEY-----
|
||||
diff --git a/test/openssl/test_pair.rb b/test/openssl/test_pair.rb
|
||||
index eac3655e..8d6ca1e9 100644
|
||||
--- a/test/openssl/test_pair.rb
|
||||
+++ b/test/openssl/test_pair.rb
|
||||
@@ -10,7 +10,7 @@ def setup
|
||||
ee_exts = [
|
||||
["keyUsage", "keyEncipherment,digitalSignature", true],
|
||||
]
|
||||
- @svr_key = OpenSSL::TestUtils::Fixtures.pkey("rsa1024")
|
||||
+ @svr_key = OpenSSL::TestUtils::Fixtures.pkey("rsa-1")
|
||||
@svr_cert = issue_cert(svr_dn, @svr_key, 1, ee_exts, nil, nil)
|
||||
end
|
||||
|
||||
@@ -23,7 +23,7 @@ def ssl_pair
|
||||
sctx = OpenSSL::SSL::SSLContext.new
|
||||
sctx.cert = @svr_cert
|
||||
sctx.key = @svr_key
|
||||
- sctx.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey_dh("dh1024") }
|
||||
+ sctx.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey("dh-1") }
|
||||
sctx.options |= OpenSSL::SSL::OP_NO_COMPRESSION
|
||||
ssls = OpenSSL::SSL::SSLServer.new(tcps, sctx)
|
||||
ns = ssls.accept
|
||||
@@ -397,7 +397,7 @@ def test_connect_accept_nonblock_no_exception
|
||||
ctx2 = OpenSSL::SSL::SSLContext.new
|
||||
ctx2.cert = @svr_cert
|
||||
ctx2.key = @svr_key
|
||||
- ctx2.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey_dh("dh1024") }
|
||||
+ ctx2.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey("dh-1") }
|
||||
|
||||
sock1, sock2 = tcp_pair
|
||||
|
||||
@@ -445,7 +445,7 @@ def test_connect_accept_nonblock
|
||||
ctx = OpenSSL::SSL::SSLContext.new
|
||||
ctx.cert = @svr_cert
|
||||
ctx.key = @svr_key
|
||||
- ctx.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey_dh("dh1024") }
|
||||
+ ctx.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey("dh-1") }
|
||||
|
||||
sock1, sock2 = tcp_pair
|
||||
|
||||
diff --git a/test/openssl/test_pkey_dh.rb b/test/openssl/test_pkey_dh.rb
|
||||
index fb713813..79bf9bb7 100644
|
||||
--- a/test/openssl/test_pkey_dh.rb
|
||||
+++ b/test/openssl/test_pkey_dh.rb
|
||||
@@ -19,7 +19,7 @@ def test_new_break
|
||||
end
|
||||
|
||||
def test_DHparams
|
||||
- dh1024 = Fixtures.pkey_dh("dh1024")
|
||||
+ dh1024 = Fixtures.pkey("dh1024")
|
||||
asn1 = OpenSSL::ASN1::Sequence([
|
||||
OpenSSL::ASN1::Integer(dh1024.p),
|
||||
OpenSSL::ASN1::Integer(dh1024.g)
|
||||
@@ -42,7 +42,7 @@ def test_DHparams
|
||||
end
|
||||
|
||||
def test_public_key
|
||||
- dh = Fixtures.pkey_dh("dh1024")
|
||||
+ dh = Fixtures.pkey("dh1024")
|
||||
public_key = dh.public_key
|
||||
assert_no_key(public_key) #implies public_key.public? is false!
|
||||
assert_equal(dh.to_der, public_key.to_der)
|
||||
@@ -50,14 +50,14 @@ def test_public_key
|
||||
end
|
||||
|
||||
def test_generate_key
|
||||
- dh = Fixtures.pkey_dh("dh1024").public_key # creates a copy
|
||||
+ dh = Fixtures.pkey("dh1024").public_key # creates a copy
|
||||
assert_no_key(dh)
|
||||
dh.generate_key!
|
||||
assert_key(dh)
|
||||
end
|
||||
|
||||
def test_key_exchange
|
||||
- dh = Fixtures.pkey_dh("dh1024")
|
||||
+ dh = Fixtures.pkey("dh1024")
|
||||
dh2 = dh.public_key
|
||||
dh.generate_key!
|
||||
dh2.generate_key!
|
||||
diff --git a/test/openssl/test_ssl.rb b/test/openssl/test_ssl.rb
|
||||
index 408c7d82..2633f7c4 100644
|
||||
--- a/test/openssl/test_ssl.rb
|
||||
+++ b/test/openssl/test_ssl.rb
|
||||
@@ -708,7 +708,7 @@ def socketpair
|
||||
|
||||
def test_tlsext_hostname
|
||||
fooctx = OpenSSL::SSL::SSLContext.new
|
||||
- fooctx.tmp_dh_callback = proc { Fixtures.pkey_dh("dh1024") }
|
||||
+ fooctx.tmp_dh_callback = proc { Fixtures.pkey("dh-1") }
|
||||
fooctx.cert = @cli_cert
|
||||
fooctx.key = @cli_key
|
||||
|
||||
@@ -760,7 +760,7 @@ def test_servername_cb_raises_an_exception_on_unknown_objects
|
||||
ctx2 = OpenSSL::SSL::SSLContext.new
|
||||
ctx2.cert = @svr_cert
|
||||
ctx2.key = @svr_key
|
||||
- ctx2.tmp_dh_callback = proc { Fixtures.pkey_dh("dh1024") }
|
||||
+ ctx2.tmp_dh_callback = proc { Fixtures.pkey("dh-1") }
|
||||
ctx2.servername_cb = lambda { |args| Object.new }
|
||||
|
||||
sock1, sock2 = socketpair
|
||||
@@ -1140,7 +1140,7 @@ def test_alpn_protocol_selection_cancel
|
||||
ctx1 = OpenSSL::SSL::SSLContext.new
|
||||
ctx1.cert = @svr_cert
|
||||
ctx1.key = @svr_key
|
||||
- ctx1.tmp_dh_callback = proc { Fixtures.pkey_dh("dh1024") }
|
||||
+ ctx1.tmp_dh_callback = proc { Fixtures.pkey("dh-1") }
|
||||
ctx1.alpn_select_cb = -> (protocols) { nil }
|
||||
ssl1 = OpenSSL::SSL::SSLSocket.new(sock1, ctx1)
|
||||
|
||||
@@ -1382,20 +1382,21 @@ def test_get_ephemeral_key
|
||||
def test_dh_callback
|
||||
pend "TLS 1.2 is not supported" unless tls12_supported?
|
||||
|
||||
+ dh = Fixtures.pkey("dh-1")
|
||||
called = false
|
||||
ctx_proc = -> ctx {
|
||||
ctx.ssl_version = :TLSv1_2
|
||||
ctx.ciphers = "DH:!NULL"
|
||||
ctx.tmp_dh_callback = ->(*args) {
|
||||
called = true
|
||||
- Fixtures.pkey_dh("dh1024")
|
||||
+ dh
|
||||
}
|
||||
}
|
||||
start_server(ctx_proc: ctx_proc) do |port|
|
||||
server_connect(port) { |ssl|
|
||||
assert called, "dh callback should be called"
|
||||
if ssl.respond_to?(:tmp_key)
|
||||
- assert_equal Fixtures.pkey_dh("dh1024").to_der, ssl.tmp_key.to_der
|
||||
+ assert_equal dh.to_der, ssl.tmp_key.to_der
|
||||
end
|
||||
}
|
||||
end
|
||||
diff --git a/test/openssl/utils.rb b/test/openssl/utils.rb
|
||||
index b7ddd891..fe626ade 100644
|
||||
--- a/test/openssl/utils.rb
|
||||
+++ b/test/openssl/utils.rb
|
||||
@@ -42,10 +42,8 @@ module Fixtures
|
||||
|
||||
def pkey(name)
|
||||
OpenSSL::PKey.read(read_file("pkey", name))
|
||||
- end
|
||||
-
|
||||
- def pkey_dh(name)
|
||||
- # DH parameters can be read by OpenSSL::PKey.read atm
|
||||
+ rescue OpenSSL::PKey::PKeyError
|
||||
+ # TODO: DH parameters can be read by OpenSSL::PKey.read atm
|
||||
OpenSSL::PKey::DH.new(read_file("pkey", name))
|
||||
end
|
||||
|
||||
@@ -157,9 +155,9 @@ class OpenSSL::SSLTestCase < OpenSSL::TestCase
|
||||
|
||||
def setup
|
||||
super
|
||||
- @ca_key = Fixtures.pkey("rsa2048")
|
||||
- @svr_key = Fixtures.pkey("rsa1024")
|
||||
- @cli_key = Fixtures.pkey("rsa2048")
|
||||
+ @ca_key = Fixtures.pkey("rsa-1")
|
||||
+ @svr_key = Fixtures.pkey("rsa-2")
|
||||
+ @cli_key = Fixtures.pkey("rsa-3")
|
||||
@ca = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=CA")
|
||||
@svr = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=localhost")
|
||||
@cli = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=localhost")
|
||||
@@ -200,7 +198,7 @@ def start_server(verify_mode: OpenSSL::SSL::VERIFY_NONE, start_immediately: true
|
||||
ctx.cert_store = store
|
||||
ctx.cert = @svr_cert
|
||||
ctx.key = @svr_key
|
||||
- ctx.tmp_dh_callback = proc { Fixtures.pkey_dh("dh1024") }
|
||||
+ ctx.tmp_dh_callback = proc { Fixtures.pkey("dh-1") }
|
||||
ctx.verify_mode = verify_mode
|
||||
ctx_proc.call(ctx) if ctx_proc
|
||||
|
||||
51
ruby-2.6.0-use-larger-keys-for-SSL-tests2.patch
Normal file
51
ruby-2.6.0-use-larger-keys-for-SSL-tests2.patch
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
From 6872cefaf682c7e9d538ef9d87f94f7a77c21154 Mon Sep 17 00:00:00 2001
|
||||
From: nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
|
||||
Date: Wed, 7 Aug 2019 12:38:15 +0000
|
||||
Subject: [PATCH] merge revision(s) 1e54903684aa3c9ea3fe54520157846a1b1f07be:
|
||||
[Backport #16051]
|
||||
|
||||
test/openssl: Support OpenSSL 1.1.1
|
||||
|
||||
OpenSSL 1.1.1 rejects some shorter keys, which caused some failures of
|
||||
`make test-all TESTS=openssl`.
|
||||
|
||||
https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20190606T003005Z.fail.html.gz
|
||||
|
||||
This change merges 6bbc31ddd1 and 63fb3a36d1 in
|
||||
https://github.com/ruby/openssl.
|
||||
Reference: https://github.com/ruby/openssl/pull/217
|
||||
|
||||
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
||||
---
|
||||
test/openssl/test_ssl.rb | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/test/openssl/test_ssl.rb b/test/openssl/test_ssl.rb
|
||||
index 46570b8b95..51d63859c0 100644
|
||||
--- a/test/openssl/test_ssl.rb
|
||||
+++ b/test/openssl/test_ssl.rb
|
||||
@@ -81,7 +81,7 @@ def test_add_certificate_multiple_certs
|
||||
add0_chain_supported = openssl?(1, 0, 2)
|
||||
|
||||
if add0_chain_supported
|
||||
- ca2_key = Fixtures.pkey("rsa1024")
|
||||
+ ca2_key = Fixtures.pkey("rsa2048")
|
||||
ca2_exts = [
|
||||
["basicConstraints", "CA:TRUE", true],
|
||||
["keyUsage", "cRLSign, keyCertSign", true],
|
||||
@@ -1357,7 +1357,12 @@ def test_fallback_scsv
|
||||
# Server support better, so refuse the connection
|
||||
sock1, sock2 = socketpair
|
||||
begin
|
||||
+ # This test is for the downgrade protection mechanism of TLS1.2.
|
||||
+ # This is why ctx1 bounds max_version == TLS1.2.
|
||||
+ # Otherwise, this test fails when using openssl 1.1.1 (or later) that supports TLS1.3.
|
||||
+ # TODO: We may need another test for TLS1.3 because it seems to have a different mechanism.
|
||||
ctx1 = OpenSSL::SSL::SSLContext.new
|
||||
+ ctx1.max_version = OpenSSL::SSL::TLS1_2_VERSION
|
||||
s1 = OpenSSL::SSL::SSLSocket.new(sock1, ctx1)
|
||||
|
||||
ctx2 = OpenSSL::SSL::SSLContext.new
|
||||
--
|
||||
2.26.2
|
||||
|
||||
52
ruby-2.6.0-use-larger-keys-for-SSL-webrick-tests.patch
Normal file
52
ruby-2.6.0-use-larger-keys-for-SSL-webrick-tests.patch
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
From ef6153f727d118d4e7854c0f52d3d8b0e4ed7817 Mon Sep 17 00:00:00 2001
|
||||
From: normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
|
||||
Date: Mon, 3 Dec 2018 04:51:08 +0000
|
||||
Subject: [PATCH] webrick: fix tests on Debian sid/unstable with OpenSSL 1.1.1a
|
||||
|
||||
OpenSSL complains abour our keys being small and weak :<
|
||||
Make them big and strong with 2048-bit RSA keys and SHA256 digests
|
||||
|
||||
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
||||
---
|
||||
lib/webrick/ssl.rb | 4 ++--
|
||||
test/webrick/test_httpproxy.rb | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/lib/webrick/ssl.rb b/lib/webrick/ssl.rb
|
||||
index 8a334eaff1..d125083528 100644
|
||||
--- a/lib/webrick/ssl.rb
|
||||
+++ b/lib/webrick/ssl.rb
|
||||
@@ -130,7 +130,7 @@ def create_self_signed_cert(bits, cn, comment)
|
||||
aki = ef.create_extension("authorityKeyIdentifier",
|
||||
"keyid:always,issuer:always")
|
||||
cert.add_extension(aki)
|
||||
- cert.sign(rsa, OpenSSL::Digest::SHA1.new)
|
||||
+ cert.sign(rsa, OpenSSL::Digest::SHA256.new)
|
||||
|
||||
return [ cert, rsa ]
|
||||
end
|
||||
@@ -181,7 +181,7 @@ def setup_ssl_context(config) # :nodoc:
|
||||
unless config[:SSLCertificate]
|
||||
cn = config[:SSLCertName]
|
||||
comment = config[:SSLCertComment]
|
||||
- cert, key = Utils::create_self_signed_cert(1024, cn, comment)
|
||||
+ cert, key = Utils::create_self_signed_cert(2048, cn, comment)
|
||||
config[:SSLCertificate] = cert
|
||||
config[:SSLPrivateKey] = key
|
||||
end
|
||||
diff --git a/test/webrick/test_httpproxy.rb b/test/webrick/test_httpproxy.rb
|
||||
index 452e7b94b7..780d95937a 100644
|
||||
--- a/test/webrick/test_httpproxy.rb
|
||||
+++ b/test/webrick/test_httpproxy.rb
|
||||
@@ -133,7 +133,7 @@ def make_certificate(key, cn)
|
||||
cert.not_after = Time.now + 3600
|
||||
ef = OpenSSL::X509::ExtensionFactory.new(cert, cert)
|
||||
exts.each {|args| cert.add_extension(ef.create_extension(*args)) }
|
||||
- cert.sign(key, "sha1")
|
||||
+ cert.sign(key, "sha256")
|
||||
return cert
|
||||
end if defined?(OpenSSL::SSL)
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
||||
|
|
@ -0,0 +1,447 @@
|
|||
From 57bf80dc7d6ef19baf2171a55b538ed56bebb6a7 Mon Sep 17 00:00:00 2001
|
||||
From: nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
|
||||
Date: Wed, 7 Aug 2019 12:25:24 +0000
|
||||
Subject: [PATCH] merge revision(s) 43730256e800dd8e0c5cc482e9861868590ae037:
|
||||
|
||||
open-uri: Regenerate server certificates for tests
|
||||
|
||||
OpenSSL 1.1.1 requires 2048 bits or more. This change will fix:
|
||||
https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20190527T003004Z.fail.html.gz#test%2Fopen-uri
|
||||
|
||||
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
||||
---
|
||||
test/open-uri/test_ssl.rb | 341 ++++++++++++++++++++++++--------------
|
||||
1 file changed, 217 insertions(+), 124 deletions(-)
|
||||
|
||||
diff --git a/test/open-uri/test_ssl.rb b/test/open-uri/test_ssl.rb
|
||||
index 948cb6a959..337139604f 100644
|
||||
--- a/test/open-uri/test_ssl.rb
|
||||
+++ b/test/open-uri/test_ssl.rb
|
||||
@@ -175,18 +175,18 @@ def test_proxy_cacert_dir
|
||||
end if defined?(OpenSSL::SSL)
|
||||
|
||||
if defined?(OpenSSL::SSL)
|
||||
-# cp /etc/ssl/openssl.cnf . # I copied from OpenSSL 1.0.2h source
|
||||
+# cp /etc/ssl/openssl.cnf . # I copied from OpenSSL 1.1.1b source
|
||||
|
||||
# mkdir demoCA demoCA/private demoCA/newcerts
|
||||
# touch demoCA/index.txt
|
||||
# echo 00 > demoCA/serial
|
||||
-# openssl genrsa -des3 -out demoCA/private/cakey.pem 1024
|
||||
+# openssl genrsa -des3 -out demoCA/private/cakey.pem 2048
|
||||
# openssl req -new -key demoCA/private/cakey.pem -out demoCA/careq.pem -subj "/C=JP/ST=Tokyo/O=RubyTest/CN=Ruby Test CA"
|
||||
# # basicConstraints=CA:TRUE is required; the default openssl.cnf has it in [v3_ca]
|
||||
# openssl ca -config openssl.cnf -extensions v3_ca -out demoCA/cacert.pem -startdate 090101000000Z -enddate 491231235959Z -batch -keyfile demoCA/private/cakey.pem -selfsign -infiles demoCA/careq.pem
|
||||
|
||||
# mkdir server
|
||||
-# openssl genrsa -des3 -out server/server.key 1024
|
||||
+# openssl genrsa -des3 -out server/server.key 2048
|
||||
# openssl req -new -key server/server.key -out server/csr.pem -subj "/C=JP/ST=Tokyo/O=RubyTest/CN=127.0.0.1"
|
||||
# openssl ca -config openssl.cnf -startdate 090101000000Z -enddate 491231235959Z -in server/csr.pem -keyfile demoCA/private/cakey.pem -cert demoCA/cacert.pem -out server/cert.pem
|
||||
|
||||
@@ -199,7 +199,7 @@ def test_proxy_cacert_dir
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 0 (0x0)
|
||||
- Signature Algorithm: sha256WithRSAEncryption
|
||||
+ Signature Algorithm: sha256WithRSAEncryption
|
||||
Issuer: C=JP, ST=Tokyo, O=RubyTest, CN=Ruby Test CA
|
||||
Validity
|
||||
Not Before: Jan 1 00:00:00 2009 GMT
|
||||
@@ -207,49 +207,70 @@ def test_proxy_cacert_dir
|
||||
Subject: C=JP, ST=Tokyo, O=RubyTest, CN=Ruby Test CA
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
- Public-Key: (1024 bit)
|
||||
+ RSA Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
- 00:be:74:41:33:c9:1b:e1:12:78:6b:b4:52:2e:ae:
|
||||
- b6:e2:1e:58:65:57:2d:cb:07:3f:91:c9:53:7a:e7:
|
||||
- 2e:68:2c:0c:5d:8b:16:a7:42:4a:5c:6f:c7:aa:44:
|
||||
- ff:6d:c6:d7:49:0e:b1:5d:03:5b:51:ce:d5:cc:cd:
|
||||
- ab:69:cc:c2:43:76:b1:b2:30:3b:e7:f6:1f:3e:35:
|
||||
- 1d:21:75:41:96:eb:84:a0:34:6f:a4:5d:70:a2:b2:
|
||||
- d5:fe:b9:45:47:a1:e8:ca:e3:b7:bb:4d:37:1c:f3:
|
||||
- 96:d4:2d:80:85:cd:8e:31:96:53:92:a0:fe:e4:4c:
|
||||
- 16:47:5e:c8:27:32:70:a8:6b
|
||||
+ 00:ad:f3:4d:5b:0b:01:54:cc:86:36:d1:93:6b:33:
|
||||
+ 56:25:90:61:d6:9a:a0:f4:24:20:ee:c8:14:ab:0f:
|
||||
+ 4b:89:d8:7c:bb:c0:f8:7f:fb:e9:a2:d5:1c:6b:6f:
|
||||
+ dc:5c:23:b1:49:aa:2c:e8:ca:43:48:64:69:4b:8a:
|
||||
+ bd:44:57:9b:14:d9:7a:b2:49:00:d6:c2:74:67:62:
|
||||
+ 52:1d:a9:32:df:fe:7a:22:20:49:83:e1:cb:3d:dc:
|
||||
+ 1a:2a:f0:36:20:c1:e8:c8:89:d4:51:1a:68:91:20:
|
||||
+ e0:ba:67:0a:b2:6b:f8:e3:8c:f5:ee:a1:36:b1:89:
|
||||
+ ec:23:b6:f2:39:a9:b9:2e:ea:de:d9:86:e5:42:11:
|
||||
+ 46:ed:10:9a:90:76:44:4e:4d:49:2d:49:e8:e3:cb:
|
||||
+ ff:7a:7d:80:cb:bf:c4:c3:69:ba:9c:60:4a:de:af:
|
||||
+ bf:26:78:b8:fb:46:d1:37:d0:89:ba:78:93:6a:37:
|
||||
+ a5:e9:58:e7:e2:e3:7d:7c:95:20:79:41:56:15:cd:
|
||||
+ b2:c6:3b:e1:b7:e7:ba:47:60:9a:05:b1:07:f3:26:
|
||||
+ 72:9d:3b:1b:02:18:3d:d5:de:e6:e9:30:a9:b5:8f:
|
||||
+ 15:1b:40:f9:64:61:54:d3:53:e8:c4:29:4a:89:f3:
|
||||
+ e5:0d:fd:16:61:ee:f2:6d:8a:45:a8:34:7e:53:46:
|
||||
+ 8e:87
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Subject Key Identifier:
|
||||
- 71:DB:DC:BA:F6:7F:75:31:7A:ED:AB:8B:48:93:86:94:1A:FF:30:58
|
||||
+ A0:7E:0B:AD:A3:AD:37:D7:21:0B:75:6F:8A:90:5F:8C:C9:69:DF:98
|
||||
X509v3 Authority Key Identifier:
|
||||
- keyid:71:DB:DC:BA:F6:7F:75:31:7A:ED:AB:8B:48:93:86:94:1A:FF:30:58
|
||||
+ keyid:A0:7E:0B:AD:A3:AD:37:D7:21:0B:75:6F:8A:90:5F:8C:C9:69:DF:98
|
||||
|
||||
- X509v3 Basic Constraints:
|
||||
+ X509v3 Basic Constraints: critical
|
||||
CA:TRUE
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
- 91:1c:45:a5:c0:4e:fc:54:39:62:33:80:7d:03:c1:b8:51:f7:
|
||||
- 56:83:6c:a3:15:50:cf:92:a0:77:a3:34:16:b5:30:f0:33:5a:
|
||||
- be:6a:ac:17:87:70:f8:4e:4d:49:ac:8b:84:fd:e5:0f:15:d7:
|
||||
- 9a:29:cc:a9:f5:97:f5:13:2a:86:3b:2d:f4:b7:b4:a2:7c:e1:
|
||||
- 0e:2a:ff:91:64:31:8f:12:cc:99:bf:e1:de:8f:6f:7c:1b:e4:
|
||||
- cc:56:c8:bb:85:c9:ba:df:7f:07:7a:cd:03:22:2c:b6:f8:06:
|
||||
- 35:72:72:b8:52:eb:62:15:85:2b:8f:8c:bc:27:3c:8b:de:32:
|
||||
- db:95
|
||||
+ 06:ea:06:02:19:9a:cb:94:a2:7e:c0:86:71:66:e7:a5:71:46:
|
||||
+ a2:25:55:f5:e5:58:df:d1:91:58:e6:8a:0e:91:b3:22:4c:88:
|
||||
+ 4d:5f:02:af:0f:73:65:0d:af:9a:f2:e4:36:f3:1f:e8:28:1d:
|
||||
+ 9c:74:72:5b:f7:12:e8:fa:45:d6:df:e5:f1:d3:91:f4:0e:db:
|
||||
+ e2:56:63:ee:82:57:6f:12:ad:d7:0d:de:5a:8c:3d:76:d2:87:
|
||||
+ c9:48:1c:c4:f3:89:63:3c:c2:25:e0:dd:63:a6:4c:6c:5a:07:
|
||||
+ 7b:86:78:62:86:02:a1:ef:0e:41:75:c5:d4:61:ab:c3:3b:9b:
|
||||
+ 51:0b:e6:34:6d:0b:14:5a:2d:aa:d3:58:26:43:8f:4c:d7:45:
|
||||
+ 73:1e:67:66:5e:f3:0c:69:70:27:a1:d5:70:f3:5a:10:98:c8:
|
||||
+ 4f:8a:3b:9f:ad:8e:8d:49:8f:fb:f6:36:5d:4f:70:f9:4f:54:
|
||||
+ 33:cf:a2:a6:1d:8c:61:b9:30:42:f2:49:d1:3d:a1:f1:eb:1e:
|
||||
+ 78:a6:30:f8:8a:48:89:c7:3e:bd:0d:d8:72:04:a6:00:e5:62:
|
||||
+ a4:13:3f:9e:b6:86:25:dc:d1:ff:3a:fc:f5:0e:e4:0e:f7:b8:
|
||||
+ 66:90:fe:4f:c2:54:2a:7f:61:6e:e7:4b:bf:40:7e:75:30:02:
|
||||
+ 5b:bb:91:1b
|
||||
-----BEGIN CERTIFICATE-----
|
||||
-MIICVDCCAb2gAwIBAgIBADANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQGEwJKUDEO
|
||||
+MIIDXDCCAkSgAwIBAgIBADANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQGEwJKUDEO
|
||||
MAwGA1UECAwFVG9reW8xETAPBgNVBAoMCFJ1YnlUZXN0MRUwEwYDVQQDDAxSdWJ5
|
||||
IFRlc3QgQ0EwHhcNMDkwMTAxMDAwMDAwWhcNNDkxMjMxMjM1OTU5WjBHMQswCQYD
|
||||
VQQGEwJKUDEOMAwGA1UECAwFVG9reW8xETAPBgNVBAoMCFJ1YnlUZXN0MRUwEwYD
|
||||
-VQQDDAxSdWJ5IFRlc3QgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAL50
|
||||
-QTPJG+ESeGu0Ui6utuIeWGVXLcsHP5HJU3rnLmgsDF2LFqdCSlxvx6pE/23G10kO
|
||||
-sV0DW1HO1czNq2nMwkN2sbIwO+f2Hz41HSF1QZbrhKA0b6RdcKKy1f65RUeh6Mrj
|
||||
-t7tNNxzzltQtgIXNjjGWU5Kg/uRMFkdeyCcycKhrAgMBAAGjUDBOMB0GA1UdDgQW
|
||||
-BBRx29y69n91MXrtq4tIk4aUGv8wWDAfBgNVHSMEGDAWgBRx29y69n91MXrtq4tI
|
||||
-k4aUGv8wWDAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4GBAJEcRaXATvxU
|
||||
-OWIzgH0DwbhR91aDbKMVUM+SoHejNBa1MPAzWr5qrBeHcPhOTUmsi4T95Q8V15op
|
||||
-zKn1l/UTKoY7LfS3tKJ84Q4q/5FkMY8SzJm/4d6Pb3wb5MxWyLuFybrffwd6zQMi
|
||||
-LLb4BjVycrhS62IVhSuPjLwnPIveMtuV
|
||||
+VQQDDAxSdWJ5IFRlc3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
||||
+AQCt801bCwFUzIY20ZNrM1YlkGHWmqD0JCDuyBSrD0uJ2Hy7wPh/++mi1Rxrb9xc
|
||||
+I7FJqizoykNIZGlLir1EV5sU2XqySQDWwnRnYlIdqTLf/noiIEmD4cs93Boq8DYg
|
||||
+wejIidRRGmiRIOC6Zwqya/jjjPXuoTaxiewjtvI5qbku6t7ZhuVCEUbtEJqQdkRO
|
||||
+TUktSejjy/96fYDLv8TDabqcYErer78meLj7RtE30Im6eJNqN6XpWOfi4318lSB5
|
||||
+QVYVzbLGO+G357pHYJoFsQfzJnKdOxsCGD3V3ubpMKm1jxUbQPlkYVTTU+jEKUqJ
|
||||
+8+UN/RZh7vJtikWoNH5TRo6HAgMBAAGjUzBRMB0GA1UdDgQWBBSgfguto6031yEL
|
||||
+dW+KkF+MyWnfmDAfBgNVHSMEGDAWgBSgfguto6031yELdW+KkF+MyWnfmDAPBgNV
|
||||
+HRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAG6gYCGZrLlKJ+wIZxZuel
|
||||
+cUaiJVX15Vjf0ZFY5ooOkbMiTIhNXwKvD3NlDa+a8uQ28x/oKB2cdHJb9xLo+kXW
|
||||
+3+Xx05H0DtviVmPugldvEq3XDd5ajD120ofJSBzE84ljPMIl4N1jpkxsWgd7hnhi
|
||||
+hgKh7w5BdcXUYavDO5tRC+Y0bQsUWi2q01gmQ49M10VzHmdmXvMMaXAnodVw81oQ
|
||||
+mMhPijufrY6NSY/79jZdT3D5T1Qzz6KmHYxhuTBC8knRPaHx6x54pjD4ikiJxz69
|
||||
+DdhyBKYA5WKkEz+etoYl3NH/Ovz1DuQO97hmkP5PwlQqf2Fu50u/QH51MAJbu5Eb
|
||||
-----END CERTIFICATE-----
|
||||
End
|
||||
|
||||
@@ -258,7 +279,7 @@ def test_proxy_cacert_dir
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 1 (0x1)
|
||||
- Signature Algorithm: sha256WithRSAEncryption
|
||||
+ Signature Algorithm: sha256WithRSAEncryption
|
||||
Issuer: C=JP, ST=Tokyo, O=RubyTest, CN=Ruby Test CA
|
||||
Validity
|
||||
Not Before: Jan 1 00:00:00 2009 GMT
|
||||
@@ -266,17 +287,26 @@ def test_proxy_cacert_dir
|
||||
Subject: C=JP, ST=Tokyo, O=RubyTest, CN=127.0.0.1
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
- Public-Key: (1024 bit)
|
||||
+ RSA Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
- 00:bb:bd:74:69:53:58:50:24:79:f2:eb:db:8b:97:
|
||||
- e4:69:a4:dd:48:0c:40:35:62:42:b3:35:8c:96:2a:
|
||||
- 62:76:98:b5:2a:e0:f8:78:33:b6:ff:f8:55:bf:44:
|
||||
- 69:21:d7:b5:0e:bd:8a:dd:31:1b:88:d5:b4:5e:7a:
|
||||
- 82:e0:ba:99:6c:04:76:e9:ff:e6:f8:f5:06:8e:7e:
|
||||
- a4:db:db:eb:43:44:12:a7:ca:ca:2b:aa:5f:83:10:
|
||||
- e2:9e:35:55:e8:e8:af:be:c8:7d:bb:c2:d4:aa:c1:
|
||||
- 1c:57:0b:c0:0c:3a:1d:6e:23:a9:03:26:7c:ea:8c:
|
||||
- f0:86:61:ce:f1:ff:42:c7:23
|
||||
+ 00:cb:b3:71:95:12:70:fc:db:d4:a9:a7:66:d6:d3:
|
||||
+ 09:dd:06:80:19:e1:f2:d6:1e:31:b6:6b:20:75:51:
|
||||
+ dc:a7:37:a9:ac:5b:57:5d:69:36:b6:de:1d:2c:f6:
|
||||
+ 44:64:f8:e8:d6:f0:da:38:6a:ba:c2:b1:9e:dc:bb:
|
||||
+ 79:94:e0:25:0c:ce:76:87:17:5d:79:9e:14:9e:bd:
|
||||
+ 4c:0d:aa:74:10:3a:96:ef:76:82:d5:72:16:b5:c1:
|
||||
+ ac:17:2d:90:83:73:5c:d7:a6:f5:36:0f:4c:55:f3:
|
||||
+ 30:5d:19:dc:01:0e:f8:e6:fe:a5:ad:52:88:59:dc:
|
||||
+ 4a:07:ed:a2:eb:a1:01:63:c4:8a:92:ba:06:80:9b:
|
||||
+ 0d:85:f2:9f:f9:70:ac:d7:ad:f0:7a:3f:b8:92:2a:
|
||||
+ 33:ca:69:d0:01:65:5d:31:38:1d:f6:1f:b2:17:07:
|
||||
+ 7e:ac:88:67:a6:c4:5f:3e:93:94:61:e6:e4:49:9d:
|
||||
+ ba:d4:d2:e8:e3:93:d1:66:79:c5:e3:1d:f8:5a:50:
|
||||
+ 54:58:3d:04:b0:fd:65:d1:b3:8a:b5:8a:30:5f:b2:
|
||||
+ dc:34:1a:14:f7:74:4c:03:29:97:63:5a:d7:de:bb:
|
||||
+ eb:7f:4a:2a:90:59:c0:2b:47:09:82:8f:75:de:14:
|
||||
+ 3f:bc:78:9a:69:25:80:5b:6c:a0:65:12:0d:29:61:
|
||||
+ ac:f9
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints:
|
||||
@@ -284,104 +314,167 @@ def test_proxy_cacert_dir
|
||||
Netscape Comment:
|
||||
OpenSSL Generated Certificate
|
||||
X509v3 Subject Key Identifier:
|
||||
- 7F:17:5A:58:88:96:E1:1F:44:EA:FF:AD:C6:2E:90:E2:95:32:DD:F0
|
||||
+ EC:6B:7C:79:B8:3B:11:1D:42:F3:9A:2A:CF:9A:15:59:D7:F9:D8:C6
|
||||
X509v3 Authority Key Identifier:
|
||||
- keyid:71:DB:DC:BA:F6:7F:75:31:7A:ED:AB:8B:48:93:86:94:1A:FF:30:58
|
||||
+ keyid:A0:7E:0B:AD:A3:AD:37:D7:21:0B:75:6F:8A:90:5F:8C:C9:69:DF:98
|
||||
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
- 1c:80:02:67:f0:4e:a8:5a:6a:73:9c:de:75:ad:7d:2e:e9:ce:
|
||||
- c3:2e:cd:70:b4:21:d9:42:0d:7c:0e:77:9e:97:91:13:02:77:
|
||||
- 4a:cd:f6:fc:26:3d:42:2e:08:85:05:10:df:3a:5f:f0:77:85:
|
||||
- 44:29:41:dd:03:6b:eb:e7:c8:89:8e:d1:57:a8:ac:43:c8:85:
|
||||
- c3:95:64:9f:a5:6e:e9:2e:6e:06:45:21:36:ec:d5:79:f5:0e:
|
||||
- a8:53:b5:f7:02:b0:59:12:e3:ae:73:25:fd:18:ab:23:b2:fc:
|
||||
- a9:f9:60:e5:a7:d8:ba:0f:db:be:17:81:25:90:fd:7a:21:cb:
|
||||
- fa:8b
|
||||
+ 29:14:db:71:e9:a0:86:f8:cc:4d:e4:8a:76:78:a7:ff:4e:94:
|
||||
+ b4:4d:92:dc:57:9a:52:64:46:27:15:8b:4f:2a:18:a7:0d:fc:
|
||||
+ d2:75:ce:4e:49:97:0b:46:71:57:23:e3:a5:c0:c5:71:94:fc:
|
||||
+ f2:1d:3b:06:93:82:03:59:56:d4:fb:09:06:08:b4:97:50:33:
|
||||
+ cf:58:89:dd:91:31:07:26:9a:7e:7f:8d:71:de:09:dc:4f:e5:
|
||||
+ 6b:a3:10:71:d4:50:24:43:a0:1c:f5:2a:d9:1a:fb:e3:d6:f1:
|
||||
+ bc:6b:42:67:16:b4:3b:31:f4:ec:03:7d:78:e2:64:16:57:6d:
|
||||
+ ba:7c:0c:e1:14:b2:7c:75:4e:2b:09:3e:86:e4:aa:cc:7e:5c:
|
||||
+ 2b:bd:8d:26:4d:49:36:74:86:fe:c5:a6:15:4a:af:e8:b4:4e:
|
||||
+ d5:f2:e1:59:c2:fb:7e:c3:c4:f1:63:d8:c2:b0:9a:ae:31:96:
|
||||
+ 90:c3:09:d0:ce:2e:31:90:d7:83:dd:ac:31:cc:f7:87:41:08:
|
||||
+ 92:33:28:52:fa:2d:9e:ad:ae:6a:9f:c3:be:ce:c1:a6:e4:16:
|
||||
+ 2f:69:34:40:86:b6:10:21:0e:31:69:81:9e:fc:fd:c3:06:25:
|
||||
+ 65:37:d3:d9:4a:20:84:aa:e7:0e:60:7c:bf:3f:88:67:ac:e5:
|
||||
+ 8c:e0:61:d6
|
||||
-----BEGIN CERTIFICATE-----
|
||||
-MIICfDCCAeWgAwIBAgIBATANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQGEwJKUDEO
|
||||
+MIIDgTCCAmmgAwIBAgIBATANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQGEwJKUDEO
|
||||
MAwGA1UECAwFVG9reW8xETAPBgNVBAoMCFJ1YnlUZXN0MRUwEwYDVQQDDAxSdWJ5
|
||||
IFRlc3QgQ0EwHhcNMDkwMTAxMDAwMDAwWhcNNDkxMjMxMjM1OTU5WjBEMQswCQYD
|
||||
VQQGEwJKUDEOMAwGA1UECAwFVG9reW8xETAPBgNVBAoMCFJ1YnlUZXN0MRIwEAYD
|
||||
-VQQDDAkxMjcuMC4wLjEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALu9dGlT
|
||||
-WFAkefLr24uX5Gmk3UgMQDViQrM1jJYqYnaYtSrg+Hgztv/4Vb9EaSHXtQ69it0x
|
||||
-G4jVtF56guC6mWwEdun/5vj1Bo5+pNvb60NEEqfKyiuqX4MQ4p41Vejor77IfbvC
|
||||
-1KrBHFcLwAw6HW4jqQMmfOqM8IZhzvH/QscjAgMBAAGjezB5MAkGA1UdEwQCMAAw
|
||||
-LAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0G
|
||||
-A1UdDgQWBBR/F1pYiJbhH0Tq/63GLpDilTLd8DAfBgNVHSMEGDAWgBRx29y69n91
|
||||
-MXrtq4tIk4aUGv8wWDANBgkqhkiG9w0BAQsFAAOBgQAcgAJn8E6oWmpznN51rX0u
|
||||
-6c7DLs1wtCHZQg18Dneel5ETAndKzfb8Jj1CLgiFBRDfOl/wd4VEKUHdA2vr58iJ
|
||||
-jtFXqKxDyIXDlWSfpW7pLm4GRSE27NV59Q6oU7X3ArBZEuOucyX9GKsjsvyp+WDl
|
||||
-p9i6D9u+F4ElkP16Icv6iw==
|
||||
+VQQDDAkxMjcuMC4wLjEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDL
|
||||
+s3GVEnD829Spp2bW0wndBoAZ4fLWHjG2ayB1UdynN6msW1ddaTa23h0s9kRk+OjW
|
||||
+8No4arrCsZ7cu3mU4CUMznaHF115nhSevUwNqnQQOpbvdoLVcha1wawXLZCDc1zX
|
||||
+pvU2D0xV8zBdGdwBDvjm/qWtUohZ3EoH7aLroQFjxIqSugaAmw2F8p/5cKzXrfB6
|
||||
+P7iSKjPKadABZV0xOB32H7IXB36siGemxF8+k5Rh5uRJnbrU0ujjk9FmecXjHfha
|
||||
+UFRYPQSw/WXRs4q1ijBfstw0GhT3dEwDKZdjWtfeu+t/SiqQWcArRwmCj3XeFD+8
|
||||
+eJppJYBbbKBlEg0pYaz5AgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgEN
|
||||
+BB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBTsa3x5
|
||||
+uDsRHULzmirPmhVZ1/nYxjAfBgNVHSMEGDAWgBSgfguto6031yELdW+KkF+MyWnf
|
||||
+mDANBgkqhkiG9w0BAQsFAAOCAQEAKRTbcemghvjMTeSKdnin/06UtE2S3FeaUmRG
|
||||
+JxWLTyoYpw380nXOTkmXC0ZxVyPjpcDFcZT88h07BpOCA1lW1PsJBgi0l1Azz1iJ
|
||||
+3ZExByaafn+Ncd4J3E/la6MQcdRQJEOgHPUq2Rr749bxvGtCZxa0OzH07AN9eOJk
|
||||
+FldtunwM4RSyfHVOKwk+huSqzH5cK72NJk1JNnSG/sWmFUqv6LRO1fLhWcL7fsPE
|
||||
+8WPYwrCarjGWkMMJ0M4uMZDXg92sMcz3h0EIkjMoUvotnq2uap/Dvs7BpuQWL2k0
|
||||
+QIa2ECEOMWmBnvz9wwYlZTfT2UoghKrnDmB8vz+IZ6zljOBh1g==
|
||||
-----END CERTIFICATE-----
|
||||
End
|
||||
|
||||
TestOpenURISSL::SERVER_KEY = <<'End'
|
||||
-Private-Key: (1024 bit)
|
||||
+RSA Private-Key: (2048 bit, 2 primes)
|
||||
modulus:
|
||||
- 00:bb:bd:74:69:53:58:50:24:79:f2:eb:db:8b:97:
|
||||
- e4:69:a4:dd:48:0c:40:35:62:42:b3:35:8c:96:2a:
|
||||
- 62:76:98:b5:2a:e0:f8:78:33:b6:ff:f8:55:bf:44:
|
||||
- 69:21:d7:b5:0e:bd:8a:dd:31:1b:88:d5:b4:5e:7a:
|
||||
- 82:e0:ba:99:6c:04:76:e9:ff:e6:f8:f5:06:8e:7e:
|
||||
- a4:db:db:eb:43:44:12:a7:ca:ca:2b:aa:5f:83:10:
|
||||
- e2:9e:35:55:e8:e8:af:be:c8:7d:bb:c2:d4:aa:c1:
|
||||
- 1c:57:0b:c0:0c:3a:1d:6e:23:a9:03:26:7c:ea:8c:
|
||||
- f0:86:61:ce:f1:ff:42:c7:23
|
||||
+ 00:cb:b3:71:95:12:70:fc:db:d4:a9:a7:66:d6:d3:
|
||||
+ 09:dd:06:80:19:e1:f2:d6:1e:31:b6:6b:20:75:51:
|
||||
+ dc:a7:37:a9:ac:5b:57:5d:69:36:b6:de:1d:2c:f6:
|
||||
+ 44:64:f8:e8:d6:f0:da:38:6a:ba:c2:b1:9e:dc:bb:
|
||||
+ 79:94:e0:25:0c:ce:76:87:17:5d:79:9e:14:9e:bd:
|
||||
+ 4c:0d:aa:74:10:3a:96:ef:76:82:d5:72:16:b5:c1:
|
||||
+ ac:17:2d:90:83:73:5c:d7:a6:f5:36:0f:4c:55:f3:
|
||||
+ 30:5d:19:dc:01:0e:f8:e6:fe:a5:ad:52:88:59:dc:
|
||||
+ 4a:07:ed:a2:eb:a1:01:63:c4:8a:92:ba:06:80:9b:
|
||||
+ 0d:85:f2:9f:f9:70:ac:d7:ad:f0:7a:3f:b8:92:2a:
|
||||
+ 33:ca:69:d0:01:65:5d:31:38:1d:f6:1f:b2:17:07:
|
||||
+ 7e:ac:88:67:a6:c4:5f:3e:93:94:61:e6:e4:49:9d:
|
||||
+ ba:d4:d2:e8:e3:93:d1:66:79:c5:e3:1d:f8:5a:50:
|
||||
+ 54:58:3d:04:b0:fd:65:d1:b3:8a:b5:8a:30:5f:b2:
|
||||
+ dc:34:1a:14:f7:74:4c:03:29:97:63:5a:d7:de:bb:
|
||||
+ eb:7f:4a:2a:90:59:c0:2b:47:09:82:8f:75:de:14:
|
||||
+ 3f:bc:78:9a:69:25:80:5b:6c:a0:65:12:0d:29:61:
|
||||
+ ac:f9
|
||||
publicExponent: 65537 (0x10001)
|
||||
privateExponent:
|
||||
- 00:af:3a:ec:17:0a:f5:d9:07:d2:d3:4c:15:c5:3b:
|
||||
- 66:b4:bc:6e:d5:ba:a9:8b:aa:45:3b:63:f5:ee:8b:
|
||||
- 6d:0f:e9:04:e0:1a:cf:8f:d2:25:32:d1:a5:a7:3a:
|
||||
- c1:2e:17:5a:25:82:00:c4:e7:fb:1d:42:ea:71:6c:
|
||||
- c4:0f:e1:db:23:ff:1e:d6:c8:d6:60:ca:2d:06:fc:
|
||||
- 54:3c:03:d4:09:96:bb:38:7a:22:a1:61:2c:f7:d0:
|
||||
- d0:90:6c:9f:61:ba:61:30:5a:aa:64:ad:43:3a:53:
|
||||
- 38:e8:ba:cc:8c:51:3e:68:3e:3a:6a:0f:5d:5d:e0:
|
||||
- d6:df:f2:54:93:d3:14:22:a1
|
||||
+ 12:be:d5:b2:01:3b:72:99:8c:4d:7c:81:43:3d:b2:
|
||||
+ 87:ab:84:78:5d:49:aa:98:a6:bc:81:c9:3f:e2:a3:
|
||||
+ aa:a3:bd:b2:85:c9:59:68:48:47:b5:d2:fb:83:42:
|
||||
+ 32:04:91:f0:cd:c3:57:33:c3:32:0d:84:70:0d:b4:
|
||||
+ 97:95:b4:f3:23:c0:d6:97:b8:db:6b:47:bc:7f:f1:
|
||||
+ 12:c4:df:df:6a:74:df:5e:89:95:b8:e5:0c:1e:e1:
|
||||
+ 86:54:84:1b:04:af:c3:8c:b2:be:21:d4:45:88:96:
|
||||
+ a7:ca:ac:6b:50:84:69:45:7f:db:9e:5f:bb:dd:40:
|
||||
+ d6:cf:f0:91:3c:84:d3:38:65:c9:15:f7:9e:37:aa:
|
||||
+ 1a:2e:bc:16:b6:95:be:bc:af:45:76:ba:ad:99:f6:
|
||||
+ ef:6a:e8:fd:f0:31:89:19:c4:04:67:a1:ec:c4:79:
|
||||
+ 59:08:77:ab:0b:65:88:88:02:b1:38:5c:80:4e:27:
|
||||
+ 78:b2:a5:bd:b5:ad:d5:9c:4c:ea:ad:db:05:56:25:
|
||||
+ 70:28:da:22:fb:d8:de:8c:3b:78:fe:3e:cf:ed:1b:
|
||||
+ f9:97:c6:b6:4a:bf:60:08:8f:dc:85:5e:b1:49:ab:
|
||||
+ 87:8b:68:72:f4:6a:3f:bc:db:a3:6c:f7:e8:b0:15:
|
||||
+ bb:4b:ba:37:49:a2:d1:7c:f8:4f:1b:05:11:22:d9:
|
||||
+ 81
|
||||
prime1:
|
||||
- 00:e8:ec:11:fe:e6:2b:23:21:29:d5:40:a6:11:ec:
|
||||
- 4c:ae:4d:08:2a:71:18:ac:d1:3e:40:2f:12:41:59:
|
||||
- 12:09:e2:f7:c2:d7:6b:0a:96:0a:06:e3:90:6a:4e:
|
||||
- b2:eb:25:b7:09:68:e9:13:ab:d0:5a:29:7a:e4:72:
|
||||
- 1a:ee:46:a0:8b
|
||||
+ 00:fb:d2:cb:14:61:00:c1:7a:83:ba:fe:79:97:a2:
|
||||
+ 4d:5a:ea:40:78:96:6e:d2:be:71:5b:c6:2c:1f:c9:
|
||||
+ 18:48:6b:ae:20:86:87:b5:08:0b:17:69:ca:93:cd:
|
||||
+ 00:36:22:51:7b:d5:2d:8c:0c:0e:de:bc:86:a8:07:
|
||||
+ 0e:c5:57:e4:df:be:ed:7d:cc:b1:a4:d6:a8:2b:00:
|
||||
+ 65:2a:69:30:5e:dc:6d:6d:c4:c8:7e:20:34:eb:6f:
|
||||
+ 5e:cf:b3:b8:2e:8d:56:31:44:a8:17:ea:be:65:19:
|
||||
+ ff:da:14:e0:0c:73:56:14:08:47:4c:5b:79:51:74:
|
||||
+ 5d:bc:e7:fe:01:2f:55:27:69
|
||||
prime2:
|
||||
- 00:ce:57:5e:31:e9:c9:a8:5b:1f:55:af:67:e2:49:
|
||||
- 2a:af:90:b6:02:c0:32:2f:ca:ae:1e:de:47:81:73:
|
||||
- a8:f8:37:53:70:93:24:62:77:d4:b8:80:30:9f:65:
|
||||
- 26:20:46:ae:5a:65:6e:6d:af:68:4c:8d:e8:3c:f3:
|
||||
- d1:d1:d9:6e:c9
|
||||
+ 00:cf:14:54:47:bb:5f:5d:d6:2b:2d:ed:a6:8a:6f:
|
||||
+ 36:fc:47:5e:9f:84:ae:aa:1f:f8:44:50:91:15:f5:
|
||||
+ ed:9d:29:d9:2b:2a:19:66:56:2e:96:15:b5:8e:a9:
|
||||
+ 7f:89:27:21:b5:57:55:7e:2a:c5:8c:93:fe:f6:0a:
|
||||
+ a5:17:15:91:91:b3:7d:35:1a:d5:9a:2e:b8:0d:ad:
|
||||
+ e6:97:6d:83:a3:27:29:ee:00:74:ef:57:34:f3:07:
|
||||
+ ad:12:43:37:0c:5c:b7:26:34:bc:4e:3a:43:65:6b:
|
||||
+ 0c:b8:23:ac:77:fd:b2:23:eb:7b:65:70:f6:96:c4:
|
||||
+ 17:2c:aa:24:b8:a5:5e:b7:11
|
||||
exponent1:
|
||||
- 03:f1:02:b8:f2:82:26:5d:08:4d:30:83:de:e7:c5:
|
||||
- c0:69:53:4b:0c:90:e3:53:c3:1e:e8:ed:01:28:15:
|
||||
- b3:0f:21:2c:2d:e3:04:d1:d7:27:98:b0:37:ec:4f:
|
||||
- 00:c5:a9:9c:42:27:37:8a:ff:c2:96:d3:1a:8c:87:
|
||||
- c2:22:75:d3
|
||||
+ 00:92:32:ae:f4:05:dd:0a:76:b6:43:b9:b9:9d:ee:
|
||||
+ fc:39:ec:05:c1:fc:94:1a:85:b6:0a:31:e3:2c:10:
|
||||
+ f3:a8:17:db:df:c6:3a:c3:3f:08:31:6f:99:cc:75:
|
||||
+ 17:ca:55:e2:38:a2:6a:ef:03:91:1e:7f:15:2e:37:
|
||||
+ ea:bb:67:6b:d8:fa:5f:a6:c9:4f:d9:03:46:5e:b0:
|
||||
+ bc:0b:03:46:b1:cc:07:3b:d3:23:13:16:5f:a2:cf:
|
||||
+ e5:9b:70:1b:5d:eb:70:3e:ea:3d:2c:a5:7c:23:f6:
|
||||
+ 14:33:e8:2a:ab:0f:ca:c9:96:84:ce:2f:cd:1f:1d:
|
||||
+ 0f:ce:bc:61:1b:0e:ff:c1:01
|
||||
exponent2:
|
||||
- 6f:17:32:ab:84:c7:01:51:2d:e9:9f:ea:3a:36:52:
|
||||
- 38:fb:9c:42:96:df:6e:43:9c:c3:19:c1:3d:bc:db:
|
||||
- 77:e7:b1:90:a6:67:ac:6b:ff:a6:e5:bd:47:d3:d9:
|
||||
- 56:ff:36:d7:8c:4c:8b:d9:28:3a:2f:1c:9d:d4:57:
|
||||
- 5e:b7:c5:a1
|
||||
+ 00:9e:0b:f3:03:48:73:d1:e7:9a:cf:13:f9:ae:e0:
|
||||
+ 91:03:dc:e8:d0:30:f1:2a:30:fa:48:11:81:9a:54:
|
||||
+ 37:c5:62:e2:37:fa:8a:a6:3b:92:94:c3:fe:ec:e2:
|
||||
+ 5a:cf:70:09:5f:21:47:c3:e2:9b:21:de:f6:92:0c:
|
||||
+ af:d1:bd:89:7b:bd:95:0b:49:ee:cb:1d:6b:26:2d:
|
||||
+ 9a:b7:ea:42:b4:ec:38:29:49:39:f6:4e:05:c0:93:
|
||||
+ 14:39:c3:09:29:ab:3d:b1:b0:40:24:28:7d:b5:d3:
|
||||
+ 0d:43:21:1f:09:f9:9b:d3:a4:6f:6a:8d:db:f6:57:
|
||||
+ b5:24:46:bb:7e:1d:e0:fb:31
|
||||
coefficient:
|
||||
- 45:50:47:66:56:e9:21:d9:40:0e:af:3f:f2:05:77:
|
||||
- ab:e7:08:40:97:88:2a:51:b3:7e:86:b0:b2:03:2e:
|
||||
- 6d:36:3f:46:42:97:7d:5a:a2:93:6c:05:c2:8b:8b:
|
||||
- 2d:af:d5:7d:75:e9:70:f0:2d:21:e3:b9:cf:4d:9a:
|
||||
- c4:97:e2:79
|
||||
+ 10:93:1d:c8:33:a5:c1:d3:84:6a:22:68:e5:60:cc:
|
||||
+ 9c:27:0a:52:0b:58:a3:0c:83:f4:f4:46:09:0c:a1:
|
||||
+ 41:a6:ea:bf:80:9d:0e:5d:d8:3d:25:00:c5:a1:35:
|
||||
+ 7a:8c:ea:95:16:94:c3:7c:8f:2b:e0:53:ea:66:ae:
|
||||
+ 19:be:55:04:3d:ee:e2:4b:a8:69:1b:7e:d8:09:7f:
|
||||
+ ed:7c:ee:95:88:10:dc:4b:5b:bf:81:a4:e8:dc:7e:
|
||||
+ 4f:e5:c3:90:c4:e5:5a:90:10:32:d6:08:b5:1f:5d:
|
||||
+ 09:18:d8:44:28:e4:c4:c7:07:75:9b:9b:b3:80:86:
|
||||
+ 68:9d:fe:68:f3:4d:db:66
|
||||
+writing RSA key
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
-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
-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
-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
-AoGBAK867BcK9dkH0tNMFcU7ZrS8btW6qYuqRTtj9e6LbQ/pBOAaz4/SJTLRpac6
|
||||
-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
-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
-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
-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
-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
-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
-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
-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
-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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
End
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
From 03b44a86b574dc0b63fd57c5f9b52b56ad3ced37 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Mon, 6 Jan 2020 13:56:04 +0100
|
||||
Subject: [PATCH] Initialize ABRT hook.
|
||||
|
||||
The ABRT hook used to be initialized by preludes via patches [[1], [2]].
|
||||
Unfortunately, due to [[3]] and especially since [[4]], this would
|
||||
require boostrapping [[5]].
|
||||
|
||||
To keep the things simple for now, load the ABRT hook via C.
|
||||
|
||||
[1]: https://bugs.ruby-lang.org/issues/8566
|
||||
[2]: https://bugs.ruby-lang.org/issues/15306
|
||||
[3]: https://bugs.ruby-lang.org/issues/16254
|
||||
[4]: https://github.com/ruby/ruby/pull/2735
|
||||
[5]: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/message/LH6L6YJOYQT4Y5ZNOO4SLIPTUWZ5V45Q/
|
||||
---
|
||||
abrt.c | 12 ++++++++++++
|
||||
common.mk | 1 +
|
||||
ruby.c | 4 ++++
|
||||
spec/ruby/core/kernel/require_spec.rb | 2 ++
|
||||
4 files changed, 19 insertions(+)
|
||||
create mode 100644 abrt.c
|
||||
|
||||
diff --git a/abrt.c b/abrt.c
|
||||
new file mode 100644
|
||||
index 0000000000..e99cb432e6
|
||||
--- /dev/null
|
||||
+++ b/abrt.c
|
||||
@@ -0,0 +1,12 @@
|
||||
+#include "internal.h"
|
||||
+
|
||||
+void
|
||||
+Init_abrt(void)
|
||||
+{
|
||||
+ rb_eval_string(
|
||||
+ " begin\n"
|
||||
+ " require 'abrt'\n"
|
||||
+ " rescue LoadError\n"
|
||||
+ " end\n"
|
||||
+ );
|
||||
+}
|
||||
diff --git a/common.mk b/common.mk
|
||||
index 08fee9119a..dae7d9dc00 100644
|
||||
--- a/common.mk
|
||||
+++ b/common.mk
|
||||
@@ -116,6 +116,7 @@ PRISM_FILES = prism/api_node.$(OBJEXT) \
|
||||
prism_init.$(OBJEXT)
|
||||
|
||||
COMMONOBJS = \
|
||||
+ abrt.$(OBJEXT) \
|
||||
array.$(OBJEXT) \
|
||||
ast.$(OBJEXT) \
|
||||
bignum.$(OBJEXT) \
|
||||
diff --git a/ruby.c b/ruby.c
|
||||
index b00fc1502d..32b88f7496 100644
|
||||
--- a/ruby.c
|
||||
+++ b/ruby.c
|
||||
@@ -1773,10 +1773,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt)
|
||||
|
||||
void Init_builtin_features(void);
|
||||
|
||||
+/* abrt.c */
|
||||
+void Init_abrt(void);
|
||||
+
|
||||
static void
|
||||
ruby_init_prelude(void)
|
||||
{
|
||||
Init_builtin_features();
|
||||
+ Init_abrt();
|
||||
}
|
||||
|
||||
void rb_call_builtin_inits(void);
|
||||
diff --git a/spec/ruby/core/kernel/require_spec.rb b/spec/ruby/core/kernel/require_spec.rb
|
||||
index 60d17242fe..a8f93b0db4 100644
|
||||
--- a/spec/ruby/core/kernel/require_spec.rb
|
||||
+++ b/spec/ruby/core/kernel/require_spec.rb
|
||||
@@ -26,6 +26,8 @@
|
||||
out = ruby_exe("puts $LOADED_FEATURES", options: '--disable-gems --disable-did-you-mean')
|
||||
features = out.lines.map { |line| File.basename(line.chomp, '.*') }
|
||||
|
||||
+ # Ignore ABRT
|
||||
+ features -= %w[abrt]
|
||||
# Ignore CRuby internals
|
||||
features -= %w[encdb transdb windows_1252 windows_31j]
|
||||
features.reject! { |feature| feature.end_with?('-fake') }
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
From 9b42fce32bff25e0569581f76f532b9d57865aef Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Mon, 27 Jul 2020 14:56:05 +0200
|
||||
Subject: [PATCH] Timeout the test_bug_reporter_add witout raising error.
|
||||
|
||||
While timeouting the threads might be still good idea, it does not seems
|
||||
the timeout impacts the TestBugReporter#test_bug_reporter_add result,
|
||||
because the output of the child process has been already collected
|
||||
earlier.
|
||||
|
||||
It seems that when the system is under heavy load, the thread might not
|
||||
be sheduled to finish its processing. Even finishing the child process
|
||||
might take tens of seconds and therefore the test case finish might take
|
||||
a while.
|
||||
---
|
||||
test/-ext-/bug_reporter/test_bug_reporter.rb | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/test/-ext-/bug_reporter/test_bug_reporter.rb b/test/-ext-/bug_reporter/test_bug_reporter.rb
|
||||
index 628fcd0340..2c677cc8a7 100644
|
||||
--- a/test/-ext-/bug_reporter/test_bug_reporter.rb
|
||||
+++ b/test/-ext-/bug_reporter/test_bug_reporter.rb
|
||||
@@ -17,7 +17,7 @@ def test_bug_reporter_add
|
||||
args = ["--disable-gems", "-r-test-/bug_reporter",
|
||||
"-C", tmpdir]
|
||||
stdin = "register_sample_bug_reporter(12345); Process.kill :SEGV, $$"
|
||||
- assert_in_out_err(args, stdin, [], expected_stderr, encoding: "ASCII-8BIT")
|
||||
+ assert_in_out_err(args, stdin, [], expected_stderr, encoding: "ASCII-8BIT", timeout_error: nil)
|
||||
ensure
|
||||
FileUtils.rm_rf(tmpdir) if tmpdir
|
||||
end
|
||||
--
|
||||
2.27.0
|
||||
|
||||
162
ruby-2.7.2-psych-fix-yaml-tests.patch
Normal file
162
ruby-2.7.2-psych-fix-yaml-tests.patch
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
From 3c55d93cf68b1a969b90b306de4dd8b88d74a2f2 Mon Sep 17 00:00:00 2001
|
||||
From: nagachika <nagachika@ruby-lang.org>
|
||||
Date: Sat, 13 Jun 2020 11:29:51 +0900
|
||||
Subject: [PATCH] merge revision(s) 7e289cdf3fed588b2d5a6973e29f9ff95cb8d76c:
|
||||
[Backport #16949]
|
||||
|
||||
[ruby/psych] Fixing compatibility with libyaml 0.2.5
|
||||
|
||||
The main issue is that commas aren't allowed in local tags. libyaml
|
||||
was updated to follow the spec, and our tests were out of date.
|
||||
|
||||
See: https://github.com/yaml/libyaml/issues/196
|
||||
|
||||
https://github.com/ruby/psych/commit/3f5e520fd3
|
||||
---
|
||||
test/psych/test_nil.rb | 4 ++--
|
||||
test/psych/test_psych.rb | 17 +++++++----------
|
||||
test/psych/test_yaml.rb | 24 ++++++++++++------------
|
||||
version.h | 4 ++--
|
||||
4 files changed, 23 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/test/psych/test_nil.rb b/test/psych/test_nil.rb
|
||||
index 910a2e697def..bcbbcb9c9397 100644
|
||||
--- a/test/psych/test_nil.rb
|
||||
+++ b/test/psych/test_nil.rb
|
||||
@@ -5,13 +5,13 @@ module Psych
|
||||
class TestNil < TestCase
|
||||
def test_nil
|
||||
yml = Psych.dump nil
|
||||
- assert_match(/--- \n(?:\.\.\.\n)?/, yml)
|
||||
+ assert_match(/---[ ]?\n(?:\.\.\.\n)?/, yml)
|
||||
assert_nil Psych.load(yml)
|
||||
end
|
||||
|
||||
def test_array_nil
|
||||
yml = Psych.dump [nil]
|
||||
- assert_equal "---\n- \n", yml
|
||||
+ assert_match(/---\n-[ ]?\n/, yml)
|
||||
assert_equal [nil], Psych.load(yml)
|
||||
end
|
||||
|
||||
diff --git a/test/psych/test_psych.rb b/test/psych/test_psych.rb
|
||||
index eeadc864ef4e..e557feffb76a 100644
|
||||
--- a/test/psych/test_psych.rb
|
||||
+++ b/test/psych/test_psych.rb
|
||||
@@ -121,17 +121,17 @@ def test_add_builtin_type
|
||||
|
||||
def test_domain_types
|
||||
got = nil
|
||||
- Psych.add_domain_type 'foo.bar,2002', 'foo' do |type, val|
|
||||
+ Psych.add_domain_type 'foo.bar/2002', 'foo' do |type, val|
|
||||
got = val
|
||||
end
|
||||
|
||||
- Psych.load('--- !foo.bar,2002/foo hello')
|
||||
+ Psych.load('--- !foo.bar/2002:foo hello')
|
||||
assert_equal 'hello', got
|
||||
|
||||
- Psych.load("--- !foo.bar,2002/foo\n- hello\n- world")
|
||||
+ Psych.load("--- !foo.bar/2002:foo\n- hello\n- world")
|
||||
assert_equal %w{ hello world }, got
|
||||
|
||||
- Psych.load("--- !foo.bar,2002/foo\nhello: world")
|
||||
+ Psych.load("--- !foo.bar/2002:foo\nhello: world")
|
||||
assert_equal({ 'hello' => 'world' }, got)
|
||||
end
|
||||
|
||||
@@ -170,16 +170,13 @@ def test_callbacks
|
||||
types = []
|
||||
appender = lambda { |*args| types << args }
|
||||
|
||||
- Psych.add_builtin_type('foo', &appender)
|
||||
- Psych.add_domain_type('example.com,2002', 'foo', &appender)
|
||||
+ Psych.add_domain_type('example.com:2002', 'foo', &appender)
|
||||
Psych.load <<-eoyml
|
||||
-- !tag:yaml.org,2002:foo bar
|
||||
-- !tag:example.com,2002:foo bar
|
||||
+- !tag:example.com:2002:foo bar
|
||||
eoyml
|
||||
|
||||
assert_equal [
|
||||
- ["tag:yaml.org,2002:foo", "bar"],
|
||||
- ["tag:example.com,2002:foo", "bar"]
|
||||
+ ["tag:example.com:2002:foo", "bar"]
|
||||
], types
|
||||
end
|
||||
|
||||
diff --git a/test/psych/test_yaml.rb b/test/psych/test_yaml.rb
|
||||
index 5fa759c981b2..0dfd60f89434 100644
|
||||
--- a/test/psych/test_yaml.rb
|
||||
+++ b/test/psych/test_yaml.rb
|
||||
@@ -617,11 +617,11 @@ def test_spec_domain_prefix
|
||||
raise ArgumentError, "Not a Hash in domain.tld,2002/invoice: " + val.inspect
|
||||
end
|
||||
}
|
||||
- Psych.add_domain_type( "domain.tld,2002", 'invoice', &customer_proc )
|
||||
- Psych.add_domain_type( "domain.tld,2002", 'customer', &customer_proc )
|
||||
+ Psych.add_domain_type( "domain.tld/2002", 'invoice', &customer_proc )
|
||||
+ Psych.add_domain_type( "domain.tld/2002", 'customer', &customer_proc )
|
||||
assert_parse_only( { "invoice"=> { "customers"=> [ { "given"=>"Chris", "type"=>"domain customer", "family"=>"Dumars" } ], "type"=>"domain invoice" } }, <<EOY
|
||||
# 'http://domain.tld,2002/invoice' is some type family.
|
||||
-invoice: !domain.tld,2002/invoice
|
||||
+invoice: !domain.tld/2002:invoice
|
||||
# 'seq' is shorthand for 'http://yaml.org/seq'.
|
||||
# This does not effect '^customer' below
|
||||
# because it is does not specify a prefix.
|
||||
@@ -705,7 +705,7 @@ def test_spec_override_anchor
|
||||
end
|
||||
|
||||
def test_spec_explicit_families
|
||||
- Psych.add_domain_type( "somewhere.com,2002", 'type' ) { |type, val|
|
||||
+ Psych.add_domain_type( "somewhere.com/2002", 'type' ) { |type, val|
|
||||
"SOMEWHERE: #{val}"
|
||||
}
|
||||
assert_parse_only(
|
||||
@@ -717,7 +717,7 @@ def test_spec_explicit_families
|
||||
Pz7Y6OjuDg4J+fn5OTk6enp
|
||||
56enmleECcgggoBADs=
|
||||
|
||||
-hmm: !somewhere.com,2002/type |
|
||||
+hmm: !somewhere.com/2002:type |
|
||||
family above is short for
|
||||
http://somewhere.com/type
|
||||
EOY
|
||||
@@ -726,7 +726,7 @@ def test_spec_explicit_families
|
||||
|
||||
def test_spec_application_family
|
||||
# Testing the clarkevans.com graphs
|
||||
- Psych.add_domain_type( "clarkevans.com,2002", 'graph/shape' ) { |type, val|
|
||||
+ Psych.add_domain_type( "clarkevans.com/2002", 'graph/shape' ) { |type, val|
|
||||
if Array === val
|
||||
val << "Shape Container"
|
||||
val
|
||||
@@ -743,13 +743,13 @@ def test_spec_application_family
|
||||
raise ArgumentError, "Invalid graph of type #{val.class}: " + val.inspect
|
||||
end
|
||||
}
|
||||
- Psych.add_domain_type( "clarkevans.com,2002", 'graph/circle', &one_shape_proc )
|
||||
- Psych.add_domain_type( "clarkevans.com,2002", 'graph/line', &one_shape_proc )
|
||||
- Psych.add_domain_type( "clarkevans.com,2002", 'graph/text', &one_shape_proc )
|
||||
+ Psych.add_domain_type( "clarkevans.com/2002", 'graph/circle', &one_shape_proc )
|
||||
+ Psych.add_domain_type( "clarkevans.com/2002", 'graph/line', &one_shape_proc )
|
||||
+ Psych.add_domain_type( "clarkevans.com/2002", 'graph/text', &one_shape_proc )
|
||||
# MODIFIED to remove invalid Psych
|
||||
assert_parse_only(
|
||||
[[{"radius"=>7, "center"=>{"x"=>73, "y"=>129}, "TYPE"=>"Shape: graph/circle"}, {"finish"=>{"x"=>89, "y"=>102}, "TYPE"=>"Shape: graph/line", "start"=>{"x"=>73, "y"=>129}}, {"TYPE"=>"Shape: graph/text", "value"=>"Pretty vector drawing.", "start"=>{"x"=>73, "y"=>129}, "color"=>16772795}, "Shape Container"]], <<EOY
|
||||
-- !clarkevans.com,2002/graph/shape
|
||||
+- !clarkevans.com/2002:graph/shape
|
||||
- !/graph/circle
|
||||
center: &ORIGIN {x: 73, y: 129}
|
||||
radius: 7
|
||||
@@ -771,8 +771,8 @@ def test_spec_float_explicit
|
||||
# have the same type and value.
|
||||
- 10.0
|
||||
- !float 10
|
||||
-- !yaml.org,2002/float '10'
|
||||
-- !yaml.org,2002/float "\\
|
||||
+- !yaml.org/2002/float '10'
|
||||
+- !yaml.org/2002/float "\\
|
||||
1\\
|
||||
0"
|
||||
EOY
|
||||
91
ruby-2.8.0-Brace-the-fact-that-lchmod-can-EOPNOTSUPP.patch
Normal file
91
ruby-2.8.0-Brace-the-fact-that-lchmod-can-EOPNOTSUPP.patch
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
From 29d9f866f686e81818fb9cf402c4fb479decb282 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?=
|
||||
<shyouhei@ruby-lang.org>
|
||||
Date: Thu, 23 Jan 2020 15:33:42 +0900
|
||||
Subject: [PATCH 1/2] brace the fact that lchmod(2) can EOPNOTSUPP
|
||||
|
||||
Musl libc has this function as a tiny wrapper of fchmodat(3posix). On
|
||||
the other hand Linux kernel does not support changing modes of a symlink.
|
||||
The operation always fails with EOPNOTSUPP. This fchmodat behaviour is
|
||||
defined in POSIX. We have to take care of such exceptions.
|
||||
---
|
||||
lib/fileutils.rb | 3 ++-
|
||||
test/pathname/test_pathname.rb | 2 +-
|
||||
test/ruby/test_notimp.rb | 19 ++++++++++++-------
|
||||
3 files changed, 15 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/lib/fileutils.rb b/lib/fileutils.rb
|
||||
index f56d7f9cb9..1a02d5435e 100644
|
||||
--- a/lib/fileutils.rb
|
||||
+++ b/lib/fileutils.rb
|
||||
@@ -1242,6 +1242,7 @@ def chmod(mode)
|
||||
else
|
||||
File.chmod mode, path()
|
||||
end
|
||||
+ rescue Errno::EOPNOTSUPP
|
||||
end
|
||||
|
||||
def chown(uid, gid)
|
||||
@@ -1317,7 +1318,7 @@ def copy_metadata(path)
|
||||
if st.symlink?
|
||||
begin
|
||||
File.lchmod mode, path
|
||||
- rescue NotImplementedError
|
||||
+ rescue NotImplementedError, Errno::EOPNOTSUPP
|
||||
end
|
||||
else
|
||||
File.chmod mode, path
|
||||
diff --git a/test/pathname/test_pathname.rb b/test/pathname/test_pathname.rb
|
||||
index 8a72b8026d..e381d3fa58 100644
|
||||
--- a/test/pathname/test_pathname.rb
|
||||
+++ b/test/pathname/test_pathname.rb
|
||||
@@ -823,7 +823,7 @@ def test_lchmod
|
||||
old = path.lstat.mode
|
||||
begin
|
||||
path.lchmod(0444)
|
||||
- rescue NotImplementedError
|
||||
+ rescue NotImplementedError, Errno::EOPNOTSUPP
|
||||
next
|
||||
end
|
||||
assert_equal(0444, path.lstat.mode & 0777)
|
||||
diff --git a/test/ruby/test_notimp.rb b/test/ruby/test_notimp.rb
|
||||
index ddebb657bf..daa5a82d7b 100644
|
||||
--- a/test/ruby/test_notimp.rb
|
||||
+++ b/test/ruby/test_notimp.rb
|
||||
@@ -13,11 +13,11 @@ def test_respond_to_fork
|
||||
|
||||
def test_respond_to_lchmod
|
||||
assert_include(File.methods, :lchmod)
|
||||
- if /linux/ =~ RUBY_PLATFORM
|
||||
- assert_equal(false, File.respond_to?(:lchmod))
|
||||
- end
|
||||
- if /freebsd/ =~ RUBY_PLATFORM
|
||||
+ case RUBY_PLATFORM
|
||||
+ when /freebsd/, /linux-musl/
|
||||
assert_equal(true, File.respond_to?(:lchmod))
|
||||
+ when /linux/
|
||||
+ assert_equal(false, File.respond_to?(:lchmod))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -57,9 +57,14 @@ def test_call_lchmod
|
||||
File.open(f, "w") {}
|
||||
File.symlink f, g
|
||||
newmode = 0444
|
||||
- File.lchmod newmode, "#{d}/g"
|
||||
- snew = File.lstat(g)
|
||||
- assert_equal(newmode, snew.mode & 0777)
|
||||
+ begin
|
||||
+ File.lchmod newmode, "#{d}/g"
|
||||
+ rescue Errno::EOPNOTSUPP
|
||||
+ skip $!
|
||||
+ else
|
||||
+ snew = File.lstat(g)
|
||||
+ assert_equal(newmode, snew.mode & 0777)
|
||||
+ end
|
||||
}
|
||||
end
|
||||
end
|
||||
--
|
||||
2.26.2
|
||||
|
||||
128
ruby-2.8.0-Moved-not-implemented-method-tests.patch
Normal file
128
ruby-2.8.0-Moved-not-implemented-method-tests.patch
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
From 5400fc3c67446e2f7f35ea317c596e71f0cb1ca4 Mon Sep 17 00:00:00 2001
|
||||
From: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
Date: Fri, 28 Feb 2020 21:15:37 +0900
|
||||
Subject: [PATCH 2/2] Moved not-implemented method tests [Bug #16662]
|
||||
|
||||
Test not-implemented method with the dedicated methods, instead of
|
||||
platform dependent features.
|
||||
---
|
||||
test/-ext-/test_notimplement.rb | 7 +++
|
||||
test/ruby/test_notimp.rb | 90 ---------------------------------
|
||||
2 files changed, 7 insertions(+), 90 deletions(-)
|
||||
delete mode 100644 test/ruby/test_notimp.rb
|
||||
|
||||
diff --git a/test/-ext-/test_notimplement.rb b/test/-ext-/test_notimplement.rb
|
||||
index 0eba7bdaf8..be8c3623cc 100644
|
||||
--- a/test/-ext-/test_notimplement.rb
|
||||
+++ b/test/-ext-/test_notimplement.rb
|
||||
@@ -10,6 +10,11 @@ def test_funcall_notimplement
|
||||
end
|
||||
|
||||
def test_respond_to
|
||||
+ assert_include(Bug.methods(false), :notimplement)
|
||||
assert_not_respond_to(Bug, :notimplement)
|
||||
end
|
||||
+
|
||||
+ def test_method_inspect_notimplement
|
||||
+ assert_match(/not-implemented/, Bug.method(:notimplement).inspect)
|
||||
+ end
|
||||
end
|
||||
diff --git a/test/ruby/test_notimp.rb b/test/ruby/test_notimp.rb
|
||||
deleted file mode 100644
|
||||
index daa5a82d7b..0000000000
|
||||
--- a/test/ruby/test_notimp.rb
|
||||
+++ /dev/null
|
||||
@@ -1,90 +0,0 @@
|
||||
-# frozen_string_literal: false
|
||||
-require 'test/unit'
|
||||
-require 'timeout'
|
||||
-require 'tmpdir'
|
||||
-
|
||||
-class TestNotImplement < Test::Unit::TestCase
|
||||
- def test_respond_to_fork
|
||||
- assert_include(Process.methods, :fork)
|
||||
- if /linux/ =~ RUBY_PLATFORM
|
||||
- assert_equal(true, Process.respond_to?(:fork))
|
||||
- end
|
||||
- end
|
||||
-
|
||||
- def test_respond_to_lchmod
|
||||
- assert_include(File.methods, :lchmod)
|
||||
- case RUBY_PLATFORM
|
||||
- when /freebsd/, /linux-musl/
|
||||
- assert_equal(true, File.respond_to?(:lchmod))
|
||||
- when /linux/
|
||||
- assert_equal(false, File.respond_to?(:lchmod))
|
||||
- end
|
||||
- end
|
||||
-
|
||||
- def test_call_fork
|
||||
- GC.start
|
||||
- pid = nil
|
||||
- ps =
|
||||
- case RUBY_PLATFORM
|
||||
- when /linux/ # assume Linux Distribution uses procps
|
||||
- proc {`ps -eLf #{pid}`}
|
||||
- when /freebsd/
|
||||
- proc {`ps -lH #{pid}`}
|
||||
- when /darwin/
|
||||
- proc {`ps -lM #{pid}`}
|
||||
- else
|
||||
- proc {`ps -l #{pid}`}
|
||||
- end
|
||||
- assert_nothing_raised(Timeout::Error, ps) do
|
||||
- Timeout.timeout(EnvUtil.apply_timeout_scale(5)) {
|
||||
- pid = fork {}
|
||||
- Process.wait pid
|
||||
- pid = nil
|
||||
- }
|
||||
- end
|
||||
- ensure
|
||||
- if pid
|
||||
- Process.kill(:KILL, pid)
|
||||
- Process.wait pid
|
||||
- end
|
||||
- end if Process.respond_to?(:fork)
|
||||
-
|
||||
- def test_call_lchmod
|
||||
- if File.respond_to?(:lchmod)
|
||||
- Dir.mktmpdir {|d|
|
||||
- f = "#{d}/f"
|
||||
- g = "#{d}/g"
|
||||
- File.open(f, "w") {}
|
||||
- File.symlink f, g
|
||||
- newmode = 0444
|
||||
- begin
|
||||
- File.lchmod newmode, "#{d}/g"
|
||||
- rescue Errno::EOPNOTSUPP
|
||||
- skip $!
|
||||
- else
|
||||
- snew = File.lstat(g)
|
||||
- assert_equal(newmode, snew.mode & 0777)
|
||||
- end
|
||||
- }
|
||||
- end
|
||||
- end
|
||||
-
|
||||
- def test_method_inspect_fork
|
||||
- m = Process.method(:fork)
|
||||
- if Process.respond_to?(:fork)
|
||||
- assert_not_match(/not-implemented/, m.inspect)
|
||||
- else
|
||||
- assert_match(/not-implemented/, m.inspect)
|
||||
- end
|
||||
- end
|
||||
-
|
||||
- def test_method_inspect_lchmod
|
||||
- m = File.method(:lchmod)
|
||||
- if File.respond_to?(:lchmod)
|
||||
- assert_not_match(/not-implemented/, m.inspect)
|
||||
- else
|
||||
- assert_match(/not-implemented/, m.inspect)
|
||||
- end
|
||||
- end
|
||||
-
|
||||
-end
|
||||
--
|
||||
2.26.2
|
||||
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
From 9b7cb6a40d73bb86ee0de34360068e90e80f4e7e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||
Date: Thu, 7 Sep 2023 13:13:02 +0200
|
||||
Subject: [PATCH] Disable syntax-suggest test case.
|
||||
|
||||
This requires internet connection.
|
||||
---
|
||||
common.mk | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/common.mk b/common.mk
|
||||
index dae7d9dc00..111e859d1b 100644
|
||||
--- a/common.mk
|
||||
+++ b/common.mk
|
||||
@@ -1619,8 +1619,6 @@ no-test-bundled-gems-spec:
|
||||
|
||||
test-syntax-suggest:
|
||||
|
||||
-check: $(DOT_WAIT) $(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest
|
||||
-
|
||||
test-bundler-precheck: $(TEST_RUNNABLE)-test-bundler-precheck
|
||||
no-test-bundler-precheck:
|
||||
yes-test-bundler-precheck: main $(arch)-fake.rb
|
||||
|
|
@ -1,117 +0,0 @@
|
|||
From 1cfb11bc8d01e4fc1ff47807721e29b250f0f19f Mon Sep 17 00:00:00 2001
|
||||
From: Jarek Prokop <jprokop@redhat.com>
|
||||
Date: Mon, 22 Dec 2025 10:13:34 +0100
|
||||
Subject: [PATCH] Support customizable rustc_flags for rustc builds.
|
||||
|
||||
Add `rustc_flags` option for configure that appends to RUSTC_FLAGS
|
||||
flags used when compiling with rustc for customizable build flags.
|
||||
It appends to existing defaults in RUSTC_FLAGS.
|
||||
|
||||
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
|
||||
---
|
||||
common.mk | 10 ++--------
|
||||
configure.ac | 8 ++++++++
|
||||
defs/jit.mk | 2 ++
|
||||
template/Makefile.in | 1 +
|
||||
4 files changed, 13 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/common.mk b/common.mk
|
||||
index 08fee9119a..9ac5ae919f 100644
|
||||
--- a/common.mk
|
||||
+++ b/common.mk
|
||||
@@ -270,21 +270,15 @@ MAKE_LINK = $(MINIRUBY) -rfileutils -e "include FileUtils::Verbose" \
|
||||
# For release builds
|
||||
YJIT_RUSTC_ARGS = --crate-name=yjit \
|
||||
$(JIT_RUST_FLAGS) \
|
||||
+ $(RUSTC_FLAGS) \
|
||||
--edition=2021 \
|
||||
- -g \
|
||||
- -C lto=thin \
|
||||
- -C opt-level=3 \
|
||||
- -C overflow-checks=on \
|
||||
'--out-dir=$(CARGO_TARGET_DIR)/release/' \
|
||||
'$(top_srcdir)/yjit/src/lib.rs'
|
||||
|
||||
ZJIT_RUSTC_ARGS = --crate-name=zjit \
|
||||
$(JIT_RUST_FLAGS) \
|
||||
+ $(RUSTC_FLAGS) \
|
||||
--edition=2024 \
|
||||
- -g \
|
||||
- -C lto=thin \
|
||||
- -C opt-level=3 \
|
||||
- -C overflow-checks=on \
|
||||
'--out-dir=$(CARGO_TARGET_DIR)/release/' \
|
||||
'$(top_srcdir)/zjit/src/lib.rs'
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 2bbce78fd0..a3aa6dc383 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -69,6 +69,7 @@ dnl 93(bright yellow) is copied from .github/workflows/mingw.yml
|
||||
AC_ARG_VAR([cflags], [additional CFLAGS (ignored when CFLAGS is given)])dnl
|
||||
AC_ARG_VAR([cppflags], [additional CPPFLAGS (ignored when CPPFLAGS is given)])dnl
|
||||
AC_ARG_VAR([cxxflags], [additional CXXFLAGS (ignored when CXXFLAGS is given)])dnl
|
||||
+AC_ARG_VAR([rustc_flags], [additional RUSTC_FLAGS])dnl
|
||||
|
||||
[begin]_group "environment section" && {
|
||||
HAVE_BASERUBY=yes
|
||||
@@ -4054,6 +4055,11 @@ AS_CASE(["${ZJIT_SUPPORT}"],
|
||||
AC_DEFINE(USE_ZJIT, 0)
|
||||
])
|
||||
|
||||
+RUSTC_FLAGS='-g -C lto=thin -C opt-level=3 -C overflow-checks=on'
|
||||
+AS_IF([test -n "${rustc_flags}"], [
|
||||
+ RUSTC_FLAGS="${RUSTC_FLAGS} ${rustc_flags}"
|
||||
+])
|
||||
+
|
||||
JIT_RUST_FLAGS='--crate-type=staticlib --cfg feature=\"stats_allocator\"'
|
||||
RLIB_DIR=
|
||||
AS_CASE(["$JIT_CARGO_SUPPORT:$YJIT_SUPPORT:$ZJIT_SUPPORT"],
|
||||
@@ -4111,6 +4117,7 @@ AS_IF([test -n "$RUST_LIB"], [
|
||||
dnl These variables end up in ::RbConfig::CONFIG
|
||||
AC_SUBST(RUSTC)dnl Rust compiler command
|
||||
AC_SUBST(JIT_RUST_FLAGS)dnl the common rustc flags for JIT crates such as zjit
|
||||
+AC_SUBST(RUSTC_FLAGS)dnl user-configurable rustc compiler flags
|
||||
AC_SUBST(CARGO)dnl Cargo command for Rust builds
|
||||
AC_SUBST(CARGO_BUILD_ARGS)dnl for selecting Rust build profiles
|
||||
AC_SUBST(YJIT_SUPPORT)dnl what flavor of YJIT the Ruby build includes
|
||||
@@ -4855,6 +4862,7 @@ config_summary "strip command" "$STRIP"
|
||||
config_summary "install doc" "$DOCTARGETS"
|
||||
config_summary "YJIT support" "$YJIT_SUPPORT"
|
||||
config_summary "ZJIT support" "$ZJIT_SUPPORT"
|
||||
+config_summary "RUSTC_FLAGS" "$RUSTC_FLAGS"
|
||||
config_summary "man page type" "$MANTYPE"
|
||||
config_summary "search path" "$search_path"
|
||||
config_summary "static-linked-ext" ${EXTSTATIC:+"yes"}
|
||||
diff --git a/defs/jit.mk b/defs/jit.mk
|
||||
index 42b56c4cd9..27b14e7a07 100644
|
||||
--- a/defs/jit.mk
|
||||
+++ b/defs/jit.mk
|
||||
@@ -40,6 +40,7 @@ else ifneq ($(strip $(RLIB_DIR)),) # combo build
|
||||
$(RUST_LIB): $(srcdir)/ruby.rs
|
||||
$(ECHO) 'building $(@F)'
|
||||
$(gnumake_recursive)$(Q) $(RUSTC) --edition=2024 \
|
||||
+ $(RUSTC_FLAGS) \
|
||||
'-L$(@D)' \
|
||||
--extern=yjit \
|
||||
--extern=zjit \
|
||||
@@ -58,6 +59,7 @@ $(JIT_RLIB):
|
||||
$(gnumake_recursive)$(Q) $(RUSTC) --crate-name=jit \
|
||||
--edition=2024 \
|
||||
$(JIT_RUST_FLAGS) \
|
||||
+ $(RUSTC_FLAGS) \
|
||||
'--out-dir=$(@D)' \
|
||||
'$(top_srcdir)/jit/src/lib.rs'
|
||||
endif # ifneq ($(JIT_CARGO_SUPPORT),no)
|
||||
diff --git a/template/Makefile.in b/template/Makefile.in
|
||||
index 443c394cb4..0b7b50e3aa 100644
|
||||
--- a/template/Makefile.in
|
||||
+++ b/template/Makefile.in
|
||||
@@ -115,6 +115,7 @@ CARGO_TARGET_DIR=@abs_top_builddir@/target
|
||||
CARGO_BUILD_ARGS=@CARGO_BUILD_ARGS@
|
||||
ZJIT_TEST_FEATURES=@ZJIT_TEST_FEATURES@
|
||||
JIT_RUST_FLAGS=@JIT_RUST_FLAGS@
|
||||
+RUSTC_FLAGS=@RUSTC_FLAGS@
|
||||
RLIB_DIR=@RLIB_DIR@
|
||||
RUST_LIB=@RUST_LIB@
|
||||
RUST_LIBOBJ = $(RUST_LIB:.a=.@OBJEXT@)
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
# Keep matching patterns enough not to hide unintended errors and warnings.
|
||||
|
||||
# There is no way to implement this with `%{SOURCE0}` without `%{_sourcedir}`.
|
||||
# The order in the .spec file could be possibly different.
|
||||
addFilter(r'ruby\.(spec|src):20: E: use-of-RPM_SOURCE_DIR$')
|
||||
|
||||
# The used version is not obvious.
|
||||
addFilter(r'ruby\.(spec|src):\d+: W: unversioned-explicit-provides bundled\(ccan-build_assert\)$')
|
||||
addFilter(r'ruby\.(spec|src):\d+: W: unversioned-explicit-provides bundled\(ccan-check_type\)$')
|
||||
addFilter(r'ruby\.(spec|src):\d+: W: unversioned-explicit-provides bundled\(ccan-container_of\)$')
|
||||
addFilter(r'ruby\.(spec|src):\d+: W: unversioned-explicit-provides bundled\(ccan-list\)$')
|
||||
|
||||
# The template files do not have to have executable bits.
|
||||
addFilter(r'^rubygem-bundler\.noarch: E: non-executable-script /usr/share/gems/gems/bundler-[\d\.]+/lib/bundler/templates/[\w/\.]+ 644 /usr/bin/env ')
|
||||
|
||||
# Samples don't really need executable bits.
|
||||
addFilter(r'^rubygem-bigdecimal\.x86_64: E: non-executable-script /usr/share/gems/gems/bigdecimal-[\d\.]+/sample/\w+.rb 644 /usr/local/bin/ruby$')
|
||||
|
||||
# The bundled gem files permissions are overridden as 644 by `make install`.
|
||||
# https://bugs.ruby-lang.org/issues/17840
|
||||
# https://github.com/rubygems/rubygems/issues/5255
|
||||
addFilter(r'^.*: E: non-executable-script /usr/share/gems/gems/(abbrev|getoptlong|nkf|observer|resolv|resolv-replace|rinda|syslog)-[\d\.]+/bin/\w+ 644 ')
|
||||
|
||||
# Ruby provides API to set the cipher list.
|
||||
addFilter(r'^ruby-libs\.\w+: W: crypto-policy-non-compliance-openssl /usr/lib(64)?/ruby/openssl.so SSL_CTX_set_cipher_list$')
|
||||
|
||||
# `gethostbyname` is part of deprecated Ruby API. There is also request to drop the API altogether:
|
||||
# https://bugs.ruby-lang.org/issues/13097
|
||||
# https://bugs.ruby-lang.org/issues/17944
|
||||
addFilter(r'^ruby-libs\.\w+: W: binary-or-shlib-calls-gethostbyname /usr/lib(64)?/ruby/socket.so$')
|
||||
|
||||
# Rake ships some examples.
|
||||
addFilter(r'^rubygem-rake.noarch: W: devel-file-in-non-devel-package /usr/share/gems/gems/rake-[\d\.]+/doc/example/\w+.c$')
|
||||
|
||||
# Some executables don't have their manual pages. Is it worth of use help2man?
|
||||
addFilter(r'^.+: W: no-manual-page-for-binary (bundler|gem|racc|rbs|rdbg|rdoc|ruby-mri|syntax_suggest|typeprof)$')
|
||||
|
||||
# Default gems does not come with any documentation.
|
||||
addFilter(r'^rubygem-(bigdecimal|io-console|json|psych)\.\w+: W: no-documentation$')
|
||||
|
||||
# rubygems-devel ships only RPM macros and generators. Their placement is given
|
||||
# by RPM and can't be modified.
|
||||
addFilter(r'rubygems-devel.noarch: W: only-non-binary-in-usr-lib$')
|
||||
|
||||
# Ignore some spelling false positives.
|
||||
# Ignore spelling of technical terms
|
||||
addFilter(r'^ruby-default-gems.noarch: E: spelling-error \(\'gemspec\'')
|
||||
addFilter(r'^ruby-libs.x86_64: E: spelling-error \(\'libruby\'')
|
||||
addFilter(r'^rubygem-test-unit.noarch: E: spelling-error \(\'xUnit\'')
|
||||
addFilter(r'^rubygem-psych.x86_64: E: spelling-error \(\'libyaml\'')
|
||||
addFilter(r'^rubygem-io-console.x86_64: E: spelling-error \(\'readline\'')
|
||||
# `pyaml` is part of URL
|
||||
addFilter(r'^rubygem-psych.x86_64: E: spelling-error \(\'pyyaml\'')
|
||||
# `de-` is actually prefix
|
||||
addFilter(r'^rubygem-psych.x86_64: E: spelling-error \(\'de\'')
|
||||
|
||||
# It does not seemt to be worth of changing rubygems to archful package due to
|
||||
# single directory, unless it causes some real troubles.
|
||||
addFilter(r'^rubygems.noarch: E: noarch-with-lib64$')
|
||||
|
|
@ -19,7 +19,7 @@ module RubyGemsReq
|
|||
end
|
||||
|
||||
# Report conflicting gem dependencies including their version.
|
||||
def self.gem_dependencies(specification)
|
||||
def self.gem_depenencies(specification)
|
||||
specification.runtime_dependencies.each do |dependency|
|
||||
conflict_strings = Helpers::requirement_versions_to_rpm(dependency.requirement).map do |requirement|
|
||||
requirement_string = "rubygem(#{dependency.name}) #{requirement}"
|
||||
|
|
@ -39,7 +39,7 @@ module RubyGemsReq
|
|||
begin
|
||||
specification = Gem::Specification.load filename
|
||||
|
||||
gem_dependencies(specification)
|
||||
gem_depenencies(specification)
|
||||
rescue => e
|
||||
# Ignore all errors.
|
||||
end
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ module RubyGemsProv
|
|||
def self.normalize_prerelease(version)
|
||||
if version.prerelease?
|
||||
prerelease = version.version.sub /^#{version.release}\./, ''
|
||||
"#{version.release}~#{prerelease}"
|
||||
"#{version.release}-0.1.#{prerelease}"
|
||||
else
|
||||
version.release
|
||||
"#{version.release}-1"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
36
rubygems.req
36
rubygems.req
|
|
@ -35,35 +35,31 @@ module RubyGemsReq
|
|||
# with RPM .spec file.
|
||||
def self.requirement_versions_to_rpm(requirement)
|
||||
self.expand_requirement(requirement.requirements).map do |op, version|
|
||||
version == Gem::Version.new(0) ? "" : " #{op} #{version}"
|
||||
version == Gem::Version.new(0) ? "" : "#{op} #{version}"
|
||||
end
|
||||
end
|
||||
|
||||
# Compose dependency together with its requirements in RPM rich dependency
|
||||
# string.
|
||||
def self.compose_dependency_string(name, requirements)
|
||||
dependency_strings = requirements.map { |requirement| name + requirement }
|
||||
dependency_string = dependency_strings.join(' with ')
|
||||
dependency_string.prepend('(').concat(')') if dependency_strings.length > 1
|
||||
dependency_string
|
||||
end
|
||||
end
|
||||
|
||||
# Report RubyGems dependency, versioned if required.
|
||||
def self.rubygems_dependency(specification)
|
||||
dependency_name = "ruby(rubygems)"
|
||||
requirements = Helpers::requirement_versions_to_rpm(specification.required_rubygems_version)
|
||||
|
||||
puts Helpers::compose_dependency_string(dependency_name, requirements)
|
||||
Helpers::requirement_versions_to_rpm(specification.required_rubygems_version).each do |requirement|
|
||||
dependency_string = "ruby(rubygems)"
|
||||
dependency_string += " #{specification.required_rubygems_version}" if requirement&.length > 0
|
||||
puts dependency_string
|
||||
end
|
||||
end
|
||||
|
||||
# Report all gem dependencies including their version.
|
||||
def self.gem_dependencies(specification)
|
||||
def self.gem_depenencies(specification)
|
||||
specification.runtime_dependencies.each do |dependency|
|
||||
dependency_name = "rubygem(#{dependency.name})"
|
||||
requirements = Helpers::requirement_versions_to_rpm(dependency.requirement)
|
||||
|
||||
puts Helpers::compose_dependency_string(dependency_name, requirements)
|
||||
dependency_strings = Helpers::requirement_versions_to_rpm(dependency.requirement).map do |requirement|
|
||||
requirement_string = "rubygem(#{dependency.name})"
|
||||
requirement_string += " #{requirement}" if requirement&.length > 0
|
||||
requirement_string
|
||||
end
|
||||
dependency_string = dependency_strings.join(' with ')
|
||||
dependency_string.prepend('(').concat(')') if dependency_strings.length > 1
|
||||
puts dependency_string
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -75,7 +71,7 @@ module RubyGemsReq
|
|||
specification = Gem::Specification.load filename
|
||||
|
||||
rubygems_dependency(specification)
|
||||
gem_dependencies(specification)
|
||||
gem_depenencies(specification)
|
||||
rescue => e
|
||||
# Ignore all errors.
|
||||
end
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (ruby-4.0.1.tar.xz) = b67d9d1f97ba30200d103f8454e39dc2d0450819d51d91eb5451d44b0bafc56d2fa48bb1be6c5081babe5828f679984bad02b9bcee7441f6bd34c0a95b8f200b
|
||||
SHA512 (ruby-2.5.8.tar.xz) = 2886be764a454425c5beef2777c64a70ee0d048b07896b327633d904f5077fea4299526689f9e2ac4dcd2fc4811cf9a6c8ce75367ed35d29dfe1a54222872e0d
|
||||
|
|
|
|||
|
|
@ -1,34 +0,0 @@
|
|||
require 'openssl'
|
||||
|
||||
# Run openssl tests in OpenSSL FIPS. See the link below for how to test.
|
||||
# https://github.com/ruby/openssl/blob/master/.github/workflows/test.yml
|
||||
# - step name: test on fips module
|
||||
|
||||
# Listing the testing files by an array explicitly rather than the `Dir.glob`
|
||||
# to prevent the test files from not loading unintentionally.
|
||||
TEST_FILES = %w[
|
||||
test/openssl/test_fips.rb
|
||||
test/openssl/test_pkey.rb
|
||||
].freeze
|
||||
|
||||
if ARGV.empty?
|
||||
puts 'ERROR: Argument base_dir required.'
|
||||
puts "Usage: #{__FILE__} base_dir [options]"
|
||||
exit false
|
||||
end
|
||||
BASE_DIR = ARGV[0]
|
||||
abs_test_files = TEST_FILES.map { |file| File.join(BASE_DIR, file) }
|
||||
|
||||
# Set Fedora/RHEL downstream OpenSSL downstream environment variable to enable
|
||||
# FIPS module in non-FIPS OS environment. It is available in Fedora 38 or later
|
||||
# versions.
|
||||
# https://src.fedoraproject.org/rpms/openssl/blob/rawhide/f/0009-Add-Kernel-FIPS-mode-flag-support.patch
|
||||
ENV['OPENSSL_FORCE_FIPS_MODE'] = '1'
|
||||
# A flag to tell the tests the current environment is FIPS enabled.
|
||||
# https://github.com/ruby/openssl/blob/master/test/openssl/test_fips.rb
|
||||
ENV['TEST_RUBY_OPENSSL_FIPS_ENABLED'] = 'true'
|
||||
|
||||
abs_test_files.each do |file|
|
||||
puts "INFO: Loading #{file}."
|
||||
require file
|
||||
end
|
||||
|
|
@ -1,124 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'test/unit'
|
||||
require 'rpm_test_helper'
|
||||
|
||||
class TestRubyGemsCon < Test::Unit::TestCase
|
||||
include RPMTestHelper
|
||||
|
||||
def test_filter_out_regular_requirements
|
||||
gem_i = GemInfo.new
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(0, lines.size)
|
||||
|
||||
deps = [ Dependency.new('bar') ]
|
||||
gem_i.dependencies = deps
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(0, lines.size)
|
||||
|
||||
deps = [
|
||||
Dependency.new('bar'),
|
||||
Dependency.new('baq'),
|
||||
Dependency.new('quz')
|
||||
]
|
||||
|
||||
gem_i.dependencies = deps
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(0, lines.size)
|
||||
|
||||
deps = [
|
||||
Dependency.new('bar', ['>= 4.1']),
|
||||
Dependency.new('baz', ['~> 3.2']),
|
||||
Dependency.new('quz', ['>= 5.6'])
|
||||
]
|
||||
|
||||
gem_i.dependencies = deps
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(0, lines.size)
|
||||
end
|
||||
|
||||
def test_single_gem_single_version_conflict
|
||||
con = Dependency.new('bar', ['!= 0.4.4'])
|
||||
|
||||
gem_i = GemInfo.new(dependencies: [ con ])
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(1, lines.size)
|
||||
assert_equal("#{con.to_rpm_str} = 0.4.4\n", lines.first)
|
||||
end
|
||||
|
||||
def test_multiple_gems_with_single_conflict
|
||||
cons = [
|
||||
Dependency.new('bar', ['!= 1.1']),
|
||||
Dependency.new('baq', ['!= 1.2.2']),
|
||||
Dependency.new('quz', ['!= 1.3'])
|
||||
]
|
||||
|
||||
gem_i = GemInfo.new(dependencies: cons)
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(3, lines.size)
|
||||
|
||||
assert_equal("#{cons[0].to_rpm_str} = 1.1\n" , lines[0])
|
||||
assert_equal("#{cons[1].to_rpm_str} = 1.2.2\n", lines[1])
|
||||
assert_equal("#{cons[2].to_rpm_str} = 1.3\n" , lines[2])
|
||||
end
|
||||
|
||||
def test_multiple_conflicts_on_single_gem
|
||||
con = Dependency.new('bar', ['!= 2.3', '!= 2.4'])
|
||||
|
||||
gem_i = GemInfo.new(dependencies: [con])
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(1, lines.size)
|
||||
rpm_name = con.to_rpm_str
|
||||
left_rpm_constraint = "(#{rpm_name} = 2.3 with "
|
||||
right_rpm_constraint = "#{rpm_name} = 2.4)\n"
|
||||
assert_equal((left_rpm_constraint + right_rpm_constraint), lines[0])
|
||||
|
||||
con = Dependency.new('bar', ['!= 2.3', '!= 2.4', '!= 4.5'])
|
||||
|
||||
gem_i = GemInfo.new(dependencies: [ con ])
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(1, lines.size)
|
||||
|
||||
rpm_name = con.to_rpm_str
|
||||
left_rpm_constraint = "(#{rpm_name} = 2.3 with "
|
||||
middle_rpm_constraint = "#{rpm_name} = 2.4 with "
|
||||
right_rpm_constraint = "#{rpm_name} = 4.5)\n"
|
||||
|
||||
assert_equal((left_rpm_constraint + middle_rpm_constraint + right_rpm_constraint), lines[0])
|
||||
end
|
||||
|
||||
def test_generates_conflicts_while_ignoring_regular_requirements
|
||||
deps = [
|
||||
Dependency.new('bar', ['>= 2.3', '!= 2.4.2']),
|
||||
Dependency.new('quz', ['~> 3.0', '!= 3.2'])
|
||||
]
|
||||
|
||||
gem_i = GemInfo.new(dependencies: deps)
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(2, lines.size)
|
||||
|
||||
rpm_name = deps[0].to_rpm_str
|
||||
rpm_constraint = "#{rpm_name} = 2.4.2\n"
|
||||
assert_equal(rpm_constraint, lines[0])
|
||||
|
||||
rpm_name = deps[1].to_rpm_str
|
||||
rpm_constraint = "#{rpm_name} = 3.2\n"
|
||||
assert_equal(rpm_constraint, lines[1])
|
||||
end
|
||||
end
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'test/unit'
|
||||
require 'rpm_test_helper'
|
||||
|
||||
class TestRubyGemsProv < Test::Unit::TestCase
|
||||
include RPMTestHelper
|
||||
|
||||
def test_provides_the_gem_version
|
||||
gem_i = GemInfo.new(version: '1.2')
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(1, lines.size)
|
||||
assert_equal("#{gem_i.to_rpm_str} = #{gem_i.version}\n", lines.first)
|
||||
|
||||
gem_i = GemInfo.new(name: 'somegem_foo', version: '4.5.6')
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(1, lines.size)
|
||||
assert_equal("#{gem_i.to_rpm_str} = #{gem_i.version}\n", lines.first)
|
||||
|
||||
deps = [
|
||||
Dependency.new('bar'),
|
||||
Dependency.new('baq', [">= 1.2"]),
|
||||
Dependency.new('quz', ["!= 3.2"])
|
||||
]
|
||||
gem_i = GemInfo.new(dependencies: deps)
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(1, lines.size)
|
||||
assert_equal("#{gem_i.to_rpm_str} = #{gem_i.version}\n", lines.first)
|
||||
end
|
||||
|
||||
def test_translates_prelease_version_provides_from_rubygems_to_rpm
|
||||
gem_i = GemInfo.new(version: '1.2.3.dev')
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(1, lines.size)
|
||||
assert_equal("#{gem_i.to_rpm_str} = 1.2.3~dev\n", lines.first)
|
||||
|
||||
gem_i = GemInfo.new(name: 'foo2', version: '1.2.3.dev.2')
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(1, lines.size)
|
||||
assert_equal("#{gem_i.to_rpm_str} = 1.2.3~dev.2\n", lines.first)
|
||||
end
|
||||
end
|
||||
|
|
@ -1,205 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'test/unit'
|
||||
require 'rpm_test_helper'
|
||||
|
||||
class TestRubyGemsReq < Test::Unit::TestCase
|
||||
include RPMTestHelper
|
||||
|
||||
def test_depends_on_rubygems
|
||||
gem_i = GemInfo.new
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(1, lines.size)
|
||||
assert_equal("#{helper_rubygems_dependency}\n", lines.first)
|
||||
end
|
||||
|
||||
def test_requires_rubygems_and_dependency
|
||||
dep = Dependency.new('bar')
|
||||
gem_i = GemInfo.new(dependencies: [dep])
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(2, lines.size)
|
||||
assert_equal("#{helper_rubygems_dependency}\n", lines.first)
|
||||
assert_equal("#{dep.to_rpm_str}\n", lines[1])
|
||||
end
|
||||
|
||||
def test_requires_multiple_dependencies_with_constraint
|
||||
constraints = [
|
||||
'>= 3.0',
|
||||
'>= 3.0.0',
|
||||
'>= 3',
|
||||
'= 1.0.2',
|
||||
'= 3.0',
|
||||
'< 3.2',
|
||||
'<= 3.4'
|
||||
]
|
||||
|
||||
dependencies = []
|
||||
constraints.each_with_index do |constraint, idx|
|
||||
dependencies << Dependency.new("bar#{idx}", [constraint])
|
||||
end
|
||||
|
||||
gem_i = GemInfo.new(dependencies: dependencies)
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
# + 1 for the rubygems dependency
|
||||
assert_equal(constraints.size + 1, lines.size)
|
||||
dependencies.each_with_index do |dep, idx|
|
||||
rpm_dep_name = dep.to_rpm_str
|
||||
# Start indexing lines at 1, to jump over rubygems dependency
|
||||
assert_equal("#{rpm_dep_name} #{constraints[idx]}\n", lines[idx + 1])
|
||||
end
|
||||
end
|
||||
|
||||
def test_expands_pessimistic_constraint_for_rpm
|
||||
dep = Dependency.new('bar', ['~> 1.2'])
|
||||
|
||||
gem_i = GemInfo.new(dependencies: [dep])
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(2, lines.size)
|
||||
|
||||
rpm_dep_name = dep.to_rpm_str
|
||||
left_constraint = "#{rpm_dep_name} >= 1.2"
|
||||
right_constraint = "#{rpm_dep_name} < 2"
|
||||
expected_constraint = "(#{left_constraint} with #{right_constraint})\n"
|
||||
assert_equal(expected_constraint, lines[1])
|
||||
end
|
||||
|
||||
def test_multiple_pessimistically_constrained_dependencies
|
||||
dependencies = []
|
||||
dep_map = [
|
||||
{
|
||||
constraint: '~> 1.2.3',
|
||||
expanded_left: '>= 1.2.3',
|
||||
expanded_rigth: '< 1.3',
|
||||
gem_name: 'bar1'
|
||||
},
|
||||
{
|
||||
constraint: '~> 1.2',
|
||||
expanded_left: '>= 1.2',
|
||||
expanded_rigth: '< 2',
|
||||
gem_name: 'bar2'
|
||||
},
|
||||
{
|
||||
constraint: '~> 3',
|
||||
expanded_left: '>= 3',
|
||||
expanded_rigth: '< 4',
|
||||
gem_name: 'bar3'
|
||||
}
|
||||
].each do |deps|
|
||||
dependencies << Dependency.new(deps[:gem_name], [deps[:constraint]])
|
||||
end
|
||||
|
||||
gem_i = GemInfo.new(dependencies: dependencies)
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(dep_map.size + 1, lines.size)
|
||||
|
||||
dep_map.each_with_index do |hash, idx|
|
||||
rpm_dep_name = dependencies[idx].to_rpm_str
|
||||
left_constraint = rpm_dep_name + ' ' + hash[:expanded_left]
|
||||
right_constraint = rpm_dep_name + ' ' + hash[:expanded_rigth]
|
||||
expected_constraint = "(#{left_constraint} with #{right_constraint})\n"
|
||||
assert_equal(expected_constraint, lines[idx + 1])
|
||||
end
|
||||
end
|
||||
|
||||
def test_multiple_constraints_on_one_dependency_composes_constraints_for_RPM
|
||||
# The quoting here depends on how the constraint is expanded in the helpers.
|
||||
# right now the form is `["#{constraint}"]`, therefore we have to not specify
|
||||
# left and right quotes.
|
||||
constraints = ['>= 0.2.3', '<= 0.2.5']
|
||||
dep = Dependency.new('baz', constraints)
|
||||
|
||||
gem_i = GemInfo.new(dependencies: [dep])
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(2, lines.size)
|
||||
rpm_dep_name = dep.to_rpm_str
|
||||
assert_equal("(#{rpm_dep_name} >= 0.2.3 with #{rpm_dep_name} <= 0.2.5)\n", lines[1])
|
||||
|
||||
# Not sure who would compose a dependency like this, but it's possible
|
||||
# to do with the current generator
|
||||
constraints = ['> 0.4.5', '< 0.6.4', '>= 2.3', '<= 2.5.3']
|
||||
dep = Dependency.new('qux', constraints)
|
||||
|
||||
gem_i = GemInfo.new(dependencies: [dep])
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
rpm_dep = dep.to_rpm_str
|
||||
expected_str = "(#{rpm_dep} > 0.4.5 with #{rpm_dep} < 0.6.4 with " \
|
||||
"#{rpm_dep} >= 2.3 with #{rpm_dep} <= 2.5.3)\n"
|
||||
|
||||
assert_equal(2, lines.size)
|
||||
assert_equal(expected_str, lines[1])
|
||||
end
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1561487
|
||||
def test_depends_on_gem_with_version_conflict
|
||||
dep = Dependency.new('baz', ['!= 0.4'])
|
||||
|
||||
gem_i = GemInfo.new(dependencies: [dep])
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(2, lines.size)
|
||||
assert_equal("#{dep.to_rpm_str}\n", lines[1])
|
||||
end
|
||||
|
||||
def test_filters_conflict_from_regular_version_constraints
|
||||
constraint = ['> 1.2.4', '!= 1.2.7']
|
||||
dep = Dependency.new('baq', constraint)
|
||||
|
||||
gem_i = GemInfo.new(dependencies: [dep])
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(2, lines.size)
|
||||
assert_equal("#{dep.to_rpm_str} > 1.2.4\n", lines[1])
|
||||
end
|
||||
|
||||
def test_filtering_conflicts_is_not_depending_on_contraint_ordering
|
||||
constraints = ['!= 1.2.7', '> 1.2.4']
|
||||
dep = Dependency.new('baq', constraints)
|
||||
|
||||
gem_i = GemInfo.new(dependencies: [dep])
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(2, lines.size)
|
||||
assert_equal("#{dep.to_rpm_str} > 1.2.4\n", lines[1])
|
||||
end
|
||||
|
||||
def test_filters_multiple_conflicts_from_dependency
|
||||
omit "Case not yet supported."
|
||||
constraints = ['!= 1.2.4', '!= 1.2.5', '!= 2.3', '!= 4.8']
|
||||
dep = Dependency.new('baf', constraints)
|
||||
|
||||
gem_i = GemInfo.new(dependencies: [dep])
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(2, lines.size)
|
||||
assert_equal("#{dep.to_rpm_str}\n", lines[1])
|
||||
end
|
||||
|
||||
def test_filters_multiple_conflicts_from_dependency_but_keeps_regular_constraint
|
||||
constraints = ['!= 1.2.4', '!= 1.2.5', '!= 2.3', '<= 4.8']
|
||||
dep = Dependency.new('bam', constraints)
|
||||
|
||||
gem_i = GemInfo.new(dependencies: [dep])
|
||||
|
||||
lines = run_generator_single_file(gem_i)
|
||||
|
||||
assert_equal(2, lines.size)
|
||||
assert_equal("#{dep.to_rpm_str} <= 4.8\n", lines[1])
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue