[rubygem-activesupport] update to activesupport 3.0.3

Mohammed Morsi mmorsi at fedoraproject.org
Wed Feb 2 21:59:47 UTC 2011


commit 6aeefd1ef18ce1905375e02758880a385c2b7ee7
Author: Mohammed Morsi <mmorsi at redhat.com>
Date:   Wed Feb 2 16:58:48 2011 -0500

    update to activesupport 3.0.3

 .gitignore                                    |    1 +
 Rakefile                                      |  175 +++----------------------
 activesupport-23-tests.tgz                    |  Bin 77369 -> 0 bytes
 activesupport-rakefile-fix.patch              |   15 ++
 activesupport-remove-memcache-build-dep.patch |   67 ++++++++++
 activesupport-tests-fix.patch                 |   11 ++
 activesupport-tests.tgz                       |  Bin 0 -> 94660 bytes
 rubygem-activesupport.spec                    |   86 +++++++------
 sources                                       |    2 +-
 9 files changed, 158 insertions(+), 199 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 23fdd7d..b9a35c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 activesupport-2.3.5.gem
 activesupport-2.3.8.gem
+/activesupport-3.0.3.gem
diff --git a/Rakefile b/Rakefile
index d5ece39..d117ca6 100644
--- a/Rakefile
+++ b/Rakefile
@@ -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 at 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
diff --git a/activesupport-rakefile-fix.patch b/activesupport-rakefile-fix.patch
new file mode 100644
index 0000000..d49987c
--- /dev/null
+++ b/activesupport-rakefile-fix.patch
@@ -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'
diff --git a/activesupport-remove-memcache-build-dep.patch b/activesupport-remove-memcache-build-dep.patch
new file mode 100644
index 0000000..12b8c14
--- /dev/null
+++ b/activesupport-remove-memcache-build-dep.patch
@@ -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)
diff --git a/activesupport-tests-fix.patch b/activesupport-tests-fix.patch
new file mode 100644
index 0000000..02480f6
--- /dev/null
+++ b/activesupport-tests-fix.patch
@@ -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
diff --git a/activesupport-tests.tgz b/activesupport-tests.tgz
new file mode 100644
index 0000000..f874139
Binary files /dev/null and b/activesupport-tests.tgz differ
diff --git a/rubygem-activesupport.spec b/rubygem-activesupport.spec
index c0a663e..724852d 100644
--- a/rubygem-activesupport.spec
+++ b/rubygem-activesupport.spec
@@ -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 at redhat.com> - 1:3.0.3-1
+- update to rails 3
+
 * Wed Aug 25 2010 Mohammed Morsi <mmorsi at redhat.com> - 1:2.3.8-2
 - bumped version
 
diff --git a/sources b/sources
index 28703fa..9a8d522 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-1211d35bb0489764fd1fcac19d081a47  activesupport-2.3.8.gem
+474ab3e5963afdad6a9c6c66ff08b16d  activesupport-3.0.3.gem


More information about the scm-commits mailing list