Compare commits
31 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e4003d32d | ||
|
|
d96fa24231 | ||
|
|
421aca0243 | ||
|
|
9dc3880e15 | ||
|
|
3deb1a7064 | ||
|
|
4ae38aeaca | ||
|
|
f181990447 | ||
|
|
da1ce52ba2 | ||
|
|
d9386b9177 | ||
|
|
cf5ca2d739 | ||
|
|
0937400645 | ||
|
|
302d85f8c4 | ||
|
|
0dc319185b | ||
|
|
c7ee33ec57 | ||
|
|
9eb95a29a8 | ||
|
|
4f22f48ab4 | ||
|
|
2e4742a04a | ||
|
|
634b956b77 | ||
|
|
03f7c46798 | ||
|
|
e19d9442c8 | ||
|
|
3ad844443d | ||
|
|
70bbbb78c2 | ||
|
|
290f2e2e78 | ||
| 04e86d73e8 | |||
|
|
366607586d | ||
|
|
4490edd12d | ||
|
|
18b94f7548 | ||
|
|
483842ba5f | ||
|
|
540ac6b436 | ||
|
|
1f105e45e7 | ||
|
|
c25bc8c3e4 |
10 changed files with 288 additions and 390 deletions
37
.gitignore
vendored
37
.gitignore
vendored
|
|
@ -1,36 +1 @@
|
|||
rubygems-1.3.7.tgz
|
||||
/rubygems-1.5.0.tgz
|
||||
/rubygems-1.5.2.tgz
|
||||
/rubygems-1.5.3.tgz
|
||||
/rubygems-1.6.0.tgz
|
||||
/rubygems-1.6.1.tgz
|
||||
/rubygems-1.6.2.tgz
|
||||
/rubygems-1.7.2.tgz
|
||||
/rubygems-1.8.5.tgz
|
||||
/rubygems-1.8.6.tgz
|
||||
/rubygems-1.8.7.tgz
|
||||
/rubygems-1.8.8.tgz
|
||||
/rubygems-1.8.9.tgz
|
||||
/rubygems-1.8.10.tgz
|
||||
/rubygems-1.8.11.tgz
|
||||
/rubygems-1.8.15.tgz
|
||||
/rubygems-1.8.22.tgz
|
||||
/rubygems-1.8.23.tgz
|
||||
/rubygems-1.8.24.tgz
|
||||
/rubygems-1.8.25.tgz
|
||||
/rubygems-2.0.0.tgz
|
||||
/rubygems-2.0.3.tgz
|
||||
/rubygems-2.0.5.tgz
|
||||
/rubygems-2.0.6.tgz
|
||||
/rubygems-2.0.7.tgz
|
||||
/rubygems-2.0.8.tgz
|
||||
/rubygems-2.0.9.tgz
|
||||
/rubygems-2.0.10.tgz
|
||||
/rubygems-2.0.11.tgz
|
||||
/rubygems-2.0.12.tgz
|
||||
/rubygems-2.1.9.tgz
|
||||
/rubygems-2.1.10.tgz
|
||||
/rubygems-2.1.11.tgz
|
||||
/rubygems-2.2.2.tgz
|
||||
/rubygems-2.4.8.tgz
|
||||
/rubygems-2.6.10.tgz
|
||||
/rubygems-*.tgz
|
||||
|
|
|
|||
130
macros.rubygems
130
macros.rubygems
|
|
@ -1,130 +0,0 @@
|
|||
# The RubyGems root folder.
|
||||
%gem_dir %{_datadir}/gems
|
||||
%gem_archdir %{_libdir}/gems
|
||||
|
||||
# Common gem locations and files.
|
||||
%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.
|
||||
#
|
||||
# Usage: %gem_install [options]
|
||||
#
|
||||
# -n <gem_file> Overrides gem file name for installation.
|
||||
# -d <install_dir> Set installation directory.
|
||||
#
|
||||
%gem_install(d:n:) \
|
||||
mkdir -p %{-d*}%{!?-d:.%{gem_dir}} \
|
||||
\
|
||||
CONFIGURE_ARGS="--with-cflags='%{optflags}' $CONFIGURE_ARGS" \\\
|
||||
gem install \\\
|
||||
-V \\\
|
||||
--local \\\
|
||||
--build-root %{-d*}%{!?-d:.} \\\
|
||||
--force \\\
|
||||
--document=ri,rdoc \\\
|
||||
%{-n*}%{!?-n:%{gem_name}-%{version}%{?prerelease}.gem} \
|
||||
%{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_add _depand gemspec_remove_dep macros is not
|
||||
# essential, but it is usefull to make the sript appear in build log.
|
||||
|
||||
|
||||
# %gemspec_add_dep - Add dependency into .gemspec.
|
||||
#
|
||||
# Usage: %gemspec_add_dep -g <gem> [options] [requirements]
|
||||
#
|
||||
# Add dependency named <gem> to .gemspec file. The macro adds runtime
|
||||
# dependency by default. The [requirements] argument can be used to specify
|
||||
# the dependency constraints more precisely. It is expected to be valid Ruby
|
||||
# code.
|
||||
#
|
||||
# -s <gemspec_file> Overrides the default .gemspec location.
|
||||
# -d Add development dependecy.
|
||||
#
|
||||
%gemspec_add_dep(g:s:d) \
|
||||
read -d '' gemspec_add_dep_script << 'EOR' || : \
|
||||
gemspec_file = '%{-s*}%{!?-s:./%{gem_name}.gemspec}' \
|
||||
\
|
||||
name = '%{-g*}' \
|
||||
requirements = %{*}%{!?1:nil} \
|
||||
\
|
||||
type = :%{!?-d:runtime}%{?-d:development} \
|
||||
\
|
||||
spec = Gem::Specification.load(gemspec_file) \
|
||||
abort("#{gemspec_file} is not accessible.") unless spec \
|
||||
\
|
||||
dep = spec.dependencies.detect { |d| d.type == type && d.name == name } \
|
||||
if dep \
|
||||
dep.requirement.concat requirements \
|
||||
else \
|
||||
spec.public_send "add_#{type}_dependency", name, requirements \
|
||||
end \
|
||||
File.write gemspec_file, spec.to_ruby \
|
||||
EOR\
|
||||
echo "$gemspec_add_dep_script" | ruby \
|
||||
unset -v gemspec_add_dep_script \
|
||||
%{nil}
|
||||
|
||||
|
||||
# %gemspec_remove_dep - Remove dependency from .gemspec.
|
||||
#
|
||||
# Usage: %gemspec_remove_dep -g <gem> [options] [requirements]
|
||||
#
|
||||
# Remove dependency named <gem> from .gemspec file. The macro removes runtime
|
||||
# dependency by default. The [requirements] argument can be used to specify
|
||||
# the dependency constraints more precisely. It is expected to be valid Ruby
|
||||
# code. The macro fails if these specific requirements can't be removed.
|
||||
#
|
||||
# -s <gemspec_file> Overrides the default .gemspec location.
|
||||
# -d Remove development dependecy.
|
||||
#
|
||||
%gemspec_remove_dep(g:s:d) \
|
||||
read -d '' gemspec_remove_dep_script << 'EOR' || : \
|
||||
gemspec_file = '%{-s*}%{!?-s:./%{gem_name}.gemspec}' \
|
||||
\
|
||||
name = '%{-g*}' \
|
||||
requirements = %{*}%{!?1:nil} \
|
||||
\
|
||||
type = :%{!?-d:runtime}%{?-d:development} \
|
||||
\
|
||||
spec = Gem::Specification.load(gemspec_file) \
|
||||
abort("#{gemspec_file} is not accessible.") unless spec \
|
||||
\
|
||||
dep = spec.dependencies.detect { |d| d.type == type && d.name == name } \
|
||||
if dep \
|
||||
if requirements \
|
||||
requirements = Gem::Requirement.create(requirements).requirements \
|
||||
requirements.each do |r| \
|
||||
unless dep.requirement.requirements.reject! { |dependency_requirements| dependency_requirements == r } \
|
||||
abort("Requirement '#{r.first} #{r.last}' was not possible to remove for dependency '#{dep}'!") \
|
||||
end \
|
||||
end \
|
||||
spec.dependencies.delete dep if dep.requirement.requirements.empty? \
|
||||
else \
|
||||
spec.dependencies.delete dep \
|
||||
end \
|
||||
else \
|
||||
abort("Dependency '#{name}' was not found!") \
|
||||
end \
|
||||
File.write gemspec_file, spec.to_ruby \
|
||||
EOR\
|
||||
echo "$gemspec_remove_dep_script" | ruby \
|
||||
unset -v gemspec_remove_dep_script \
|
||||
%{nil}
|
||||
|
|
@ -87,37 +87,39 @@ 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_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
|
||||
|
||||
def default_path
|
||||
path = default_dirs.collect {|location, paths| paths[:gem_dir]}
|
||||
path.unshift Gem.user_dir if File.exist? Gem.user_home
|
||||
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
|
||||
path
|
||||
end
|
||||
|
||||
def default_ext_dir_for base_dir
|
||||
|
|
|
|||
68
ruby-2.3.0-ruby_version.patch
Normal file
68
ruby-2.3.0-ruby_version.patch
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
From 9f0ec0233f618cbb862629816b22491c3df79578 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(-)
|
||||
|
||||
diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb
|
||||
index d4ff4a262c..3f9a5bf590 100644
|
||||
--- a/lib/rubygems/defaults.rb
|
||||
+++ b/lib/rubygems/defaults.rb
|
||||
@@ -34,7 +34,7 @@ def self.default_spec_cache_dir
|
||||
# specified in the environment
|
||||
|
||||
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
|
||||
|
||||
##
|
||||
@@ -103,7 +103,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"]
|
||||
+ parts << ruby_version_dir_name unless ruby_version_dir_name.empty?
|
||||
File.join parts
|
||||
end
|
||||
|
||||
@@ -234,7 +235,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"]
|
||||
end
|
||||
|
||||
##
|
||||
diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb
|
||||
index b25068405d..e9fef4a311 100644
|
||||
--- a/test/rubygems/test_gem.rb
|
||||
+++ b/test/rubygems/test_gem.rb
|
||||
@@ -1395,7 +1395,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 << ruby_version_dir_name unless ruby_version_dir_name.empty?
|
||||
|
||||
FileUtils.mkdir_p File.join(parts)
|
||||
|
||||
@@ -1471,7 +1472,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
|
||||
--
|
||||
2.1.0
|
||||
|
||||
17
rubygems-3.1.3-Avoid-Bundler-installation.patch
Normal file
17
rubygems-3.1.3-Avoid-Bundler-installation.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
diff --git a/setup.rb b/setup.rb
|
||||
index 16ffa7215..49f6bfca5 100644
|
||||
--- a/setup.rb
|
||||
+++ b/setup.rb
|
||||
@@ -24,6 +24,12 @@ require 'rubygems/exceptions'
|
||||
|
||||
Gem::CommandManager.instance.register_command :setup
|
||||
|
||||
+require 'rubygems/commands/setup_command'
|
||||
+
|
||||
+class Gem::Commands::SetupCommand
|
||||
+ def install_default_bundler_gem(bin_dir); end
|
||||
+end
|
||||
+
|
||||
args = ARGV.clone
|
||||
if ENV["GEM_PREV_VER"]
|
||||
args = [ "--previous-version", ENV["GEM_PREV_VER"] ] + args
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
%__rubygems_requires %{_rpmconfigdir}/rubygems.req
|
||||
%__rubygems_provides %{_rpmconfigdir}/rubygems.prov
|
||||
# In non-gem packages, the %%{gem_name} macro is not available and the macro
|
||||
# stays unexpanded which leads to "invalid regex" error (rhbz#1154067).
|
||||
%__rubygems_path ^%{?gem_name:%{gem_spec}}%{!?gem_name:this_should_never_match_anything}$
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
#!/usr/bin/ruby
|
||||
|
||||
require 'rubygems/package'
|
||||
|
||||
module RubyGemsProv
|
||||
module Helpers
|
||||
# If there is some prelease version files, such as rc1 (i.e. non-numeric
|
||||
# field), prepend this field by tilde instead of dot.
|
||||
def self.normalize_prerelease(version)
|
||||
if version.prerelease?
|
||||
prerelease = version.version.sub /^#{version.release}\./, ''
|
||||
"#{version.release}-0.1.#{prerelease}"
|
||||
else
|
||||
"#{version.release}-1"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Reports all functionality gem provides.
|
||||
def self.provides
|
||||
while filename = gets
|
||||
filename.strip!
|
||||
begin
|
||||
specification = Gem::Specification.load filename
|
||||
|
||||
puts "rubygem(#{specification.name}) = #{Helpers::normalize_prerelease(specification.version)}"
|
||||
rescue => e
|
||||
# Ignore all errors.
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if __FILE__ == $0
|
||||
RubyGemsProv::provides
|
||||
end
|
||||
81
rubygems.req
81
rubygems.req
|
|
@ -1,81 +0,0 @@
|
|||
#!/usr/bin/ruby
|
||||
|
||||
require 'rubygems/package'
|
||||
|
||||
module RubyGemsReq
|
||||
module Helpers
|
||||
# Expands '~>' and '!=' gem requirements.
|
||||
def self.expand_requirement(requirements)
|
||||
requirements.inject([]) do |output, r|
|
||||
output.concat case r.first
|
||||
when '~>'
|
||||
expand_pessimistic_requirement(r)
|
||||
when '!='
|
||||
expand_not_equal_requirement(r)
|
||||
else
|
||||
[r]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Expands the pessimistic version operator '~>' into equivalent '>=' and
|
||||
# '<' pair.
|
||||
def self.expand_pessimistic_requirement(requirement)
|
||||
next_version = Gem::Version.create(requirement.last).bump
|
||||
return ['>=', requirement.last], ['<', next_version]
|
||||
end
|
||||
|
||||
# Expands the not equal version operator '!=' into equivalent '<' and
|
||||
# '>' pair.
|
||||
def self.expand_not_equal_requirement(requirement)
|
||||
return ['<', requirement.last], ['>', requirement.last]
|
||||
end
|
||||
|
||||
# Converts Gem::Requirement into array of requirements strings compatible
|
||||
# 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}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Report RubyGems dependency, versioned if required.
|
||||
def self.rubygems_dependency(specification)
|
||||
Helpers::requirement_versions_to_rpm(specification.required_rubygems_version).each do |requirement|
|
||||
dependency_string = "ruby(rubygems)"
|
||||
dependency_string += " #{specification.required_rubygems_version}" if requirement && requirement.length > 0
|
||||
puts dependency_string
|
||||
end
|
||||
end
|
||||
|
||||
# Report all gem dependencies including their version.
|
||||
def self.gem_depenencies(specification)
|
||||
specification.runtime_dependencies.each do |dependency|
|
||||
Helpers::requirement_versions_to_rpm(dependency.requirement).each do |requirement|
|
||||
dependency_string = "rubygem(#{dependency.name})"
|
||||
dependency_string += " #{requirement}" if requirement && requirement.length > 0
|
||||
puts dependency_string
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Reports all requirements specified by all provided .gemspec files.
|
||||
def self.requires
|
||||
while filename = gets
|
||||
filename.strip!
|
||||
begin
|
||||
specification = Gem::Specification.load filename
|
||||
|
||||
rubygems_dependency(specification)
|
||||
gem_depenencies(specification)
|
||||
rescue => e
|
||||
# Ignore all errors.
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if __FILE__ == $0
|
||||
RubyGemsReq::requires
|
||||
end
|
||||
264
rubygems.spec
264
rubygems.spec
|
|
@ -3,16 +3,19 @@
|
|||
#
|
||||
|
||||
# Bundled libraries versions
|
||||
%global molinillo_version 0.5.5
|
||||
%global molinillo_version 0.7.0
|
||||
%global optparse_version 0.2.0
|
||||
# TODO: Check the version if/when available in library.
|
||||
%global tsort_version 0.1.0
|
||||
|
||||
# Requires versions
|
||||
%global io_console_version 0.4.6
|
||||
%global json_version 2.0.2
|
||||
%global openssl_version 2.0.2
|
||||
%global psych_version 2.2.2
|
||||
%global rdoc_version 5.0.0
|
||||
%global bundler_version 2.3.25
|
||||
%global io_console_version 0.5.6
|
||||
%global openssl_version 2.2.0
|
||||
%global psych_version 3.3.0
|
||||
%global rdoc_version 6.3.0
|
||||
|
||||
# The RubyGems library has to stay out of Ruby directory three, since the
|
||||
# The RubyGems library has to stay out of Ruby directory tree, since the
|
||||
# RubyGems should be share by all Ruby implementations.
|
||||
%global rubygems_dir %(ruby -e "puts RbConfig::CONFIG['rubygemsdir']")
|
||||
|
||||
|
|
@ -23,7 +26,7 @@
|
|||
|
||||
# Executing testsuite (enabling %%check section) will cause dependency loop.
|
||||
# To avoid dependency loop when necessary, please set the following value to 0
|
||||
%global enable_check 1
|
||||
%bcond_with bootstrap
|
||||
|
||||
# It cannot be relied on %%{_libdir} for noarch packages. Query Ruby for
|
||||
# the right value.
|
||||
|
|
@ -32,21 +35,18 @@
|
|||
|
||||
Summary: The Ruby standard for packaging ruby libraries
|
||||
Name: rubygems
|
||||
Version: 2.6.10
|
||||
Release: 101%{?dist}
|
||||
Group: Development/Libraries
|
||||
License: Ruby or MIT
|
||||
Version: 3.3.25
|
||||
Release: 207%{?dist}
|
||||
# BSD-2-Clause: lib/rubygems/tsort/
|
||||
# BSD-2-Clause OR RUBY: lib/rubygems/optparse/
|
||||
# MIT: lib/rubygems/resolver/molinillo
|
||||
License: (Ruby OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR RUBY) AND MIT
|
||||
|
||||
URL: https://rubygems.org/
|
||||
Source0: http://production.cf.rubygems.org/rubygems/%{name}-%{version}.tgz
|
||||
Source0: https://rubygems.org/rubygems/%{name}-%{version}.tgz
|
||||
# Sources from the works by Vít Ondruch <vondruch@redhat.com>
|
||||
# Please keep Source{1,5,8,9,10} in sync with ruby.spec
|
||||
# NOTE: Keep Source1 in sync with ruby.spec.
|
||||
Source1: operating_system.rb
|
||||
Source5: macros.rubygems
|
||||
# RPM dependency generators.
|
||||
Source8: rubygems.attr
|
||||
Source9: rubygems.req
|
||||
Source10: rubygems.prov
|
||||
# http://seclists.org/oss-sec/2013/q3/att-576/check_CVE-2013-4287_rb.bin
|
||||
# Slightly modified for exit status
|
||||
Source11: check_CVE-2013-4287.rb
|
||||
|
|
@ -55,31 +55,37 @@ Source11: check_CVE-2013-4287.rb
|
|||
# Also modified to match:
|
||||
# http://seclists.org/oss-sec/2013/q3/605
|
||||
Source12: check_CVE-2013-4363.rb
|
||||
# Fix ruby_version abuse.
|
||||
# https://bugs.ruby-lang.org/issues/11002
|
||||
# NOTE: Keep this patch in sync with ruby.spec.
|
||||
Patch0: ruby-2.3.0-ruby_version.patch
|
||||
# Bundler installation does not respec `--destdir`. But we ship Bundler in
|
||||
# independent package, therefore just ignore the installation altogether.
|
||||
# https://github.com/rubygems/rubygems/issues/3604
|
||||
Patch1: rubygems-3.1.3-Avoid-Bundler-installation.patch
|
||||
|
||||
%{?load:%{SOURCE5}}
|
||||
|
||||
Requires: ruby(release)
|
||||
Recommends: rubygem(bundler) >= %{bundler_version}
|
||||
Recommends: rubygem(rdoc) >= %{rdoc_version}
|
||||
Recommends: rubygem(io-console) >= %{io_console_version}
|
||||
Requires: rubygem(openssl) >= %{openssl_version}
|
||||
Requires: rubygem(psych) >= %{psych_version}
|
||||
BuildRequires: ruby(release)
|
||||
BuildRequires: rubygem(json)
|
||||
BuildRequires: rubygem(rdoc)
|
||||
%if %{enable_check}
|
||||
BuildRequires: rubygems-devel
|
||||
%if %{without bootstrap}
|
||||
# For mkmf.rb
|
||||
BuildRequires: ruby-devel
|
||||
BuildRequires: rubygem(minitest) < 5
|
||||
BuildRequires: rubygem(rake)
|
||||
# TestGemExtCmakeBuilder
|
||||
BuildRequires: rubygem(test-unit)
|
||||
BuildRequires: %{_bindir}/cmake
|
||||
BuildRequires: git
|
||||
BuildRequires: rubygem(builder)
|
||||
BuildRequires: %{_bindir}/git
|
||||
BuildRequires: %{_bindir}/gcc
|
||||
BuildRequires: rubygem(rake)
|
||||
BuildRequires: rubygem(webrick)
|
||||
%endif
|
||||
Provides: gem = %{version}-%{release}
|
||||
Provides: ruby(rubygems) = %{version}-%{release}
|
||||
# https://github.com/rubygems/rubygems/pull/1189#issuecomment-121600910
|
||||
Provides: bundled(rubygem(molinillo)) = %{molinillo_version}
|
||||
Provides: bundled(rubygem-molinillo) = %{molinillo_version}
|
||||
BuildArch: noarch
|
||||
|
||||
|
|
@ -87,22 +93,8 @@ BuildArch: noarch
|
|||
RubyGems is the Ruby standard for publishing and managing third party
|
||||
libraries.
|
||||
|
||||
%package devel
|
||||
Summary: Macros and development tools for packaging RubyGems
|
||||
Group: Development/Libraries
|
||||
License: Ruby or MIT
|
||||
Requires: ruby(%{name}) = %{version}-%{release}
|
||||
# Needed for RDoc documentation format generation.
|
||||
Requires: rubygem(json) >= %{json_version}
|
||||
Requires: rubygem(rdoc) >= %{rdoc_version}
|
||||
BuildArch: noarch
|
||||
|
||||
%description devel
|
||||
Macros and development tools for packaging RubyGems.
|
||||
|
||||
%package doc
|
||||
Summary: Documentation for %{name}
|
||||
Group: Development/Libraries
|
||||
License: Ruby or MIT
|
||||
Requires: ruby(%{name}) = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
|
|
@ -113,76 +105,93 @@ Documentation for %{name}.
|
|||
%prep
|
||||
%setup -q
|
||||
|
||||
%patch 0 -p1
|
||||
%patch 1 -p1
|
||||
|
||||
%build
|
||||
# Nothing
|
||||
|
||||
%install
|
||||
GEM_HOME=%{buildroot}/%{gem_dir} \
|
||||
mkdir -p %{buildroot}{%{rubygems_dir},%{gem_dir}}/
|
||||
GEM_HOME=%{buildroot}%{gem_dir} \
|
||||
ruby setup.rb \
|
||||
--document rdoc,ri \
|
||||
--prefix=/ \
|
||||
--backtrace \
|
||||
--destdir=%{buildroot}/%{rubygems_dir}/
|
||||
--no-regenerate-binstubs \
|
||||
--destdir=%{buildroot}%{rubygems_dir}/
|
||||
|
||||
mkdir -p %{buildroot}/%{_bindir}
|
||||
mv %{buildroot}/%{rubygems_dir}/bin/gem %{buildroot}/%{_bindir}/gem
|
||||
rm -rf %{buildroot}/%{rubygems_dir}/bin
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mv %{buildroot}%{rubygems_dir}/bin/gem %{buildroot}%{_bindir}/.
|
||||
rm -rf %{buildroot}%{rubygems_dir}/bin
|
||||
|
||||
mv %{buildroot}/%{rubygems_dir}/lib/* %{buildroot}/%{rubygems_dir}/.
|
||||
mv %{buildroot}/%{rubygems_dir}/lib/* %{buildroot}%{rubygems_dir}/.
|
||||
# No longer needed
|
||||
rmdir %{buildroot}%{rubygems_dir}/lib
|
||||
|
||||
# Kill bundled certificates, as they should be part of ca-certificates.
|
||||
for cert in \
|
||||
rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem \
|
||||
rubygems.org/AddTrustExternalCARoot.pem \
|
||||
index.rubygems.org/GlobalSignRootCA.pem
|
||||
.document \
|
||||
rubygems.org/GlobalSignRootCA.pem \
|
||||
rubygems.org/GlobalSignRootCA_R3.pem
|
||||
do
|
||||
rm %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert
|
||||
rm -r $(dirname %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert)
|
||||
rm -d $(dirname %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert) || :
|
||||
done
|
||||
# Ensure there is not forgotten any certificate.
|
||||
test ! "$(ls -A %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/ 2>/dev/null)"
|
||||
|
||||
# Move macros file into proper place and replace the %%{name} macro, since it
|
||||
# would be wrongly evaluated during build of other packages.
|
||||
mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d
|
||||
install -m 644 %{SOURCE5} %{buildroot}%{_rpmconfigdir}/macros.d/macros.rubygems
|
||||
sed -i "s/%%{name}/ruby/" %{buildroot}%{_rpmconfigdir}/macros.d/macros.rubygems
|
||||
|
||||
# Install dependency generators.
|
||||
mkdir -p %{buildroot}%{_rpmconfigdir}/fileattrs
|
||||
install -m 644 %{SOURCE8} %{buildroot}%{_rpmconfigdir}/fileattrs
|
||||
install -m 755 %{SOURCE9} %{buildroot}%{_rpmconfigdir}
|
||||
install -m 755 %{SOURCE10} %{buildroot}%{_rpmconfigdir}
|
||||
test ! "$(ls -A %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/ 2>/dev/null)"
|
||||
|
||||
# Install custom operating_system.rb.
|
||||
mkdir -p %{buildroot}%{rubygems_dir}/rubygems/defaults
|
||||
install -cpm 0644 %{SOURCE1} %{buildroot}%{rubygems_dir}/rubygems/defaults/
|
||||
|
||||
# Create gem folders.
|
||||
mkdir -p %{buildroot}%{gem_dir}/{cache,gems,specifications,extensions,doc}
|
||||
mkdir -p %{buildroot}%{gem_dir}/{cache,gems,specifications,extensions,doc,plugins}
|
||||
mkdir -p %{buildroot}%{gem_extdir}/ruby
|
||||
|
||||
# Create below
|
||||
mkdir -p %{buildroot}%{gem_dir}/specifications/default
|
||||
|
||||
# Remove bundled bundler
|
||||
rm -vr %{buildroot}%{rubygems_dir}/bundler*
|
||||
|
||||
|
||||
%check
|
||||
# Create an empty operating_system.rb, so that the system's one doesn't get used,
|
||||
# otherwise the test suite fails.
|
||||
mkdir -p lib/rubygems/defaults
|
||||
touch lib/rubygems/defaults/operating_system.rb
|
||||
|
||||
# It is necessary to specify the paths to let the test suite pass."
|
||||
export GEM_PATH=%{gem_dir}
|
||||
export RUBYOPT="--disable-gems -Ilib:test"
|
||||
# Check Bundler version.
|
||||
[ "`RUBYOPT=-Ibundler/lib ruby -rbundler/version -e 'puts Bundler::VERSION'| tail -1`" \
|
||||
== '%{bundler_version}' ]
|
||||
|
||||
# Check Molinillo version correctness.
|
||||
[ "`ruby -e 'module Gem; module Resolver; end; end; require %{rubygems/resolver/molinillo/lib/molinillo/gem_metadata}; puts Gem::Resolver::Molinillo::VERSION' | tail -1`" \
|
||||
[ "`RUBYOPT=-Ilib ruby -e 'module Gem; class Resolver; end; end; require %{rubygems/resolver/molinillo/lib/molinillo/gem_metadata}; puts Gem::Resolver::Molinillo::VERSION' | tail -1`" \
|
||||
== '%{molinillo_version}' ]
|
||||
|
||||
%if %{enable_check}
|
||||
ruby -e 'Dir.glob "./test/**/test_*.rb", &method(:require)'
|
||||
# Check optparse version correctness.
|
||||
[ "`RUBYOPT=-Ilib ruby -e 'require %{rubygems/optparse/lib/optparse}; puts Gem::OptionParser::Version' | tail -1`" \
|
||||
== '%{optparse_version}' ]
|
||||
|
||||
%if %{without bootstrap}
|
||||
# util directory with changelog generator are not shipped in release archive.
|
||||
mv test/test_changelog_generator.rb{,.disabled}
|
||||
|
||||
# Put all required libraries on the `$LOAD_PATH`, where the original Ruby
|
||||
# `require` can find them. This prevents the RubyGems load machinery from
|
||||
# running and failing to find `gem.build_complete` files for sytem packages
|
||||
# and therefore raising warnings such as: "Ignoring json-2.5.1 because its
|
||||
# extensions are not built. Try: gem pristine json --version 2.5.1".
|
||||
# https://github.com/rubygems/rubygems/pull/4446
|
||||
export RUBYOPT="-I$(ruby -e 'size = $LOAD_PATH.size; %w(rake test-unit rdoc webrick).each {|r| require r}; puts $LOAD_PATH[...-size].join ?:')"
|
||||
|
||||
# Rakefile is not shipped anymore => emulate its content.
|
||||
# https://github.com/rubygems/rubygems/blob/v3.3.22/Rakefile#L56-L64
|
||||
# The `test_realworld_{default_gem,upgraded_default_gem}` needs the same
|
||||
# treatment as the have in Ruby repository. Use `GEM_COMMAND` to skip them.
|
||||
GEM_COMMAND="skip test_realworld_{default_gem,upgraded_default_gem}" \
|
||||
ruby -Itest:bundler/lib:lib -e 'Dir.glob "./test/**/test_*.rb", &method(:require)' - \
|
||||
|
||||
# CVE vulnerability check
|
||||
ruby %{SOURCE11}
|
||||
|
|
@ -190,15 +199,23 @@ ruby %{SOURCE12}
|
|||
%endif
|
||||
|
||||
%files
|
||||
%doc README*
|
||||
%doc History.txt
|
||||
%doc CODE_OF_CONDUCT.md
|
||||
%doc CHANGELOG.md
|
||||
%doc CONTRIBUTING.md
|
||||
%doc MAINTAINERS.txt
|
||||
%doc POLICIES.md
|
||||
%doc README.md
|
||||
%doc UPGRADING.md
|
||||
%license MIT.txt LICENSE.txt
|
||||
%doc CVE-*txt
|
||||
%{_bindir}/gem
|
||||
%dir %{rubygems_dir}
|
||||
%{rubygems_dir}/rubygems
|
||||
%{rubygems_dir}/rubygems.rb
|
||||
%{rubygems_dir}/ubygems.rb
|
||||
%exclude %{rubygems_dir}/rubygems/optparse/.*
|
||||
%license %{rubygems_dir}/rubygems/optparse/COPYING
|
||||
%license %{rubygems_dir}/rubygems/resolver/molinillo/LICENSE
|
||||
%exclude %{rubygems_dir}/rubygems/tsort/.*
|
||||
%license %{rubygems_dir}/rubygems/tsort/LICENSE.txt
|
||||
|
||||
# Explicitly include only RubyGems directory strucure to avoid accidentally
|
||||
# packaged content.
|
||||
|
|
@ -208,22 +225,103 @@ ruby %{SOURCE12}
|
|||
%dir %{gem_dir}/doc
|
||||
%dir %{gem_dir}/extensions
|
||||
%dir %{gem_dir}/gems
|
||||
%dir %{gem_dir}/plugins
|
||||
%dir %{gem_dir}/specifications
|
||||
%dir %{gem_dir}/specifications/default
|
||||
%dir %{_exec_prefix}/lib*/gems
|
||||
%dir %{_exec_prefix}/lib*/gems/ruby
|
||||
|
||||
%files devel
|
||||
%{_rpmconfigdir}/macros.d/macros.rubygems
|
||||
%{_rpmconfigdir}/fileattrs/rubygems.attr
|
||||
%{_rpmconfigdir}/rubygems.req
|
||||
%{_rpmconfigdir}/rubygems.prov
|
||||
|
||||
%files doc
|
||||
%doc %{gem_dir}/doc/*
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.25-207
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.25-206
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.25-205
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.25-204
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.25-203
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.25-202
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Thu Nov 03 2022 Jun Aruga <jaruga@redhat.com> - 3.3.25-201
|
||||
- Update to RubyGems 3.3.25.
|
||||
Resolves: rhbz#2132563
|
||||
|
||||
* Thu Sep 08 2022 Vít Ondruch <vondruch@redhat.com> - 3.3.22-201
|
||||
- Update to RubyGems 3.3.22.
|
||||
Resolves: rhbz#1941091
|
||||
Resolves: rhbz#2046966
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.14-204
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.14-203
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.14-202
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Thu Mar 11 2021 Vít Ondruch <vondruch@redhat.com> - 3.2.14-201
|
||||
- Enable additional test cases with Ruby load path setup correctly.
|
||||
|
||||
* Fri Mar 05 2021 Vít Ondruch <vondruch@redhat.com> - 3.2.14-200
|
||||
- Update to RubyGems 3.2.14.
|
||||
Resolves: rhbz#1905813
|
||||
Resolves: rhbz#1923699
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.4-202
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.4-201
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Jun 24 2020 Vít Ondruch <vondruch@redhat.com> - 3.1.4-200
|
||||
- Update to RubyGems 3.1.4.
|
||||
|
||||
* Thu May 28 2020 Vít Ondruch <vondruch@redhat.com> - 3.1.3-201
|
||||
- Fix `require` behavior allowing to load libraries multiple times.
|
||||
Resolves: rhbz#1835836
|
||||
|
||||
* Thu May 07 2020 Vít Ondruch <vondruch@redhat.com> - 3.1.3-200
|
||||
- Update to RubyGems 3.1.3.
|
||||
|
||||
* Thu May 07 2020 Pavel Valena <pvalena@redhat.com> - 3.0.3-106
|
||||
- Upgrade to Rubygems 3.0.3.
|
||||
|
||||
* Thu May 07 2020 Vít Ondruch <vondruch@redhat.com> - 2.6.13-106
|
||||
- Fix FTBFS due to Ruby 2.7, OpenSSL 1.1.1 and CMake 2.8+ incompatibilities.
|
||||
Resolves: rhbz#1800046
|
||||
- Drop rubygems-devel subpackage.
|
||||
|
||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.13-105
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.13-104
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.13-103
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.13-102
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.13-101
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Tue Sep 05 2017 Vít Ondruch <vondruch@redhat.com> - 2.6.13-100
|
||||
- Update to RubyGems 2.6.13.
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.10-101
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (rubygems-2.6.10.tgz) = 5f771e26fa57290a7dfb4c50778af4617964bb72141e757f538da2619ac36fa247715fb3f8cff314e5a573b27a38439c9a8a96fd37d806554e6f37d49608f6b7
|
||||
SHA512 (rubygems-3.3.25.tgz) = 0ec39f4110c0ae21b3a2acb97e78220a429b3340a1498d48e663e98ebdc16123cc99b455474bc43d116a6b7c967340aebd77d93c13edcb3f9112e6614759216a
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue