Hello community, here is the log from the commit of package ruby20 for openSUSE:Factory checked in at 2013-05-07 07:34:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ruby20 (Old) and /work/SRC/openSUSE:Factory/.ruby20.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ruby20" Changes: -------- New Changes file: --- /dev/null 2013-04-05 00:01:41.916011506 +0200 +++ /work/SRC/openSUSE:Factory/.ruby20.new/ruby20.changes 2013-05-07 07:34:38.000000000 +0200 @@ -0,0 +1,11 @@ +------------------------------------------------------------------- +Sat Apr 27 17:02:22 UTC 2013 - [email protected] + +- refresh buildroot patch + +------------------------------------------------------------------- +Tue Mar 5 00:14:14 CET 2013 - [email protected] + +- new package forked from ruby19 - update to 2.0.0 p0 + - patches disabled for now + New: ---- ruby-1.9.2p290_tcl_no_stupid_rpaths.patch ruby-2.0.0-p0.tar.bz2 ruby-sort-rdoc-output.patch ruby19-export_init_prelude.patch ruby20-rpmlintrc ruby20.changes ruby20.macros ruby20.spec rubygems-1.5.0_buildroot.patch thread_pthread.c-ruby_init_stack-ignore-STACK_END_ADDRESS.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ruby20.spec ++++++ # # spec file for package ruby20 # # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: ruby20 Version: 2.0.0.p0 Release: 0 # %define pkg_version 2.0.0 %define patch_level p0 # keep in sync with macro file! %define rb_binary_suffix 2.0 %define rb_ver 2.0.0 %define rb_arch %(echo %{_target_cpu}-linux | sed -e "s/ppc/powerpc/") %define rb_libdir %{_libdir}/ruby/%{rb_ver}/ %define rb_archdir %{_libdir}/ruby/%{rb_ver}/%{rb_arch} # keep in sync with macro file! # %if 0%{?suse_version} == 1100 %define needs_optimization_zero 1 %endif # from valgrind.spec %ifarch %ix86 x86_64 ppc ppc64 %define use_valgrind 1 %endif %define run_tests 0 # # BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gdbm-devel BuildRequires: libffi-devel BuildRequires: libyaml-devel BuildRequires: ncurses-devel BuildRequires: openssl-devel BuildRequires: pkg-config BuildRequires: readline-devel BuildRequires: tk-devel BuildRequires: zlib-devel # this requires is needed as distros older than 11.3 have a buildignore on freetype2, without this the detection of the tk extension fails BuildRequires: freetype2-devel %if 0%{?suse_version} > 1010 BuildRequires: xorg-x11-libX11-devel %else BuildRequires: xorg-x11-devel %endif %if 0%{?use_valgrind} %if 0%{?suse_version} > 1020 BuildRequires: valgrind-devel %else BuildRequires: valgrind %endif %endif %if 0%{?suse_version} > 1120 BuildRequires: ca-certificates BuildRequires: ca-certificates-cacert %else BuildRequires: openssl-certs %endif BuildRequires: vim # Provides: rubygem-rake = 0.9.2.2 Provides: ruby(abi) = %{rb_ver} # Url: http://www.ruby-lang.org/ Source: ftp://ftp.ruby-lang.org/pub/ruby/ruby-%{pkg_version}-%{patch_level}.tar.bz2 Source6: ruby20.macros Patch0: rubygems-1.5.0_buildroot.patch Patch1: ruby-1.9.2p290_tcl_no_stupid_rpaths.patch # Summary: An Interpreted Object-Oriented Scripting Language License: BSD-2-Clause or Ruby Group: Development/Languages/Ruby %description Ruby is an interpreted scripting language for quick and easy object-oriented programming. It has many features for processing text files and performing system management tasks (as in Perl). It is simple, straight-forward, and extensible. * Ruby features: - Simple Syntax - *Normal* Object-Oriented features (class, method calls, for example) - *Advanced* Object-Oriented features(Mix-in, Singleton-method, for example) - Operator Overloading - Exception Handling - Iterators and Closures - Garbage Collection - Dynamic Loading of Object Files (on some architectures) - Highly Portable (works on many UNIX machines; DOS, Windows, Mac, BeOS, and more) %package devel Summary: Development files to link against Ruby Group: Development/Languages/Ruby Requires: %{name} = %{version} Provides: rubygems20 = 1.3.7 Provides: rubygems20_with_buildroot_patch Requires: ruby-common %description devel Development files to link against Ruby. %package devel-extra Summary: Special development files of ruby, normally not installed Group: Development/Languages/Ruby Requires: %{name}-devel = %{version} %description devel-extra Development files to link against Ruby. %package tk Summary: TCL/TK bindings for Ruby Group: Development/Languages/Ruby Requires: %{name} = %{version} %description tk TCL/TK bindings for Ruby %package doc-ri Summary: Ruby Interactive Documentation Group: Development/Languages/Ruby Requires: %{name} = %{version} %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description doc-ri This package contains the RI docs for ruby %package doc-html Summary: This package contains the HTML docs for ruby Group: Development/Languages/Ruby Requires: %{name} = %{version} %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description doc-html This package contains the HTML docs for ruby %package examples Summary: Example scripts for ruby Group: Development/Languages/Ruby Requires: %{name} = %{version} %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description examples Example scripts for ruby %package test-suite Requires: %{name} = %{version} Summary: An Interpreted Object-Oriented Scripting Language Group: Development/Languages/Ruby %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description test-suite Ruby is an interpreted scripting language for quick and easy object-oriented programming. It has many features for processing text files and performing system management tasks (as in Perl). It is simple, straight-forward, and extensible. * Ruby features: - Simple Syntax - *Normal* Object-Oriented features (class, method calls, for example) - *Advanced* Object-Oriented features(Mix-in, Singleton-method, for example) - Operator Overloading - Exception Handling - Iterators and Closures - Garbage Collection - Dynamic Loading of Object Files (on some architectures) - Highly Portable (works on many UNIX machines; DOS, Windows, Mac, BeOS, and more) %prep %setup -q -n ruby-%{pkg_version}-%{patch_level} %patch0 %if 0%{?needs_optimization_zero} touch -r configure configure.timestamp perl -p -i.bak -e 's|-O2|-O0|g' configure diff -urN configure{.bak,} ||: touch -r configure.timestamp configure %endif find sample -type f -print0 | xargs -r0 chmod a-x grep -Erl '^#! */' benchmark bootstraptest ext lib sample test \ | xargs -r perl -p -i -e 's|^#!\s*\S+(\s+.*)?$|#!/usr/bin/ruby2.0$1|' %build %if 0%{?needs_optimization_zero} export CFLAGS="%{optflags}" export CFLAGS="${CFLAGS//-O2/}" export CXXFLAGS="$CFLAGS" export FFLAGS="$CFLAGS" %endif %configure \ --program-suffix=%{rb_binary_suffix} \ --with-soname=ruby%{rb_binary_suffix} \ --target=%{_target_platform} \ %if 0%{?use_valgrind} --with-valgrind \ %endif --with-mantype=man \ --enable-shared \ --disable-static \ --disable-rpath %{__make} all V=1 %install %makeinstall V=1 %{__install} -D -m 0644 %{S:6} %{buildroot}/etc/rpm/macros.ruby20 echo "%defattr(-,root,root,-)" > devel-extra-excludes echo "%defattr(-,root,root,-)" > devel-extra-list for i in iseq.h insns.inc insns_info.inc revision.h version.h thread_pthread.h \ ruby_atomic.h method.h id.h vm_core.h vm_opts.h node.h eval_intern.h; do install -m 644 $i %{buildroot}%{_includedir}/ruby-%{rb_ver}/ echo "%exclude %{_includedir}/ruby-%{rb_ver}/$i" >> devel-extra-excludes echo "%{_includedir}/ruby-%{rb_ver}/$i" >> devel-extra-list done %if 0%{?run_tests} %check export LD_LIBRARY_PATH="$PWD" # we know some tests will fail when they do not find a /usr/bin/ruby make check V=1 ||: %endif %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %config(noreplace) /etc/rpm/macros.ruby20 %{_bindir}/erb%{rb_binary_suffix} %{_bindir}/gem%{rb_binary_suffix} %{_bindir}/irb%{rb_binary_suffix} %{_bindir}/rake%{rb_binary_suffix} %{_bindir}/rdoc%{rb_binary_suffix} %{_bindir}/ri%{rb_binary_suffix} %{_bindir}/ruby%{rb_binary_suffix} %{_bindir}/testrb%{rb_binary_suffix} %{_libdir}/libruby%{rb_binary_suffix}.so.2.0* %{_libdir}/ruby/ %exclude %{rb_libdir}/multi-tk.rb %exclude %{rb_libdir}/remote-tk.rb %exclude %{rb_libdir}/tcltk.rb %exclude %{rb_libdir}/tk*.rb %exclude %{rb_libdir}/tk/ %exclude %{rb_libdir}/tkextlib/ %exclude %{rb_archdir}/tcltklib.so %exclude %{rb_archdir}/tkutil.so %{_mandir}/man1/ri%{rb_binary_suffix}.1* %{_mandir}/man1/irb%{rb_binary_suffix}.1* %{_mandir}/man1/erb%{rb_binary_suffix}.1* %{_mandir}/man1/rake%{rb_binary_suffix}.1* %{_mandir}/man1/ruby%{rb_binary_suffix}.1* %doc ChangeLog COPYING COPYING.ja GPL KNOWNBUGS.rb LEGAL NEWS README README.EXT README.EXT.ja README.ja doc/* sample/ %files devel -f devel-extra-excludes %defattr(-,root,root,-) %{_includedir}/ruby-%{rb_ver} %{_libdir}/libruby%{rb_binary_suffix}.so %{_libdir}/libruby%{rb_binary_suffix}-static.a %{_libdir}/pkgconfig/ruby-2.0.pc %files devel-extra -f devel-extra-list %files tk %defattr(-,root,root,-) %{rb_libdir}/multi-tk.rb %{rb_libdir}/remote-tk.rb %{rb_libdir}/tcltk.rb %{rb_libdir}/tk*.rb %{rb_libdir}/tk/ %{rb_libdir}/tkextlib/ %{rb_archdir}/tcltklib.so %{rb_archdir}/tkutil.so %files doc-ri %defattr(-,root,root,-) %dir %{_datadir}/ri/ %{_datadir}/ri/%{rb_ver}/ %changelog ++++++ ruby-1.9.2p290_tcl_no_stupid_rpaths.patch ++++++ Index: ext/tk/extconf.rb =================================================================== --- ext/tk/extconf.rb.orig +++ ext/tk/extconf.rb @@ -215,9 +215,7 @@ def get_shlib_path_head else [ - '/opt', '/pkg', '/share', - '/usr/local/opt', '/usr/local/pkg', '/usr/local/share', '/usr/local', - '/usr/opt', '/usr/pkg', '/usr/share', '/usr/contrib', '/usr' + '/usr' ].each{|dir| next unless File.directory?(dir) ++++++ ruby-sort-rdoc-output.patch ++++++ Index: ruby-1.9.3-p194/lib/rdoc/generator/template/darkfish/classpage.rhtml =================================================================== --- ruby-1.9.3-p194.orig/lib/rdoc/generator/template/darkfish/classpage.rhtml +++ ruby-1.9.3-p194/lib/rdoc/generator/template/darkfish/classpage.rhtml @@ -33,7 +33,7 @@ <h3 class="section-header">In Files</h3> <div class="section-body"> <ul> - <% klass.in_files.each do |tl| %> + <% klass.in_files.sort.each do |tl| %> <li><a href="<%= rel_prefix %>/<%= h tl.path %>?TB_iframe=true&height=550&width=785" class="thickbox" title="<%= h tl.absolute_name %>"><%= h tl.absolute_name %></a></li> <% end %> Index: ruby-1.9.3-p194/lib/rdoc/stats.rb =================================================================== --- ruby-1.9.3-p194.orig/lib/rdoc/stats.rb +++ ruby-1.9.3-p194/lib/rdoc/stats.rb @@ -288,7 +288,7 @@ class RDoc::Stats else report << '# in files:' - cm.in_files.each do |file| + cm.in_files.sort.each do |file| report << "# #{file.full_name}" end ++++++ ruby19-export_init_prelude.patch ++++++ Index: ruby-1.9.3-p194/include/ruby/ruby.h =================================================================== --- ruby-1.9.3-p194.orig/include/ruby/ruby.h +++ ruby-1.9.3-p194/include/ruby/ruby.h @@ -1225,6 +1225,7 @@ void ruby_init_stack(volatile VALUE*); VALUE variable_in_this_stack_frame; \ ruby_init_stack(&variable_in_this_stack_frame); void ruby_init(void); +void ruby_init_prelude(void); void *ruby_options(int, char**); int ruby_run_node(void *); int ruby_exec_node(void *); Index: ruby-1.9.3-p194/ruby.c =================================================================== --- ruby-1.9.3-p194.orig/ruby.c +++ ruby-1.9.3-p194/ruby.c @@ -1091,7 +1091,7 @@ proc_options(long argc, char **argv, str return argc0 - argc; } -static void +void ruby_init_prelude(void) { Init_prelude(); ++++++ ruby20-rpmlintrc ++++++ addFilter("files-duplicate /usr/share/ri/.*") addFilter("unexpanded-macro /usr/share/ri/.*") ++++++ ruby20.macros ++++++ %rb20_binary /usr/bin/ruby2.0 %rb20_arch %(%{rb20_binary} -e 'print RUBY_PLATFORM') %rb20_ver %(%{rb20_binary} -r rbconfig -e 'print RbConfig::CONFIG["ruby_version"]') # #rb20_dir %{_libdir}/ruby/ #rb20_libdir %{_libdir}/ruby/%{rb20_ver}/ #rb20_archdir %{_libdir}/ruby/%{rb20_ver}/%{rb20_arch} # #rb20_sitedir %{_libdir}/ruby/site_ruby #rb20_sitelib %{rb20_sitedir}/%{rb20_ver} #rb20_sitearch %{rb20_sitedir}/%{rb20_ver}/%{rb20_arch} # #rb20_vendordir %{_libdir}/ruby/vendor_ruby #rb20_vendorlib %{rb20_vendordir}/%{rb20_ver} #rb20_vendorarch %{rb20_vendordir}/%{rb20_ver}/%{rb20_arch} ## Base # "rubylibprefix"=>"/usr/lib64/ruby", %rb20_dir %(%{rb20_binary} -rrbconfig -e 'puts RbConfig::CONFIG["rubylibprefix"]' ) # "rubylibdir" =>"/usr/lib64/ruby/1.9.1", %rb20_libdir %(%{rb20_binary} -rrbconfig -e 'puts RbConfig::CONFIG["rubylibdir"]' ) # "archdir" =>"/usr/lib64/ruby/1.9.1/x86_64-linux", %rb20_archdir %(%{rb20_binary} -rrbconfig -e 'puts RbConfig::CONFIG["archdir"]' ) ## Site # "sitedir" =>"/usr/lib64/ruby/site_ruby", %rb20_sitedir %(%{rb20_binary} -rrbconfig -e 'puts RbConfig::CONFIG["sitedir"]' ) # "sitelibdir" =>"/usr/lib64/ruby/site_ruby/1.9.1", %rb20_sitelibdir %(%{rb20_binary} -rrbconfig -e 'puts RbConfig::CONFIG["sitelibdir"]' ) # "sitearchdir" =>"/usr/lib64/ruby/site_ruby/1.9.1/x86_64-linux", %rb20_sitearchdir %(%{rb20_binary} -rrbconfig -e 'puts RbConfig::CONFIG["sitearchdir"]' ) ## Vendor # "vendordir" =>"/usr/lib64/ruby/vendor_ruby", %rb20_vendordir %(%{rb20_binary} -rrbconfig -e 'puts RbConfig::CONFIG["vendordir"]' ) # "vendorlibdir" =>"/usr/lib64/ruby/vendor_ruby/1.9.1", %rb20_vendorlibdir %(%{rb20_binary} -rrbconfig -e 'puts RbConfig::CONFIG["vendorlibdir"]' ) # "vendorarchdir" =>"/usr/lib64/ruby/vendor_ruby/1.9.1/x86_64-linux", %rb20_vendorarchdir %(%{rb20_binary} -rrbconfig -e 'puts RbConfig::CONFIG["vendorarchdir"]' ) %gem20_install /usr/lib/rpm/gem_install_wrapper.sh %gem20_cleanup /usr/bin/gem_build_cleanup %{buildroot}%{_libdir}/ruby/gems/%{rb20_ver}/gems/%{mod_name}-%{version}/ %rubygems19_requires() \ %if 0%{?suse_version} > 1100 \ %{requires_ge ruby20} \ %else \ %{requires_eq ruby20} \ %endif ++++++ rubygems-1.5.0_buildroot.patch ++++++ Index: lib/rubygems/dependency_installer.rb =================================================================== --- lib/rubygems/dependency_installer.rb.orig +++ lib/rubygems/dependency_installer.rb @@ -58,6 +58,7 @@ class Gem::DependencyInstaller def initialize(options = {}) @install_dir = options[:install_dir] || Gem.dir + @build_root = options[:build_root] if options[:install_dir] then # HACK shouldn't change the global settings, needed for -i behavior @@ -353,6 +354,7 @@ class Gem::DependencyInstaller :format_executable => @format_executable, :ignore_dependencies => @ignore_dependencies, :install_dir => @install_dir, + :build_root => @build_root, :security_policy => @security_policy, :user_install => @user_install, :wrappers => @wrappers, Index: lib/rubygems/installer.rb =================================================================== --- lib/rubygems/installer.rb.orig +++ lib/rubygems/installer.rb @@ -555,8 +555,17 @@ class Gem::Installer # (or use) a new bin dir under the gem_home. @bin_dir = options[:bin_dir] || Gem.bindir(gem_home) @development = options[:development] + @build_root = options[:build_root] @build_args = options[:build_args] || Gem::Command.build_args + + unless @build_root.nil? + require 'pathname' + @build_root = Pathname.new(@build_root).expand_path + @bin_dir = File.join(@build_root, options[:bin_dir] || Gem.bindir(@gem_home)) + @gem_home = File.join(@build_root,@gem_home) + alert_warning "You build with buildroot.\n Build root: #{@build_root}\n Bin dir: #{@bin_dir}\n Gem home: #{@gem_home}" + end end # DOC: Missing docs or :nodoc:. Index: lib/rubygems/install_update_options.rb =================================================================== --- lib/rubygems/install_update_options.rb.orig +++ lib/rubygems/install_update_options.rb @@ -56,6 +56,12 @@ module Gem::InstallUpdateOptions end end + add_option(:"Install/Update", '--build-root DIR', + 'Temporary installation root. Useful for building', + 'packages. Do not use this when installing remote gems.') do |value, options| + options[:build_root] = File.expand_path(value) + end + add_option(:"Install/Update", '-N', '--no-document', 'Disable documentation generation') do |value, options| options[:document] = [] ++++++ thread_pthread.c-ruby_init_stack-ignore-STACK_END_ADDRESS.patch ++++++ diff -wruN -x '*~' -x '*.o' -x '*.a' -x '*.so' -x '*.so.[0-9]' -x autom4te.cache -x .deps -x .libs -x Makefile -x Makefile.in ../orig-ruby-1.9.3-p362/thread_pthread.c ./thread_pthread.c --- ../orig-ruby-1.9.3-p362/thread_pthread.c 2012-09-20 16:34:12.000000000 +0200 +++ ./thread_pthread.c 2013-02-08 13:19:46.609491143 +0100 @@ -593,6 +593,27 @@ #endif native_main_thread.stack_maxsize = size - space; } + + /* If addr is out of range of main-thread stack range estimation, */ + /* it should be on co-routine (alternative stack). [Feature #2294] */ + { + void *start, *end; + + if (STACK_DIR_UPPER(1,0)) { + start = native_main_thread.stack_start; + end = (char *)native_main_thread.stack_start + native_main_thread.stack_maxsize; + } + else { + start = (char *)native_main_thread.stack_start - native_main_thread.stack_maxsize; + end = native_main_thread.stack_start; + } + + if ((void *)addr < start || (void *)addr > end) { + /* out of range */ + native_main_thread.stack_start = (VALUE *)addr; + native_main_thread.stack_maxsize = 0; /* unknown */ + } + } } #define CHECK_ERR(expr) \ -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
