update to activesupport 3.0.3

f38
Mohammed Morsi 14 years ago
parent 2e3c9b6da5
commit 6aeefd1ef1

1
.gitignore vendored

@ -1,2 +1,3 @@
activesupport-2.3.5.gem
activesupport-2.3.8.gem
/activesupport-3.0.3.gem

@ -1,175 +1,32 @@
require 'rake/testtask'
require 'rake/rdoctask'
require 'rake/gempackagetask'
require File.join(File.dirname(__FILE__), 'lib', 'active_support', 'version')
PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
PKG_NAME = 'activesupport'
PKG_VERSION = ActiveSupport::VERSION::STRING + PKG_BUILD
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
RELEASE_NAME = "REL #{PKG_VERSION}"
RUBY_FORGE_PROJECT = "activesupport"
RUBY_FORGE_USER = "webster132"
task :default => :test
Rake::TestTask.new { |t|
t.libs << "test"
Rake::TestTask.new do |t|
t.libs << 'test'
t.pattern = 'test/**/*_test.rb'
t.verbose = true
t.warning = true
}
t.verbose = true
end
namespace :test do
Rake::TestTask.new(:isolated) do |t|
t.pattern = 'test/ts_isolated.rb'
end
end
# Create compressed packages
dist_dirs = [ "lib", "test"]
# Genereate the RDoc documentation
Rake::RDocTask.new { |rdoc|
rdoc.rdoc_dir = 'doc'
rdoc.title = "Active Support -- Utility classes and standard library extensions from Rails"
rdoc.options << '--line-numbers' << '--inline-source'
rdoc.options << '--charset' << 'utf-8'
rdoc.template = ENV['template'] ? "#{ENV['template']}.rb" : '../doc/template/horo'
rdoc.rdoc_files.include('README', 'CHANGELOG')
rdoc.rdoc_files.include('lib/active_support.rb')
rdoc.rdoc_files.include('lib/active_support/**/*.rb')
rdoc.rdoc_files.exclude('lib/active_support/vendor/*')
}
spec = Gem::Specification.new do |s|
s.platform = Gem::Platform::RUBY
s.name = PKG_NAME
s.version = PKG_VERSION
s.summary = "Support and utility classes used by the Rails framework."
s.description = %q{Utility library which carries commonly used classes and goodies from the Rails framework}
s.files = [ "CHANGELOG", "README" ] + Dir.glob( "lib/**/*" ).delete_if { |item| item.include?( "\.svn" ) }
s.require_path = 'lib'
s.has_rdoc = true
s.author = "David Heinemeier Hansson"
s.email = "david@loudthinking.com"
s.homepage = "http://www.rubyonrails.org"
s.rubyforge_project = "activesupport"
end
spec = eval(File.read('activesupport.gemspec'))
Rake::GemPackageTask.new(spec) do |p|
p.gem_spec = spec
p.need_tar = true
p.need_zip = true
end
desc "Publish the beta gem"
task :pgem => [:package] do
require 'rake/contrib/sshpublisher'
Rake::SshFilePublisher.new("gems.rubyonrails.org", "/u/sites/gems/gems", "pkg", "#{PKG_FILE_NAME}.gem").upload
`ssh gems.rubyonrails.org '/u/sites/gems/gemupdate.sh'`
end
desc "Publish the API documentation"
task :pdoc => [:rdoc] do
require 'rake/contrib/sshpublisher'
Rake::SshDirPublisher.new("wrath.rubyonrails.org", "public_html/as", "doc").upload
end
desc "Publish the release files to RubyForge."
task :release => [ :package ] do
require 'rubyforge'
require 'rake/contrib/rubyforgepublisher'
packages = %w( gem tgz zip ).collect{ |ext| "pkg/#{PKG_NAME}-#{PKG_VERSION}.#{ext}" }
rubyforge = RubyForge.new
rubyforge.login
rubyforge.add_release(PKG_NAME, PKG_NAME, "REL #{PKG_VERSION}", *packages)
end
namespace :tzinfo do
desc "Update bundled tzinfo gem. Only copies the subset of classes and definitions required to support Rails time zone features."
task :update => ['tzinfo:copy_classes', 'tzinfo:copy_definitions'] do
Rake::Task['tzinfo:cleanup_tmp'].invoke
end
task :unpack_gem do
mkdir_p "tmp"
cd "tmp"
sh "gem unpack --version #{ENV['VERSION'] || "'> 0'"} tzinfo"
cd ".."
end
task :copy_classes => :unpack_gem do
mkdir_p "#{destination_path}/tzinfo"
cp "#{tmp_path}/lib/tzinfo.rb", destination_path
comment_requires_for_excluded_classes!('tzinfo.rb')
files = FileList["#{tmp_path}/lib/tzinfo/*.rb"]
files.each do |file|
filename = File.basename(file)
unless excluded_classes.include? filename.sub(/.rb$/, '')
cp "#{tmp_path}/lib/tzinfo/#{filename}", "#{destination_path}/tzinfo"
comment_requires_for_excluded_classes!("tzinfo/#{filename}")
end
end
end
task :copy_definitions => :unpack_gem do
$:.unshift "#{File.dirname(__FILE__)}/lib"
require 'active_support/values/time_zone'
definitions_path = "#{destination_path}/tzinfo/definitions/"
mkdir_p definitions_path
ActiveSupport::TimeZone::MAPPING.values.each do |zone|
subdir = nil
if /\// === zone
subdir = zone.sub(/\w+$/, '')
mkdir_p "#{definitions_path}/#{subdir}"
end
cp "#{tmp_path}/lib/tzinfo/definitions/#{zone}.rb", "#{definitions_path}/#{subdir}"
end
end
task :cleanup_tmp do
rm_rf "tmp"
end
def comment_requires_for_excluded_classes!(file)
lines = open("#{destination_path}/#{file}") {|f| f.readlines}
updated = false
new_lines = []
lines.each do |line|
if Regexp.new("require 'tzinfo/(#{excluded_classes.join('|')})'") === line
updated = true
new_lines << "# #{line}"
else
new_lines << line
end
end
if updated
open("#{destination_path}/#{file}", "w") {|f| f.write(new_lines.join)}
end
end
def version
ENV['VERSION'] ||= get_unpacked_version
end
def get_unpacked_version
m = (FileList["tmp/tzinfo-*"].to_s.match /\d+\.\d+\.\d+/)
m ? m[0] : raise(LoadError, "TZInfo gem must be installed locally. `gem install tzinfo` and try again")
end
def tmp_path
"tmp/tzinfo-#{version}"
end
def destination_path
"lib/active_support/vendor/tzinfo-#{version}"
end
def excluded_classes
%w(country country_index_definition country_info country_timezone timezone_index_definition timezone_proxy tzdataparser)
end
desc "Release to gemcutter"
task :release => :package do
require 'rake/gemcutter'
Rake::Gemcutter::Tasks.new(spec).define
Rake::Task['gem:push'].invoke
end

Binary file not shown.

@ -0,0 +1,15 @@
--- Rakefile.orig 2011-01-10 16:26:22.397963520 -0500
+++ Rakefile 2011-01-10 16:26:28.015963421 -0500
@@ -18,12 +18,6 @@ end
# Create compressed packages
dist_dirs = [ "lib", "test"]
-spec = eval(File.read('activesupport.gemspec'))
-
-Rake::GemPackageTask.new(spec) do |p|
- p.gem_spec = spec
-end
-
desc "Release to gemcutter"
task :release => :package do
require 'rake/gemcutter'

@ -0,0 +1,67 @@
--- test/abstract_unit.rb.orig 2011-02-02 12:38:56.766898240 -0500
+++ test/abstract_unit.rb 2011-02-02 12:38:55.397898289 -0500
@@ -34,12 +34,16 @@ require 'active_support'
require 'active_support/ruby/shim' if RUBY_VERSION < '1.8.7'
def uses_memcached(test_name)
- require 'memcache'
begin
- MemCache.new('localhost:11211').stats
- yield
- rescue MemCache::MemCacheError
- $stderr.puts "Skipping #{test_name} tests. Start memcached and try again."
+ require 'memcache'
+ begin
+ MemCache.new('localhost:11211').stats
+ yield
+ rescue MemCache::MemCacheError
+ $stderr.puts "Skipping #{test_name} tests. Start memcached and try again."
+ end
+ rescue LoadError
+ $stderr.puts "Skipping #{test_name} tests. Install memcache-client and try again."
end
end
--- test/caching_test.rb.orig 2011-02-02 12:39:05.979900964 -0500
+++ test/caching_test.rb 2011-02-02 12:41:10.089899015 -0500
@@ -59,40 +59,6 @@ class CacheStoreSettingTest < ActiveSupp
assert_equal "/path/to/cache/directory", store.cache_path
end
- def test_mem_cache_fragment_cache_store
- MemCache.expects(:new).with(%w[localhost], {})
- store = ActiveSupport::Cache.lookup_store :mem_cache_store, "localhost"
- assert_kind_of(ActiveSupport::Cache::MemCacheStore, store)
- end
-
- def test_mem_cache_fragment_cache_store_with_given_mem_cache
- mem_cache = MemCache.new
- MemCache.expects(:new).never
- store = ActiveSupport::Cache.lookup_store :mem_cache_store, mem_cache
- assert_kind_of(ActiveSupport::Cache::MemCacheStore, store)
- end
-
- def test_mem_cache_fragment_cache_store_with_given_mem_cache_like_object
- MemCache.expects(:new).never
- memcache = Object.new
- def memcache.get() true end
- store = ActiveSupport::Cache.lookup_store :mem_cache_store, memcache
- assert_kind_of(ActiveSupport::Cache::MemCacheStore, store)
- end
-
- def test_mem_cache_fragment_cache_store_with_multiple_servers
- MemCache.expects(:new).with(%w[localhost 192.168.1.1], {})
- store = ActiveSupport::Cache.lookup_store :mem_cache_store, "localhost", '192.168.1.1'
- assert_kind_of(ActiveSupport::Cache::MemCacheStore, store)
- end
-
- def test_mem_cache_fragment_cache_store_with_options
- MemCache.expects(:new).with(%w[localhost 192.168.1.1], { :timeout => 10 })
- store = ActiveSupport::Cache.lookup_store :mem_cache_store, "localhost", '192.168.1.1', :namespace => 'foo', :timeout => 10
- assert_kind_of(ActiveSupport::Cache::MemCacheStore, store)
- assert_equal 'foo', store.options[:namespace]
- end
-
def test_object_assigned_fragment_cache_store
store = ActiveSupport::Cache.lookup_store ActiveSupport::Cache::FileStore.new("/path/to/cache/directory")
assert_kind_of(ActiveSupport::Cache::FileStore, store)

@ -0,0 +1,11 @@
--- test/abstract_unit.rb.orig 2011-01-10 16:57:45.486962914 -0500
+++ test/abstract_unit.rb 2011-01-10 16:57:52.306963241 -0500
@@ -2,7 +2,7 @@ ORIG_ARGV = ARGV.dup
begin
old, $VERBOSE = $VERBOSE, nil
- require File.expand_path('../../../load_paths', __FILE__)
+ require 'rubygems'
ensure
$VERBOSE = old
end

Binary file not shown.

@ -1,5 +1,3 @@
# Generated from activesupport-1.4.4.gem by gem2rpm -*- rpm-spec -*-
%define ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")
%define gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
%define gemname activesupport
%define geminstdir %{gemdir}/gems/%{gemname}-%{version}
@ -9,33 +7,48 @@
Summary: Support and utility classes used by the Rails framework
Name: rubygem-%{gemname}
Epoch: 1
Version: 2.3.8
Release: 2%{?dist}
Version: 3.0.3
Release: 1%{?dist}
Group: Development/Languages
License: MIT
URL: http://www.rubyonrails.org
Source0: http://gems.rubyforge.org/gems/%{gemname}-%{version}.gem
Source0: http://rubygems.org/downloads/activesupport-%{version}.gem
# For some reason the activesupport doesn't ship with the upstream Rakefile
Source1: http://github.com/rails/rails/raw/2-3-stable/activesupport/Rakefile
Source1: http://github.com/rails/rails/raw/v%{version}/%{gemname}/Rakefile
# Also the activesupport gem doesn't ship with the test suite like the other
# Rails rpms, you may check it out like so
# git clone http://github.com/rails/rails.git -b 2-3-stable
# git clone http://github.com/rails/rails.git
# cd rails/activesupport/
# git reset --hard 9da7ff8842e5e6407872 # revisions after this correspond to
# # rails 2.3.9 and break test suite
# # when run against stock 2.3.8 gem
# tar czvf activesupport-23-tests.tgz test/
Source2: activesupport-23-tests.tgz
# git checkout v3.0.3
# tar czvf activesupport-tests.tgz test/
Source2: activesupport-tests.tgz
# Remove a task which breaks the Rakefile due to the gemspec
# not being present in the gem
Patch0: activesupport-rakefile-fix.patch
# Removes code which breaks the test suite due to a
# dependency on a file in the greater rails proj
Patch1: activesupport-tests-fix.patch
# Remove memcache build dependency until rubygem-memcache-client
# is in Fedora http://bugzilla.redhat.com/show_bug.cgi?id=668822
Patch2: activesupport-remove-memcache-build-dep.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: rubygems
Requires: ruby(abi) = %{rubyabi}
BuildRequires: rubygems
BuildRequires(check): rubygem(rake)
BuildRequires(check): rubygem(mocha)
BuildRequires: rubygem(rake)
BuildRequires: rubygem(mocha)
BuildRequires: rubygem(i18n)
#BuildRequires: rubygem(memcache-client)
BuildRequires: rubygem(tzinfo)
BuildRequires: rubygem(builder)
BuildRequires: rubygem(rack)
BuildArch: noarch
Provides: rubygem(%{gemname}) = %{version}
@ -44,37 +57,29 @@ Utility library which carries commonly used classes and
goodies from the Rails framework
%prep
%build
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{gemdir}
gem install --local --install-dir %{buildroot}%{gemdir} \
--force --rdoc %{SOURCE0}
%setup -q -c -T
mkdir -p .%{gemdir}
gem install --local --install-dir .%{gemdir} \
--force -V --rdoc %{SOURCE0}
# move the rakefile in place
cp %{SOURCE1} %{buildroot}%{geminstdir}
cp %{SOURCE1} .%{geminstdir}
# move the tests into place
tar xzvf %{SOURCE2} -C %{buildroot}%{geminstdir}
tar xzvf %{SOURCE2} -C .%{geminstdir}
# Remove bad shebangs
for file in %{buildroot}%{geminstdir}/lib/active_support/vendor/builder-2.1.2/builder.rb \
%{buildroot}%{geminstdir}/lib/active_support/vendor/builder-2.1.2/blankslate.rb \
%{buildroot}%{geminstdir}/lib/active_support/vendor/builder-2.1.2/builder/* ; do
sed -i -e '1s/^\#!.*$//' $file
done
# Fix anything executable that does not have a shebang
for file in `find %{buildroot}/%{geminstdir} -type f -perm /a+x`; do
[ -z "`head -n 1 $file | grep \"^#!/\"`" ] && chmod -v 644 $file
done
pushd .%{geminstdir}
%patch0 -p0
%patch1 -p0
%patch2 -p0
# Find files with a shebang that do not have executable permissions
for file in `find %{buildroot}/%{geminstdir} -type f ! -perm /a+x -name "*.rb"`; do
[ ! -z "`head -n 1 $file | grep \"^#!/\"`" ] && chmod -v 755 $file
done
%build
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{gemdir}
cp -a .%{gemdir}/* %{buildroot}%{gemdir}
%clean
rm -rf %{buildroot}
@ -89,7 +94,7 @@ rake test
%doc %{geminstdir}/CHANGELOG
%{geminstdir}/Rakefile
%{geminstdir}/lib
%doc %{geminstdir}/README
%doc %{geminstdir}/README.rdoc
%doc %{gemdir}/doc/%{gemname}-%{version}
%{gemdir}/cache/%{gemname}-%{version}.gem
%{gemdir}/specifications/%{gemname}-%{version}.gemspec
@ -97,6 +102,9 @@ rake test
%changelog
* Mon Jan 10 2012 Mohammed Morsi <mmorsi@redhat.com> - 1:3.0.3-1
- update to rails 3
* Wed Aug 25 2010 Mohammed Morsi <mmorsi@redhat.com> - 1:2.3.8-2
- bumped version

@ -1 +1 @@
1211d35bb0489764fd1fcac19d081a47 activesupport-2.3.8.gem
474ab3e5963afdad6a9c6c66ff08b16d activesupport-3.0.3.gem

Loading…
Cancel
Save