diff --git a/.gitignore b/.gitignore index 34c80cb..e61d6a1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ ferret-0.11.6.gem +/ferret-0.11.8.4.gem diff --git a/rubygem-ferret-0.11.8.4-Block-variables-has-local-scopes.patch b/rubygem-ferret-0.11.8.4-Block-variables-has-local-scopes.patch new file mode 100644 index 0000000..f050bb1 --- /dev/null +++ b/rubygem-ferret-0.11.8.4-Block-variables-has-local-scopes.patch @@ -0,0 +1,29 @@ +From 9c0b8770470c3a5f623f0727f9552834f4ae8abb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Wed, 16 May 2012 10:55:16 +0300 +Subject: [PATCH] Block variables has local scopes. + +Fix to be compatible with Ruby 1.9. +--- + ruby/bin/ferret-browser | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ruby/bin/ferret-browser b/ruby/bin/ferret-browser +index add19c5..790ec0d 100755 +--- a/ruby/bin/ferret-browser ++++ b/ruby/bin/ferret-browser +@@ -16,9 +16,9 @@ opts = OptionParser.new do |opts| + opts.separator "Specific Options:" + + opts.on("-h", "--host HOSTNAME", +- "Host for web server to bind to (default is all IPs)") { |conf.host| } ++ "Host for web server to bind to (default is all IPs)") { |host| conf.host = host } + opts.on("-p", "--port NUM", +- "Port for web server (defaults to #{conf.port})") { |conf.port| } ++ "Port for web server (defaults to #{conf.port})") { |port| conf.port = port } + opts.on("-s", "--server NAME", + "Server to force (#{SERVER_OPTIONS.join(', ')}).") { |s| conf.server = s.to_sym } + +-- +1.7.10.1 + diff --git a/rubygem-ferret-0.11.8.4-Fix-compatibily-with-minitest.patch b/rubygem-ferret-0.11.8.4-Fix-compatibily-with-minitest.patch new file mode 100644 index 0000000..eb30971 --- /dev/null +++ b/rubygem-ferret-0.11.8.4-Fix-compatibily-with-minitest.patch @@ -0,0 +1,24 @@ +From fa3e1bee3f49b767278957068096261079aaf5a6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Tue, 15 May 2012 14:40:24 +0300 +Subject: [PATCH] Fix compatibily with minitest. + +--- + ruby/test/unit/tc_field_symbol.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ruby/test/unit/tc_field_symbol.rb b/ruby/test/unit/tc_field_symbol.rb +index 9229934..b1ba00c 100644 +--- a/ruby/test/unit/tc_field_symbol.rb ++++ b/ruby/test/unit/tc_field_symbol.rb +@@ -21,6 +21,6 @@ class FieldSymbolTest < Test::Unit::TestCase + assert_equal(field_type, :sym.__send__(field_type).type) + end + +- assert(:string, :sym.integer.byte.float.string.type) ++ assert(:string, :sym.integer.byte.float.string.type.to_s) + end + end +-- +1.7.10.1 + diff --git a/rubygem-ferret-0.11.8.4-make-rake-just-development-dependency.patch b/rubygem-ferret-0.11.8.4-make-rake-just-development-dependency.patch new file mode 100644 index 0000000..819a1ef --- /dev/null +++ b/rubygem-ferret-0.11.8.4-make-rake-just-development-dependency.patch @@ -0,0 +1,11 @@ +--- specifications/ferret-0.11.8.4.gemspec ++++ specifications/ferret-0.11.8.4.gemspec +@@ -24,7 +24,7 @@ + s.specification_version = 3 + + if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then +- s.add_runtime_dependency(%q, [">= 0"]) ++ s.add_development_dependency(%q, [">= 0"]) + else + s.add_dependency(%q, [">= 0"]) + end diff --git a/rubygem-ferret.spec b/rubygem-ferret.spec index 13ebcf6..d7c3b49 100644 --- a/rubygem-ferret.spec +++ b/rubygem-ferret.spec @@ -1,29 +1,31 @@ -%define gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null) -%define gemname ferret -%define geminstdir %{gemdir}/gems/%{gemname}-%{version} +%global gem_name ferret +%global rubyabi 1.9.1 -%{!?ruby_sitearch: %define ruby_sitearch %(ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']")} -%{!?ruby_sitelib: %define ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")} - -Summary: Full-featured text search engine library -Name: rubygem-%{gemname} -Version: 0.11.6 -Release: 12%{?dist} -Group: Development/Languages +Summary: Full-featured text search engine library +Name: rubygem-%{gem_name} +Version: 0.11.8.4 +Release: 1%{?dist} +Group: Development/Languages # License from # - MIT-LICENSE: MIT # - ext/posh.c: 3-clause BSD # - ext/q_parser.c: GPLv2+ -License: MIT and BSD -URL: http://rubyforge.org/projects/ferret/ -Source0: http://gems.rubyforge.org/gems/%{gemname}-%{version}.gem -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Requires: rubygems -Requires: ruby(abi) = 1.8 -BuildRequires: rubygems -BuildRequires: ruby-devel -BuildRequires: rubygem(rake) -Provides: rubygem(%{gemname}) = %{version} +License: MIT and BSD +URL: http://github.com/jkraemer/ferret +Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem +# Fix compatibility with minitest. Already accepted by upstream. +# https://github.com/jkraemer/ferret/pull/3 +Patch0: rubygem-ferret-0.11.8.4-Fix-compatibily-with-minitest.patch +# Rake should not be runtime requirement. +# https://github.com/jkraemer/ferret/pull/5 +Patch1: rubygem-ferret-0.11.8.4-make-rake-just-development-dependency.patch +Patch2: rubygem-ferret-0.11.8.4-Block-variables-has-local-scopes.patch +Requires: ruby(abi) = %{rubyabi} +Requires: ruby(rubygems) +BuildRequires: rubygems-devel +BuildRequires: ruby-devel +BuildRequires: rubygem(minitest) +Provides: rubygem(%{gem_name}) = %{version} %description Ferret is a high-performance, full-featured text search @@ -31,84 +33,93 @@ engine library written entirely in pure Ruby (with an optional C extension). It is inspired by the Java Lucene Project. -%package doc -Summary: Documentation for %{name} -Group: Documentation -Requires: %{name} = %{version}-%{release} +%package doc +Summary: Documentation for %{name} +Group: Documentation +Requires: %{name} = %{version}-%{release} +BuildArch: noarch -%description doc +%description doc This package contains documentation for %{name}. -#%package devel -#Requires: rubygem-%{gemname} = %{version}-%{release} -#Group: Development/Languages -#Summary: Development files for rubygem-ferret - -#%description devel -#Ferret is a high-performance, full-featured text search -#engine library written entirely in pure Ruby (with an -#optional C extension). It is inspired by the Java Lucene -#Project. These are the devel files. - %prep %setup -q -c -T +mkdir -p .%{gem_dir} +export CONFIGURE_ARGS="--with-cflags='%{optflags}'" +gem install --local --install-dir .%{gem_dir} \ + --bindir .%{_bindir} \ + -V \ + --force %{SOURCE0} + +pushd .%{gem_instdir} +%patch0 -p2 +%patch2 -p2 +popd + +pushd .%{gem_dir} +%patch1 +popd %build -mkdir -p ./%{gemdir} -export CONFIGURE_ARGS="--with-cflags='%{optflags}'" -gem install \ - --local \ - --install-dir ./%{gemdir} \ - -V --force \ - %{SOURCE0} %install -rm -rf %{buildroot} -mkdir -p %{buildroot}%{gemdir} -cp -a ./%{gemdir}/* %{buildroot}%{gemdir} +mkdir -p %{buildroot}%{gem_dir} +cp -a .%{gem_dir}/* \ + %{buildroot}%{gem_dir}/ -install -d -m0755 %{buildroot}%{ruby_sitearch} -mv %{buildroot}%{geminstdir}/lib/ferret_ext.so %{buildroot}%{ruby_sitearch} +mkdir -p %{buildroot}%{gem_extdir}/lib +mv %{buildroot}%{gem_instdir}/lib/ferret_ext.so %{buildroot}%{gem_extdir}/lib/ -# You know ferret_ext.so needs to be 755 for find-debuginfo.sh to find it -chmod 0755 %{buildroot}%{ruby_sitearch}/ferret_ext.so +mkdir -p %{buildroot}%{_bindir} +cp -a .%{_bindir}/* \ + %{buildroot}%{_bindir}/ + +find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x + +# Remove executable flags (fix rpmlint warnings). +find .%{gem_instdir}/ext -type f | xargs chmod a-x +find %{buildroot}%{gem_instdir}/test -type f | xargs chmod a-x +chmod a-x %{buildroot}%{gem_instdir}/Rakefile -rm -rf %{buildroot}%{geminstdir}/ext -mkdir -p %{buildroot}/%{_bindir} -mv %{buildroot}%{gemdir}/bin/* %{buildroot}/%{_bindir} -rmdir %{buildroot}%{gemdir}/bin %check -# Tests fail on ppc64, so make it fail softly -pushd .%{geminstdir} -rake test_units || : +pushd .%{gem_instdir} +# Disable buffer overflow failing test +# https://github.com/jkraemer/ferret/issues/2 +sed -i '67d' test/unit/index/tc_index_writer.rb + +ruby test/test_all.rb +popd -%clean -rm -rf %{buildroot} %files -%defattr(-, root, root, -) -%doc %{geminstdir}/CHANGELOG -%doc %{geminstdir}/MIT-LICENSE -%doc %{geminstdir}/README -%doc %{geminstdir}/TODO -%doc %{geminstdir}/TUTORIAL +%dir %{gem_instdir} +%doc %{gem_instdir}/MIT-LICENSE %{_bindir}/ferret-browser -%dir %{geminstdir} -%{geminstdir}/lib -%{geminstdir}/bin -%{gemdir}/cache/%{gemname}-%{version}.gem -%{gemdir}/specifications/%{gemname}-%{version}.gemspec -%{ruby_sitearch}/ferret_ext.so +%{gem_instdir}/bin +%{gem_libdir} +%exclude %{gem_instdir}/ext +%{gem_extdir} +%exclude %{gem_cache} +%{gem_spec} %files doc -%defattr(-,root,root,-) -%{gemdir}/doc/%{gemname}-%{version}/ -%{geminstdir}/Rakefile -%{geminstdir}/setup.rb -%{geminstdir}/test/ +%doc %{gem_docdir} +%doc %{gem_instdir}/CHANGELOG +%doc %{gem_instdir}/README +%doc %{gem_instdir}/RELEASE_CHANGES +%doc %{gem_instdir}/RELEASE_NOTES +%doc %{gem_instdir}/TODO +%doc %{gem_instdir}/TUTORIAL +%{gem_instdir}/Rakefile +%{gem_instdir}/setup.rb +%{gem_instdir}/test/ %changelog +* Tue May 15 2012 Vít Ondruch - 0.11.8.4-1 +- Update to ferret 0.11.8.4. +- Rebuilt for Ruby 1.9.3. + * Sat Jan 14 2012 Fedora Release Engineering - 0.11.6-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild diff --git a/sources b/sources index 4894348..964f8eb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f26e531d3c0da085d7461a3648e2974f ferret-0.11.6.gem +10e1e8477ea4a35cbedc46fa7b8d7e0d ferret-0.11.8.4.gem