--- ruby1.8-1.8.7.299.orig/debian/changelog +++ ruby1.8-1.8.7.299/debian/changelog @@ -0,0 +1,1888 @@ +ruby1.8 (1.8.7.299-2ubuntu0.1) maverick-security; urgency=low + + * SECURITY UPDATE: Cross-site scripting via HTTP error responses + - debian/patches/CVE-2010-0541.patch: Use the ISO-8859-1 character + set for HTTP error responses. Based on upstream patch. + - CVE-2010-0541 + * SECURITY UPDATE: Arbitrary code execution and denial of service + - debian/patches/CVE-2011-0188.patch: Remove cast to prevent memory + corruption during allocation. Based on upstream patch. + - CVE-2011-0188 + * SECURITY UPDATE: Arbitrary file deletion due to symlink race + - debian/patches/CVE-2011-1004.patch: Unlink the symlink rather + than recursively removing everything underneath the symlink + destination. Based on upstream patch. + - CVE-2011-1004 + * SECURITY UPDATE: Safe level bypass + - debian/patches/CVE-2011-1005.patch: Remove incorrect string taint + in exception handling methods. Based on upstream patch. + - CVE-2011-1005 + * SECURITY UPDATE: Predictable random number generation + - debian/patches/CVE-2011-2686.patch: Reseed the random number + generator each time a child process is created. Based on upstream + patch. + - CVE-2011-2686 + * SECURITY UPDATE: Predicatable random number generation + - debian/patches/CVE-2011-2705.patch: Reseed the random number + generator with the pid number and the current time to prevent + predictable random numbers in the case of pid number rollover. Based on + upstream patch. + - CVE-2011-2705 + * SECURITY UPDATE: Denial of service via crafted hash table keys + - debian/patches/CVE-2011-4815.patch: Add randomness to the key hashing + algorithm to prevent predictable results when inserting objects into a + hash table. Based on upstream patch. + - CVE-2011-4815 + + -- Tyler Hicks Tue, 21 Feb 2012 16:28:51 -0600 + +ruby1.8 (1.8.7.299-2) unstable; urgency=low + + * Convert from dpatch to quilt using dpatch2quilt.sh + * Add patch 100730_disable_getsetcontext_on_nptl: disable getsetcontext on + NPTL. LP: #307462, Closes: #579229 + * Added 100730_verbose-tests.patch: run tests in verbose mode. + * Run make test-all, but do not consider failures fatal for now. + * Upgrade to Standards-Version: 3.9.1. No changes needed. + * Deal with Ubuntu changing the GCC target to i686-linux-gnu: search + for libs in i486-linux too. LP: #611322. + + -- Lucas Nussbaum Fri, 30 Jul 2010 17:45:14 -0400 + +ruby1.8 (1.8.7.299-1) unstable; urgency=low + + * New upstream release + * Removed patches that the upstrem has applied: + - debian/patches/100312_timeout-fix.dpatch + - debian/patches/100620_fix_pathname_warning.dpatch + - debian/patches/100620_fix_super_called_outside_of_method.dpatch + + -- Daigo Moriwaki Sun, 27 Jun 2010 22:16:44 +0900 + +ruby1.8 (1.8.7.249-4) unstable; urgency=low + + [ Lucas Nussbaum ] + * Make ruby1.8 depend on exactly the same version of libruby1.8 after + private discussion with Alex Legler. This avoids confusing situations + for users. + * Update debian/patches/100312_timeout-fix.dpatch after discussion with + Petr Salinger. Treat FreeBSD the same as Linux. Closes: #580464 + + [ Daigo Moriwaki ] + * Removed debian/patches/091125_gc_check.dpatch, which the upstream has + applied. (Closes: #586374) + * Added debian/patches/100620_fix_pathname_warning.dpatch, which was + backported from the upstream r23485. + (Closes: #566611) + * Added debian/patches/100620_fix_super_called_outside_of_method.dpatch, + which was backported from the upstream r26534:26536. (Closes: #568597) + + -- Daigo Moriwaki Sun, 20 Jun 2010 17:30:27 +0900 + +ruby1.8 (1.8.7.249-3) unstable; urgency=low + + * Fix sections. Agree with ftpmasters. + * Update debian/copyright. Clarify that Ruby is GPLv2, not just "GPL". + * Merge lib{dbm,gdbm,readline,openssl}-ruby1.8 into libruby1.8. + * Merge irb1.8 and rdoc1.8 into ruby1.8. + * Update lintian override. + * Update debian/copyright. + * Upgrade to Standards-Version: 3.8.4. No changes needed. + * Add README.source. + * Fix not-binnmuable-all-depends-any lintian warning. + * Add lintian override for package-name-doesnt-match-sonames. + * Remove duplicate section/priority stanzas. + * Fix a few minor problems in manpages. + + -- Lucas Nussbaum Tue, 23 Mar 2010 13:21:22 +0100 + +ruby1.8 (1.8.7.249-2) unstable; urgency=low + + * Add 100312_timeout-fix.dpatch: Backport upstream change to fix + problem with threads and timeouts. Closes: #539987 + + -- Lucas Nussbaum Fri, 12 Mar 2010 07:13:47 +0100 + +ruby1.8 (1.8.7.249-1) unstable; urgency=high + + * New upstream release. + * The upstream has fixed a vulnerability in WEBrick, a part of Ruby's + standard library. WEBrick lets attackers to inject malicious escape + sequences to its logs, making it possible for dangerous control characters + to be executed on a victim's terminal emulator. + + -- Daigo Moriwaki Sun, 10 Jan 2010 22:40:36 +0900 + +ruby1.8 (1.8.7.248-1) unstable; urgency=low + + * New upstream release + * Removed patches that the upstream has been applied: + - debian/patches/904_rexml_text.dpatch + - debian/patches/090811_thread_and_select.dpatch + - debian/patches/090812_finalizer_at_exit.dpatch + - debian/patches/090812_class_clone_segv.dpatch + - debian/patches/090812_eval_long_exp_segv.dpatch + + -- Daigo Moriwaki Sun, 03 Jan 2010 14:46:17 +0900 + +ruby1.8 (1.8.7.174-3) unstable; urgency=low + + * Added debian/patches/091125_gc_check.dpatch: applied Bryan's patch to fix + garbage collector seg faults under race conditions. (upstream issue #2326) + Thans to Bryan McLellan. (Closes: #557924) + + -- Daigo Moriwaki Sat, 28 Nov 2009 12:50:08 +0900 + +ruby1.8 (1.8.7.174-2) unstable; urgency=medium + + [ akira yamada ] + * Added debian/patches/090811_thread_and_select.dpatch: threads may hangup + when IO.select called from two or more threads. + * Added debian/patches/090812_finalizer_at_exit.dpatch: finalizers should be + run at exit (Closes: #534241) + * Added debian/patches/090812_class_clone_segv.dpatch: avoid segv when an + object cloned. (Closes: #533329) + * Added debian/patches/090812_eval_long_exp_segv.dpatch: fix segv when eval + a long expression. (Closes: #510561) + * Added debian/patches/090812_openssl_x509_warning.dpatch: suppress warning + from OpenSSL::X509::ExtensionFactory. (Closes: #489443) + + [ Lucas Nussbaum ] + * Removed Fumitoshi UKAI from Uploaders. Thanks a + lot for the past help! Closes: #541037 + + [ Daigo Moriwaki ] + * debian/fixshebang.sh: skip non-text files, which works around hanging of + sed on scanning gif images. + * Bumped up Standards-Version to 3.8.2. + + -- Daigo Moriwaki Wed, 19 Aug 2009 20:24:37 +0900 + +ruby1.8 (1.8.7.174-1) unstable; urgency=low + + * New upstream release. + + -- Daigo Moriwaki Tue, 16 Jun 2009 23:16:51 +0900 + +ruby1.8 (1.8.7.173-1) unstable; urgency=high + + * New upstream release. + * removed unnecessary patchs under debian/patches: + - 168_rexml_dos.dpatch + - 801_update_sample_README + - 807_sync_try_lock_always_fail.dpatch + - 905_class_dup_should_copy_constants.dpatch + - 090301_r22646_OCSP_basic_verify.dpatch + * Added a patch: debian/patches/090613_exclude_rdoc.dpatch + * Added debian/libopenssl-ruby1.8.lintian-overrides + * The upstream has fixed the DoS vulnerability in BigDecimal Ruby + Library (CVE-2009-1904; Closes: #532689) + * debian/control: + - Bumped up Standards-Version to 3.8.1. + - Corrected sections. + + -- Daigo Moriwaki Sat, 13 Jun 2009 11:34:34 +0900 + +ruby1.8 (1.8.7.72-3.1) unstable; urgency=high + + * Non-maintainer upload by the Security Team. + * Add upstream patch to properly check return values of the + OCSP_basic_verify function (CVE-2009-0642; Closes: #522939,#517639) + + -- Nico Golde Tue, 07 Apr 2009 15:52:53 +0200 + +ruby1.8 (1.8.7.72-3) unstable; urgency=medium + + * applied debian/patches/905_class_dup_should_copy_constants.dpatch: + - Class#dup should copy constants into the duplicated class. + (closes: #506344) + + -- akira yamada Tue, 06 Jan 2009 10:56:56 +0900 + +ruby1.8 (1.8.7.72-2) unstable; urgency=high + + * updated 168_rexml_dos.patch: + - fixed regression of fix of REXML DoS vulnerability (CVE-2008-3790) + (ref: #502535) + + -- akira yamada Thu, 13 Nov 2008 10:19:49 +0900 + +ruby1.8 (1.8.7.72-1) unstable; urgency=high + + * New upstream release. + - many patches in 1.8.7.22-4 were simply backported from upstream SVN, and + are integrated into that release. We drop those: + + 103_array_c_r17472_to_r17756.dpatch + + 810_ruby187p22_fixes.dpatch + + 811_multiple_vuln_200808.dpatch + - Fixes the following security issues: (Closes: #494401) + * Several vulnerabilities in safe level + * DoS vulnerability in WEBrick + * Lack of taintness check in dl + * DNS spoofing vulnerability in resolv.rb (CVE-2008-1447) + * Applied debian/patches/168_rexml_dos.dpatch: + Fix CVE-2008-3790 (REXML expansion DOS). Closes: #496808. + + -- Lucas Nussbaum Wed, 10 Sep 2008 10:27:45 +0200 + +ruby1.8 (1.8.7.22-4) unstable; urgency=high + + * applied debian/patches/811_multiple_vuln_200808: + fixed multiple vulnerabilities issued at + + and + . + - v_1_8_7_32 - untrace_var is permitted at safe level 4 + - v_1_8_7_35 - $PROGRAM_NAME may be modified at safe level 4 + - v_1_8_7_33 - Insecure methods may be called at safe level 1-3 + - v_1_8_7_44 - Syslog operations are permitted at safe level 4 + - v_1_8_7_69 - DoS vulnerability in WEBrick + - v_1_8_7_72 - Lack of taintness check in dl + - v_1_8_7_71 - DNS spoofing vulnerability in resolv.rb + + -- akira yamada Tue, 12 Aug 2008 09:44:52 +0900 + +ruby1.8 (1.8.7.22-3) unstable; urgency=medium + + * applied debian/patches/810_ruby187p22_fixes.dpatch: + fixed incompatibilities and degreades about Ruby 1.8.7 and 1.8.7-p22. + - v1_8_7_23: incompatibility about class methods. + - v1_8_7_46: cgi.rb shouldn't reject filenames which include spaces. + - v1_8_7_39: self concat of string issue + - v1_8_7_47: respond_to? issue + - v1_8_7_51: Float#to_i gives incorrect sign in x86_64_linux + + - v1_8_7_54: [ruby-core:17491] [Ruby 1.8.7 - Bug #213] (Open) Different + ERB behavior across versions + - v1_8_7_58: IPAddr.new("192.168.1.1").to_range raise an exception + [ruby-dev:35091] + - v1_8_7_59: Zlib::GzipWriter#mtime= sets wrong mtime for Time on 1.8 + - v1_8_7_60: XMLRPC::Client#do_rpc should require webrick/cookie. + + + -- akira yamada Tue, 22 Jul 2008 11:51:53 +0900 + +ruby1.8 (1.8.7.22-2) unstable; urgency=low + + * applied debian/patches/103_array_c_r17472_to_r17756.dpatch: + - fixed an integer overflow bug. + + -- Daigo Moriwaki Thu, 03 Jul 2008 23:49:52 +0900 + +ruby1.8 (1.8.7.22-1) unstable; urgency=high + + * New upstream release. + * Fixed vulnerability: arbitrary code execution vulnerability and so on + (Closes: #487238) + + -- Daigo Moriwaki Fri, 20 Jun 2008 23:24:07 +0900 + +ruby1.8 (1.8.7.17-1) unstable; urgency=low + + * New upstream release. + * removed patches that the upstream has included: + - debian/patches/201_erb_187_release.dpatch + - debian/patches/202_delegate_187_release.dpatch + - debian/patches/203_openssl_ctx_r187_release.dpatch + * debian/watch: it will report 1.8.\d-p\d* versions. + + -- Daigo Moriwaki Wed, 11 Jun 2008 21:08:19 +0900 + +ruby1.8 (1.8.7-2) unstable; urgency=low + + [ Daigo Moriwaki ] + * applied debian/patches/201_erb_187_release.dpatch: + - fixed a bug where tokens are not yilelded one by one. + - fixed a bug caused by strscan incompatibility. + * applied debian/patches/202_delegate_187_release.dpatch: + - fixed a bug caused by marshal.c incompatibility. + + [ Lucas Nussbaum ] + * applied debian/patches/203_openssl_ctx_r187_release.dpatch: + - might help with Debian bug #483974 + + -- Daigo Moriwaki Wed, 04 Jun 2008 22:45:19 +0900 + +ruby1.8 (1.8.7-1) unstable; urgency=low + + * New upstream release. + * debian/rules: corrected permissions of the header files. + + -- akira yamada Sun, 01 Jun 2008 20:51:06 +0900 + +ruby1.8 (1.8.7~preview2-1) unstable; urgency=low + + * new upstream release. (1.8.7-preview2) + - removed unnecessary patches: + - debian/patches/802_delegate.rb.patch.dpatch + - debian/patches/805_ruby-bugs-11507.dpatch + - debian/patches/100_CVE-2007-5162.dpatch + + -- akira yamada Tue, 22 Apr 2008 10:56:38 +0900 + +ruby1.8 (1.8.6.114-2) unstable; urgency=low + + * No longer build using gcc-4.1 on m68k. Use the default gcc version. + (Closes: #463297) + * Added patch 102_configure.in-crosscompile to allow cross-compiling + (Closes: #341256) + * Add -g to CFLAGS (noticed by the Ubuntu folks). + + -- Lucas Nussbaum Fri, 21 Mar 2008 11:56:47 +0100 + +ruby1.8 (1.8.6.114-1) unstable; urgency=medium + + [ Daigo Moriwaki ] + * New upstream release + - fixed a file access vulnerability of WEBrick (Closes: #469475) + - removed an unnecessary patch: + debian/patches/808_rexml_document_transitive + * debian/control: + - improved description of libopenssl-ruby1.8. (Closes: #469366) + - added a conflict against the older version in libopenssl-ruby1.8, + which makes it easy to upgrade Etch to Lenny. (Closes: #466232) + - ruby1.8-dev now depends on libc6-dev. (Closes: #466190) + + [ Lucas Nussbaum ] + * debian/control: Added Homepage and Vcs-* fields. + * Added 809_update_lib_README.dpatch: remove mkmf.rb from + lib/README. Closes: #414727. + * Improved description of ruby1.8-dev. + + -- Daigo Moriwaki Wed, 05 Mar 2008 22:17:08 +0900 + +ruby1.8 (1.8.6.111-4) unstable; urgency=low + + [ Lucas Nussbaum ] + * Fixed debian/watch file to correctly report versions with -p. + Also use FTP PASV mode, so it works even in firewalled networks. + + [ Daigo Moriwaki ] + * applied debian/patches/904_rexml_text.dpatch: + - rcov may crash because of backwards incompatibility. This fix is a + back port from the upstream (r14826-15141). + Thanks to Antonio Terceiro. (closes: #462902) + + -- Daigo Moriwaki Mon, 28 Jan 2008 23:44:29 +0900 + +ruby1.8 (1.8.6.111-3) unstable; urgency=low + + [ Lucas Nussbaum ] + * added myself to Uploaders:. + + [ Daigo Moriwaki ] + * debian/rules: recognized i586 and i686 as well as i486. + (closes: #452548) + * debian/control: bumped up Standards-Version to 3.7.3. + * debian/rules: COPYING*, which are extra license files, are no longer + packaged. + * libtcltk-ruby1.8 + - eliminated an executable permission from + ./ext/tk/sample/tkextlib/tktable/tcllogo.gif + + -- Daigo Moriwaki Thu, 10 Jan 2008 23:29:32 +0900 + +ruby1.8 (1.8.6.111-2) unstable; urgency=low + + * applied debian/paches/808_rexml_document_transitive.dpatch: + - Document#write undefined local variable or method `transitive'. + (closes: #447834) + + -- akira yamada Wed, 24 Oct 2007 12:21:04 +0900 + +ruby1.8 (1.8.6.111-1) unstable; urgency=high + + * new upstream version 1.8.6-p111. + - removed patches which are included in upstream: + 804_strcut_clone_leaks_memory.dpatch 806_c++_compile_error.dpatch + 808_sparc_flushw.dpatch 904_rdoc_dot_version.dpatch + * applied debian/patches/100_CVE-2007-5162.dpatch: + - security fixes for CVE-2007-5162. It is backported r13657 from + ruby_1_8 branch. + * debian/ruby1.9-elisp.emacsen-startup: uses "\\\\'" for ignore newlines in + filenames. (ref: #446180) Thanks to Trent W. Buck. + * debian/control: added Daigo Moriwaki to uploaders and removed Akira Tagoh + from uploaders. + + -- akira yamada Thu, 18 Oct 2007 09:56:39 +0900 + +ruby1.8 (1.8.6.36-3) unstable; urgency=low + + * debian/rules: added -g option to CFLAGS. (closes: #434453) + + -- akira yamada Thu, 06 Sep 2007 11:19:03 +0900 + +ruby1.8 (1.8.6.36-2) unstable; urgency=low + + * applied patches: + - debian/patches/808_sparc_flushw.dpatch: call "ta 0x03" even on + Linux/Sparc. [ruby-dev:31674] (closes: #393817) + + -- akira yamada Thu, 06 Sep 2007 09:43:34 +0900 + +ruby1.8 (1.8.6.36-1) unstable; urgency=low + + * new upstream release 1.8.6-p36. + - Fix a bug in Etc::getgrgid() always returning the (real) group entry of + the running process. [ruby-dev:30586] (closes: #426200) + * applied patches: + - debian/patches/804_strcut_clone_leaks_memory.dpatch: Struct#clone leaks + memory. [ruby-dev:31168] + - applied debian/patches/805_ruby-bugs-11507.dpatch: + ConditionVariable#wait may raise "not owner" exceptions. + - applied debian/patches/806_c++_compile_error.dpatch: fixed compile + errors on C++ extension libraries. + - applied debian/patches/807_sync_try_lock_always_fail.dpatch: + Sync#try_lock always fails due to wrong variable name. (closes: 429686) + Thanks: Dmitry Borodaenko + * debian/rules: fixed wrong arch_name for arm-linux-gnueabi. + (closes: #432863) + * debian/control: ruby1.8-elisp depends on "emacs | emacsen". + (closes: #433984) + + -- akira yamada Mon, 23 Jul 2007 11:27:51 +0900 + +ruby1.8 (1.8.6-2) unstable; urgency=low + + * rdoc1.8 should accept graphviz 2.x. (closes: #425000) + - applied the patch from Paul van Tilburg. thanks. + + -- akira yamada Mon, 18 Jun 2007 10:59:40 +0900 + +ruby1.8 (1.8.6-1) unstable; urgency=low + + * new upstream version, 1.8.6. + * libruby1.8 conflicts with libopenssl-ruby1.8 (< 1.8.6) (closes: #410018) + * changed packaging style to cdbs from dbs. + + -- akira yamada Tue, 13 Mar 2007 22:11:58 +0900 + +ruby1.8 (1.8.5-4) unstable; urgency=high + + * applied debian/patches/149_bignum_to_s.patch: + - Bignum#to_s(10) broken. [ruby-dev:29710] + * applied debian/patches/150_time_dup.patch: + - duplicate the class of original time. [ruby-core:09357] + * applied debian/patches/151_super.patch: + - fixed bug of zsuper with both of opt and rest. fixed: + [ruby-list:42928] + * applied debian/patches/152_dir_glob.patch: + - get rid of possible memory leak. + * applied debian/patches/153_set_xor.patch: + - fixed XOR operation against a container that holds duplicate values. + [issue: #6444] + * applied debian/patches/154_parse.y_segv.patch: + - '().."' dumps core. [ruby-dev:29732] + * applied debian/patches/155_imap_nomodseq.patch and + debian/patches/803_imap_nomodseq.patch. + * applied debian/patches/156_rss_needless_include.patch: + - removed needless include. + * applied debian/patches/157_eval_iter_pre.patch: + - ruby_block may be NULL even when ITER_PRE. + * applied debian/patches/158_file_supplementray_group.patch: + - File should honor supplementary group IDs. [ruby-core:09546] + * applied debian/patches/159_implicit_visibility.patch: + - set implicit visibility only when it's called for the target class. + * applied debian/patches/160_bignum_segv.patch: + - aBignum*aFloat dumps core. [ruby-list:43012] + * applied debian/patches/161_sprintf_width.patch: + - need not to truncate string if no width specifier given for %s. + [ruby-dev:29952] + * applied debian/patches/162_ossl_oscperror.patch: + - OpenSSL::OCSP::OSCPError should be subclass of OpenSSL::OpenSSLError. + [ruby-dev:29980] + * applied debian/patches/163_cgi.rb_quote_boundary.patch: + - [security] invalid multipart boundary can make cgi.rb infinite loop + and CPU consumption. (JVN#84798830) + * added notes for HTTP_PROXY environment variable to README.Debian. + (closes: #396304, #399706) + + -- akira yamada Mon, 4 Dec 2006 10:12:29 +0900 + +ruby1.8 (1.8.5-3) unstable; urgency=medium + + * removed debian/patches/801_imap_extraspace.patch and + added debian/patches/128_imap_extraspace.patch: + - the fix is included into upstream CVS. + * renamed debian/patches/802_rdoc_nameerror.patch to + debian/patches/129_rdoc_nameerror.patch: + - the fix is included into upstream CVS. + * applied debian/patches/130_empty_content.patch: + - invalid multipart data can make cgi.rb infinite loop and CPU + consumption. (CVE-2006-5467) + * applied debian/patches/131_sandbox.patch: + - added Thread#kill!. [ruby-core:08768] + * applied debian/patches/132_update_docs.patch: + - small fixes and updates for rdocs. + * applied debian/patches/133_array.patch: + - fixed a potential leaks caused by shift. [ruby-talk:216055] + [ruby-core:08922] [ruby-list:42907] + * applied debian/patches/134_dir_checkdir.patch: + - internal existence test for "/" fails anytime. [ruby-core:08913] + * applied debian/patches/135_mkmf.patch: + - set default $LDFLAGS. [ruby-talk:216256] + - check function pointer first and macro next. [ruby-core:08949] + - fixed the bug of handling COMMON_MACROS. + * applied debian/patches/137_jcode.patch: + - succ! in jcode.rb doesn't work on $KCODE == 'n'. [ruby-talk:216845] + * applied debian/patches/138_eval.patch: + - check protected visibility based on real self, not ruby_frame->self. + [ruby-talk:217822] + * applied debian/patches/139_include_module.patch: + - remove unnecessary check. [ruby-talk:218402] + * applied debian/patches/140_bignum_shift.patch: + - a bug in right shift of negative bignums. [ruby-core:09020] + * applied debian/patches/141_rexml_enc.patch: + - spaces are allowed around equal sign. [ruby-core:09032] + * applied debian/patches/142_wrong_id_check.patch: + - wrong id check. [ruby-core:09158] + - typo fixed. [ruby-core:09168] + * applied debian/patches/143_rb_warning.patch: + - some error message may contain format specifiers. [ruby-dev:29657] + * applied debian/patches/144_parse.y.patch.patch: + - no need to re-create NODE_SELF() again. [ruby-core:09177] + - use particular enums. [ruby-core:09221] + * applied debian/patches/145_signal.patch: + - handle SIGTERM. [ruby-list:42895] + - don't set SA_RESTART. a backport from the HEAD. [ruby-talk:220937] + [ruby-talk:147220] + * applied debian/patches/146_string_tainted.patch: + - should be infected with only original string, but not the shared + string. [ruby-core:09152] + - strnig.c (rb_str_new4): keep shared string untainted when orignal + string is tainted. [ruby-dev:29672] + * applied debian/patches/147_configure_alloca.patch: + - alloca is broken; use C_ALLOCA instead. [ruby-dev:29416] + * applied debian/patches/148_openssl.patch: + - ossl_pkcs7_verify, ossl_spki_initialize: should clear error. + (Closes: #394336) + - Use digest/md5 instead of obsolete md5. + * applied debian/patches/803_imap_nomodseq.patch: + - net/imap chokes on NOMODSEQ response. [ruby-Bugs#6026] + (Closes: #392803) + * applied debian/patches/804_soap.patch: + - huge memory usage with the Ebay API. + (Closes: 393685) + + -- akira yamada Mon, 30 Oct 2006 15:15:56 +0900 + +ruby1.8 (1.8.5-2) unstable; urgency=high + + * applied debian/patches/802_rdoc_nameerror.patch: + - rdoc/ri/ri_options.rb should require 'rdoc/ri/ri_paths'. (Closes: 388743) + * applied debian/patches/126_gdbm_docs.patch (and updated + debian/patches/901_.document.patch): + - added GDBM documents. + * applied debian/patches/127_etc_uid_t.patch: + - etc.c should use uid_t instead of int. [ruby-core:08897] + + -- akira yamada Fri, 22 Sep 2006 20:35:04 +0900 + +ruby1.8 (1.8.5-1) unstable; urgency=medium + + * new upstream version. (Closes: #376618, #378476) + * applied debian/patches/100_rexml_encoding.patch: + - REXML should accept UTF-16. [ruby-list:42737] + * applied debian/patches/101_rdoc.patch: + - Don't unescape HTML in HtmlFormatter. Submitted by Kent Sibilev + . [ruby-core:08392]. + - lib/rdoc/generators/ri_generator.rb: do not chdir twice. + * applied debian/patches/102_hash_memory_reak.patch: + - hash.c (rb_hash_s_create): fixed memory leak, based on the patch + by Kent Sibilev . fixed: [ruby-talk:211233] + * applied debian/patches/103_top_cref.patch: + - eval.c (ruby_init): rename top_cref to ruby_top_cref and export, + along with ruby_cref, for use by the sandbox. [ruby-core:08762] + * applied debian/patches/104_tcltk.patch: + - ext/tk/lib/tkextlib/blt.rb: double dashes (--) option doesn't work + properly on some versions of BLT (wrong description on the manual of + `blt::bgexec'?). + - ext/tk/lib/tk/font.rb: TkFont#current_configinfo() doesn't work on + Tcl/Tk8.x. + - ext/tk/lib/tk.rb: update RELEASE_DATE. + * applied debian/patches/105_acl.patch: + - patterns which include '*' should not cause getaddress() call. + [ruby-dev:29406] + * applied debian/patches/106_socket.patch: + - ext/socket/extconf.rb: check arpa/inet.h for ntohs. + - ext/socket/socket.c: include arpa/inet.h if available. + - ext/socket/socket.c (ruby_connect): sockerrlen should be socklen_t. + * applied debian/patches/107_exec_vs_nullbyte.patch: + - io.c (pipe_open): null character should be saved for command name. + [ruby-dev:29421] + - process.c (proc_spawn): ditto. + - process.c (proc_spawn_n): ditto. + - process.c (rb_f_system): ditto. + * applied debian/patches/108_mimedec.patch: + - CGI#out should not decode base64 strings. [ruby-dev:29284] + - Kconv::toeuc should decode base64 strings. (reverted to old behaviour + for compatibility.) [ruby-dev:29505] + - corrected regexp for EUC-JP (Kconv::RegexpEucjp). [ruby-dev:29344] + * applied debian/patches/109_strftime_nullbyte.patch: + - Time#strftime should save null character. [ruby-dev:29422] + * applied debian/patches/110_dbm_extconf.patch: + - ext/dbm/extconf.rb: create makefile according to the result of check + for dbm header. fixed: [ruby-dev:29445] + - ext/dbm/extconf.rb: allow multiple candidates for dbm-type. + * applied debian/patches/111_check_sticky_bit.patch: + - file.c (path_check_0): check if sticky bit is set on parent + directories for executable path. fixed: [ruby-dev:29415] + - Fix documentation submitted by Rick Ohnemus. ruby-Bugs-5529. + [ruby-core:08725] + * applied debian/patches/112_float_hash.patch: + - improve hash collision of Float objects. [ruby-dev:29352] + * applied debian/patches/113_time_vardecl.patch: + - time.c (time_to_s): variable declaration after an execution + statement. + * applied debian/patches/114_bignum.patch: + - numeric.c (fix_plus): addition in Fixnum will never overflow + long. a patch from Ondrej Bilka . + [ruby-core:08794] + - numeric.c (fix_minus): ditto. + - bignum.c (rb_big_pow): eagerly truncate resulting bignum. + [ruby-core:08794] + * applied debian/patches/115_migration_macro.patch: + - ruby.h (RSTRING_PTR): add migration macro. + - ruby.h (RARRAY_PTR): ditto. + * applied debian/patches/116_webrick_cookie.patch: + - lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookies): new + method to parse multiple cookies per Set-Cookie header. + Thanks to Aaron Patterson . + [ruby-core:08802] + * applied debian/patches/117_suppress_warnings.patch: + - mkconfig.rb, ext/extmk.rb, lib/mkmf.rb: suppress warnings with $VERBOSE. + - ext/extmk.rb: Proc#call does not pass the block in 1.8. + - Makefile.in, win32/Makefile.sub (MINIRUBY): append MINIRUBYOPT. + * applied debian/patches/118_pstore_binmode.patch: + - lib/pstore.rb: open all in binary mode, and get rid of the quirk of + msvcrt. fixed: [ruby-dev:29518] + * applied debian/patches/119_testunit_rescue.patch: + - Rescue Exception in Test::Unit::TestCase#run. [ruby-core:08783] + * applied debian/patches/120_prevent_loading_twice.patch: + - eval.c (rb_require_safe): prevent loading twice from extensions. + fixed: [ruby-dev:29523] + * applied debian/patches/121_prohibit_intern_tainted_string.patch: + - string.c (rb_str_intern): prohibit interning tainted string. + * applied debian/patches/122_ruby_mode.patch: + - misc/ruby-mode.el (ruby-parse-partial): better here-doc support. + a patch from Marshall T. Vandegrift . + [ruby-core:08804] + * applied debian/patches/123_readme_ext.patch: + - README.EXT: English adjustment. [ruby-core:08851] [ruby-core:08852] + [ruby-core:08855] + * applied debian/patches/124_check_safe_level_for_str_intern.patch: + - string.c (rb_str_intern): raise SecurityError only when $SAFE + level is greater than zero. [ruby-core:08862] + - parse.y (rb_interned_p): new function to check if a string is + already interned. + - object.c (str_to_id): use rb_str_intern(). + * applied debian/patches/125_pty.patch: + - ext/pty/pty.c (establishShell): parent pid is not used. + - ext/pty/pty.c (freeDevice): not used. + - ext/pty/pty.c (get_device_once): removed garbage right brace. + - ext/pty/pty.c (establishShell): remove remaining unused line. + * debian/control, debian/rules: [m68k] build-depends on "gcc-4.1 (>= + 4.1.1-11)" and configures with CFLAGS=-O2. (Closes: #384456) + * debian/rdoc1.8.1: updated. (Closes: #384615) + * applied debian/patches/801_imap_extraspace.patch: + - net/imap can accept extra space in server responses. (Closes: #387900) + The patch from Tom Soderlund. + + -- akira yamada Wed, 20 Sep 2006 12:01:13 +0900 + +ruby1.8 (1.8.4-5) unstable; urgency=medium + + * Update debian/patches/903_mkconfig.rb.patch to unquote commas, unbreaking + CONFIG["LDFLAGS"]. (Closes: #373679) Thanks Adeodato Sim坦. + + -- akira yamada Sat, 17 Jun 2006 09:57:02 +0900 + +ruby1.8 (1.8.4-4) unstable; urgency=medium + + * added debian/patches/903_mkconfig.rb.patch + - removes "|#_!!_#|" generated by autoconf_2.59.cvs.2006.06.05-1. + (Closes: #372473) + + -- akira yamada Sat, 10 Jun 2006 07:46:47 +0900 + +ruby1.8 (1.8.4-3) unstable; urgency=medium + + * configure with -fno-strict-aliasing. (Closes: #370553) + * rdoc1.8 suggests graphviz. (Closes: #339524) + * debian/copyright: added a note for using libopenssl-ruby1.8 + (Closes: #367024) + * added debian/patches/135.patch: + - should check if chars are multibyte for regexp-i option. + [ruby-dev:28598] [ruby-list:42096] + * added debian/patches/136.patch: + - jcode.rb breaks String#tr_s. [ruby-list:42090] + * added debian/patches/137.patch: + - Array#pack supports CRLF newlines. [ruby-dev:28601] + * added debian/patches/138.patch: + - should initialize variables first. [ruby-core:07785] [ruby-core:07810] + - avoid accessing uninitialized array element. [ruby-core:07809] + * added debian/patches/139.patch: + - Numeric#div should use floor rather than Interger. [ruby-dev:28589] + - the first element of Float#divmod should be an integer. + [ruby-dev:28589] + * added debian/patches/140.patch: + - avoids memory leak of YAML. [ruby-core:7808] + * added debian/patches/141.patch: + - fixes out of bounds array access. [ruby-core:07823] + * added debian/patches/142.patch: + - use AF_INET6 for nameservers containing colons. + * added debian/patches/143.patch: + - JVN#13947696 CVE-2006-3694 Bug#378029 + - should not modify untainted objects in safe levels higher than 3. + - should not allow modifying literal regexps. + * added debian/patches/144.patch: + - JVN#13947696 CVE-2006-3694 Bug#378029 + - should not close untainted dir stream in $SAVE >= 4. + - should not call a vararg function rb_sys_warning() indirectly. + [ruby-core:07886] + * added debian/patches/145.patch: + - should round for usec floating number. [ruby-core:07896] + (Closes: #367609) + * added debian/patches/146.patch: + - constant in Fixnum access with instance_eval dumps core. + [ruby-dev:28327] + - inspect for overriden method. [ruby-dev:28636] + - set_trace_func dumps core. [ruby-dev:28632] + - set_trace_func: binding has wrong self value for return events. + [ruby-core:07928] + * added debian/patches/147.patch: + - fixed typo of openssl/ssl.rb. + * added debian/patches/148.patch: + - fixed memory leak and alignment bug of the dl library. [ruby-dev:28665] + * added debian/patches/149.patch: + - new method: IO#read_nonblock, IO#write_nonblock, + Socket#connect_nonblock, Socket#accept_nonblock and + Socket#recvfrom_nonblock. [ruby-core:7917] + - use rb_read_pending instead of rb_io_read_pending. [ruby-dev:28663] + - new method: IPSocket#recvfrom_nonblock, TCPServer#accept_nonblock, + UNIXServer#accept_nonblock. + - reject non-AF_UNIX sockaddr. [ruby-dev:28691] + + -- akira yamada Fri, 9 Jun 2006 17:25:16 +0900 + +ruby1.8 (1.8.4-2) unstable; urgency=medium + + * akira yamada + - applied following bug-fix-patches. + - added debian/patches/100.patch: + - fixed a bug in constant reference during instance_eval for some type of + objects. [yarv-dev:707] + - added debian/patches/101.patch: + - allow dynamic symbols (:"...") to undef and alias. [ruby-dev:28105] + - added debian/patches/102.patch: + - (openssl) treat wildcard character in commonName. [ruby-dev:28121] + - (openssl) should use "rb_str_new(0, 0)" to make empty string. + - added debian/patches/103.patch: + - callcc or thread may leak memory [ruby-Bugs:1364] [ruby-dev:28154] + [ruby-dev:28172] + - mark objects refered from aborting threads. [ruby-dev:28190] + - added debian/patches/104.patch: + - avoid a GC problem with RUBY_ALWAYS_GC= ./ruby -e ''. + - declare rb_gc_abort_threads. + - added debian/patches/105.patch: + - should not recycle scope object used in a thread. [ruby-dev:28177] + - added debian/patches/106.patch (urgency medium): + - get rid of segfault on syntax error. [ruby-core:07070] + - added debian/patches/107.patch: + - fixed typo in webrick/httpservlet/filehandler.rb: fixed typo. + [ruby-core:7075] + - added debian/patches/108.patch (urgency medium): + - YAML loading of quoted Symbols broken. [ruby-Bugs:2535] + - YAML could not load Bignum in ruby 1.8.3/1.8.4. [ruby-core:6115] + - YAML could not dump Subclass of Numeric properly. [ruby-core:7047] + - should be able to load "!ruby/object:Bignum" syntax 1.8.3 dumped. + [ruby-core:6159] + - workaround for SEGV. ex: YAML.load("!map:B {}"). [ruby-core:7217] + - fixed a typo in yaml.rb. [ruby-talk:165285] [ruby-core:6995] + - YAML should output complex key mark even if map's key is empty seq/map. + [ruby-core:7129] + - obsoletes debian/patches/801_yaml_bignum.patch and + debian/patches/802_yaml_symbol.patch. + - added debian/patches/109.patch: + - fixed possibility of memmory corruption. + - added debian/patches/111.patch: + - don't clobber %l7 of SPARC if enable-shared. + - workaround for FreeBSD/i386 getcontext/setcontext bug. [ruby-dev:28263] + - added debian/patches/112.patch: + - FileUtils#mv should remove file after copying. [ruby-dev:28223] + - added debian/patches/113.patch: + - avoids compile error (use system routine if provided). + [ruby-core:07195] + - added debian/patches/114.patch: + - need not to protect $SAFE value. [ruby-core:07177] + - added debian/patches/115.patch: + - (2**32).to_s(2) fails with exception where sizeof(int) == 4 < + sizeof(long). [ruby-core:7300] [ruby-Bugs:3438] + - added debian/patches/116.patch: + - PStore#fetch should return default value if name is not found. + [ruby-core:7304] + - added debian/patches/117.patch: + - defined RSTRUCT_LEN and RSTRUCT_PTR for source level compatibility with + ruby 1.9. + - alias RbConfig for Config for compatibility with ruby 1.9. + - added debian/patches/118.patch: + - should not access ruby objects in finalizer of Zlib. [ruby-dev:28286] + - added debian/patches/119.patch: + - no need to push ruby_class. [ruby-dev:28176] [ruby-dev:28580] + - check if ruby_cbase is nil (during instance_eval for objects cannot have + singleton classes, e.g. fixnums and symbols). [ruby-dev:28178] + [ruby-dev:28580] [ruby-dev:28582] + - argument update propagation. [ruby-dev:28044] + - avoid unnecessary extra argument. [ruby-core:07366] [ruby-dev:28583] + [ruby-dev:28583] + - added debian/patches/120.patch: + - support non 32bit time_t environments. + - added debian/patches/121.patch: + - zsuper (with define_method) dumps core. [ruby-dev:28181] + - added debian/patches/122.patch: + - should no singleton classes for true, false, and nil. [ruby-dev:28186] + - added debian/patches/124.patch: + - sleep should always sleep for specified amount of time. + [ruby-talk:180067] + - added debian/patches/125.patch: + - unpack("l") did not work where sizeof(long) != 4. [ruby-talk:180024] + - fixed integer overflow on template "w" of pack. [ruby-talk:180126] + - added debian/patches/126.patch: + - removed unnecessary MY_FILE_NAME constant. [ruby-core:07376] + - added debian/patches/127.patch: + - odd break behavior. [ruby-talk:180420] + - added debian/patches/128.patch: + - unexpected syntax error. [ruby-talk:180648] + - added debian/patches/129.patch: + - fixed that irb can't parse /\^/. [ruby-dev:28404] [ruby-Bugs:3302] + - rdoc could not handle /\^/. [ruby-talk:181631] [ruby-dev:28404] + - added debian/patches/130.patch: + - symbols overlap ordinary objects. [ruby-core:07414] + - heap_slots may overflow. + - align VALUE with sizeof(RVALUE) globally. [ruby-talk:178364] + [ruby-core:7305] + - added debian/patches/131.patch: + - should not re-schedule output from KILLED thread. + - added debian/patches/133.patch: + - JVN#83768862 CVE-2006-3694 Bug#378029 + - reports aliased method names in a generated backtrace. [ruby-dev:28471] + - insecure calling should be checked for non NODE_SCOPE method invocations + too. + - should preserve the current safe level as well as method definition. + - added debian/patches/134.patch: + - (bignum) second operand may be too big even if it's a Fixnum. + [ruby-talk:187984] + - libruby1.8-dbg: applied a patch from Matthew Palmer to provide detached + symbols. (Closes: #363024) + + -- akira yamada Wed, 19 Apr 2006 16:46:28 +0900 + +ruby1.8 (1.8.4-1) unstable; urgency=low + + * akira yamada + - new upstream version. + - removed debian/patches/100_1.8.4-preview2+.patch: + - included in upstream. + - added debian/patches/802_yaml_symbol.patch: + - YAML loading of quoted symbols is broken (Closes: #344042) + - README.Debian improvement suggestion (Closes: #344293) + - debian/compat: compat level 4. + + -- akira yamada Sun, 25 Dec 2005 19:57:08 +0900 + +ruby1.8 (1.8.3+1.8.4preview2-1) unstable; urgency=low + + * akira yamada + - debian/control: updated description of ruby1.8. + - new upstream snapshot. (1.8.4-preview2) + - removed debian/patches/100_1.8.4-preview1.patch: + - these are included in 1.8.4-preview2. + - added debian/patches/100_1.8.4-preview2+.patch: + - bug fixes. + - configure with -O2 for IA64. + + -- akira yamada Sat, 17 Dec 2005 13:22:33 +0900 + +ruby1.8 (1.8.3-3) unstable; urgency=high + + * akira yamada + - removed debian/patches/{101_remove_unnecessary_file.patch, + 102_mkmf.rb_default_path.patch,103_fileutils_visibility.patch, + 104_ruby-mode.el_indent.patch,105_xmlrpc-server.patch, + 106_optparse_unmatched_args.patch,107_webrick-cgi_query_string.patch, + 108_webrick_default_userdir.patch,109_suppress_warnings.patch, + 110_document_update.patch,111_moreinfo_unknown_node_type.patch, + 112_prevent_add_trace-func.patch,113_autoload.patch, + 114_binding_dup.patch,115_respond_to.patch,116_pthread_setitimer.patch, + 117_check_eof.patch,118_prototype_and_const.patch, + 119_abolish_sizeof_file.patch,120_tktable_call_border.patch, + 121_strscan.c_remove_useless_code.patch,122_parse.y_parser_stack.patch, + 123_openssl_add_ssl_algorithms.patch,124_rinda_check_remote_hash.patch, + 125_file.c_fix_type.patch,126_file_join.patch, + 127_regex_numeric_literal.patch}: + - these are included in 1.8.4-preview1. + - added debian/patches/100_1.8.4-preview1.patch: + - new upstream snapshot. (1.8.4-preview1) + - (urgency high) debian/rules: build with -O1 for m68k. (closes: #329364) + - debian/rules, debian/control: net/https.rb is moved to libopenssl-ruby1.8 + from libruby1.8. (On 1.8.3-2, net/https.rb was moved to libruby1.8 from + libopenssl-ruby1.8 by mistake.) libruby1.8 conflicts with + libopenssl-ruby1.8_1.8.3-2 and libopenssl-ruby1.8 replaces + libruby1.8_1.8.3-2. (closes: #335706) + + -- akira yamada Sat, 29 Oct 2005 12:45:27 +0900 + +ruby1.8 (1.8.3-2) unstable; urgency=high + + * akira yamada + - added debian/patches/104_ruby-mode.el_indent.patch: + - deal with heredoc separately. [ruby-list:41168] + - arrange deep-indent closing parenthesis at same column as the opening. + - closes: #309631, #301637 + - added debian/patches/121_strscan.c_remove_useless_code.patch: + - remove useless code from strscan.c. [ruby-dev:26368][ruby-dev:27389] + - closes: #332477 + - (urgency high) added debian/patches/122_parse.y_parser_stack.patch: + - manage parser stack on heap. [ruby-list:41199] + - bison allocates indivisible size. [ruby-core:06261] + - byacc never free parser stack. [ruby-dev:27428] + - closes: #333342, #330008 + - (urgency high) added debian/patches/801_yaml_bignum.patch: + - YAML.dump/load cannot handle Bignum. [ruby-core:6159] + - patch from Michael Ablassmeier + - closes: #331050 + - added debian/patches/126_file_join.patch + - File.join may cause segv. [ruby-core:06326] + - added bugfix patch. + - debian/patches/101_remove_unnecessary_file.patch [ruby-dev:27270] + - debian/patches/102_mkmf.rb_default_path.patch [ruby-dev:27281] + - debian/patches/103_fileutils_visibility.patch + [ruby-core:05954][ruby-core:05858][ruby-Bugs:2494] + - debian/patches/105_xmlrpc-server.patch + - debian/patches/106_optparse_unmatched_args.patch [ruby-dev:27316] + - debian/patches/107_webrick-cgi_query_string.patch [ruby-list:41186] + - debian/patches/108_webrick_default_userdir.patch + - debian/patches/109_suppress_warnings.patch + [ruby-dev:27237][ruby-core:05854][ruby-core:06247][ruby-dev:27383] + - debian/patches/110_document_update.patch + [ruby-core:05942][ruby-core:06027][ruby-core:06053] + - debian/patches/111_moreinfo_unknown_node_type.patch [ruby-dev:26196] + - debian/patches/112_prevent_add_trace-func.patch + - debian/patches/113_autoload.patch [ruby-dev:27331] + - debian/patches/114_binding_dup.patch [yarv-dev:666] + - debian/patches/115_respond_to.patch [ruby-dev:27408][ruby-dev:27411] + - debian/patches/116_pthread_setitimer.patch + - debian/patches/117_check_eof.patch [ruby-dev:27334] + - debian/patches/118_prototype_and_const.patch + - debian/patches/119_abolish_sizeof_file.patch [ruby-dev:27317] + - debian/patches/120_tktable_call_border.patch + - debian/patches/123_openssl_add_ssl_algorithms.patch + - debian/patches/124_rinda_check_remote_hash.patch + - debian/patches/125_file.c_fix_type.patch + - debian/patches/127_regex_numeric_literal.patch [ruby-list:41328] + + -- akira yamada Wed, 19 Oct 2005 18:50:09 +0900 + +ruby1.8 (1.8.3-1) unstable; urgency=high + + * akira yamada + - new upsptream version 1.8.3. + - [security] JVN#62914675 CVE-2005-2337 + - preserve safe level in the environment where a method is defined. + - prohibit calling tainted method (>2) when $SAFE == 0. + - must not switch contexts during re-allocating stack. + [ruby-core:05219] + - fix parsing backslashes following \c in regexp. [ruby-dev:26500] + - webrick: sockets should be non-blocking mode. [ruby-dev:26405] + - drb: use private_methods and protected_methods instead of respond_to? + to check method visibility. [ruby-dev:26616] + - propagate the exception caused thread termination directly. + [ruby-core:05552] (closes: #322346) + - lib/logger.rb (write, shift_log?, shift_log): file shifting race + condition bug fixed. [ruby-dev:26764] + - should return proper arity value. [ruby-dev:26390] + - make irb -I option that is same befavior for ruby. + [ruby-dev:26872][ruby-dev: 26920] (closes: #322345) + - irb: should not treat plain zero as an octal number. [ruby-dev:26410] + (closes: #321189) + - removed debian/patches/802_xmlrpc_util.rb.patch + debian/patches/803_runruby.rb_loadpath.patch: + - included into upstream. + - debian/control: build-depends on libreadline5-dev. (closes: #326331) + + -- akira yamada Wed, 21 Sep 2005 12:43:50 +0900 + +ruby1.8 (1.8.2-9) unstable; urgency=high + + * akira yamada + - debian/rules: supported to build with dpkg-dev_1.13. + (ref: ) + - changed arch-name for Ruby to i486-linux from i386-linux because + DEB_BUILD_GNU_TYPE is changed to i486-linux-gnu from i386-linux. + - (urgency high) used -linux instead of -linux-gnu for paths + in debian/*.files. (closes: #315566) + - added patches/902_extra_search_path.patch: + - temporally added "/usr/local/lib/site_ruby/1.8/i386-linux" and + "/usr/lib/ruby/1.8/i386-linux" as extra search paths to Ruby on ix86 + arch. + + -- akira yamada Wed, 29 Jun 2005 00:33:35 +0900 + +ruby1.8 (1.8.2-8) unstable; urgency=high + + * akira yamada + - reverted debian/patches/105_cvs_updates.patch to ruby1.8_1.8.2-6. + - added debian/patches/106_cvs_updates.patch: + - updated to 1.8.3-preview1. + - break should not cross functions. [ruby-list:40818] + - (urgency high) race condition in fixnum..fixnum may cause SEGV. + [ruby-dev:26113] + - (urgency high) ruby_setenv dumps core with mod_ruby/1.2.4. + [ruby-dev:26186] + - (urgency high) repeated syntax errors causes SEGV. [ruby-dev:26206] + - getopts.rb should warn only if verbose mode. [ruby-dev:26201] + - added debian/patches/802_xmlrpc_util.rb.patch: + - (urgency high) fixed arbitrary command execution on XMLRPC server. + [ruby-core:5237] (see: CAN-2005-1992, Bug#315064) + - added debian/patches/803_runruby.rb_loadpath.patch: + - runruby.rb should require rbconfig.rb in source directory. + (it is for make install-doc.) + - removed debian/patches/801_ruby-mode.el.patch: + - included into upstream. (106_cvs_updates.patch) + + -- akira yamada Thu, 23 Jun 2005 20:04:22 +0900 + +ruby1.8 (1.8.2-7) unstable; urgency=high + + * akira yamada + - reduced debian/patches/105_cvs_updates.patch for only critical bugs. + - (urgency high) zlib causes SEGV (GC related bug) [ruby-core:04712] + (closes: #307990) + - (urgency high) illegal regexp may cause SEGV [ruby-core:04751] + - (urgency high) tcltklib may cause SEGV + + -- akira yamada Sun, 8 May 2005 20:35:51 +0900 + +ruby1.8 (1.8.2-6) unstable; urgency=high + + * akira yamada + - added debian/patches/105_cvs_updates.patch: + - (urgency high) zlib causes SEGV (GC related bug) [ruby-core:04712] + (closes: #307990) + - (urgency high) illegal regexp may cause SEGV [ruby-core:04751] + - (urgency high) tcltklib may cause SEGV + - fixed memory leak by tcltklib + + -- akira yamada Sat, 7 May 2005 17:26:44 +0900 + +ruby1.8 (1.8.2-5) unstable; urgency=high + + * akira yamada + - (urgency high) debian/rules: uses "make install-doc" to generate dates of + ri. (closes: #304157) + - added debian/patches/104_cvs_updates.patch: + - avoids tainting local object even if the reference of the object was + received from remote DRbServer. (closes: #301969) + - adeed debian/patches/801_ruby-mode.el.patch: + - ruby-mode.el makes wrong indent [ruby-dev:26022] + + -- akira yamada Tue, 12 Apr 2005 02:50:27 +0900 + +ruby1.8 (1.8.2-4) unstable; urgency=medium + + * akira yamada + - added debian/patches/103_cvs_updates.patch: + - (urgency medium) "return" event hook should be always executed if + event_hooks is set. [ruby-core:04662] + - (urgency medium) "OpenSSL::Engine.load" may cause segmentation fault. + [ruby-dev:25971] + - added a hook function for interpreter events. (for ruby-prof + .) + - (urgency medium) Regexp.compile makes memory leaks when compilation + failed. [ruby-talk:133228] + - debian/rules: configure with "--with-sitedir='/usr/local/lib/site_ruby'" + instead of "--with-sitedir='$prefix/local/lib/site_ruby'". + (closes: #301055) + - debian/NEWS: described about background of the restructuring. + (closes: #299737) + - debian/ri1.8.1: updated by outputs of "ri1.8 -h". (closes: #292022) + + -- akira yamada Sat, 9 Apr 2005 15:11:18 +0900 + +ruby1.8 (1.8.2-3) unstable; urgency=medium + + * akira yamada + - restructured sub-packages: + - merged to libruby1.8: libruby1.8 merges libsdbm-ruby1.8, + libdl-ruby1.8, libpty-ruby1.8, libbigdecimal-ruby1.8, + libsyslog-ruby1.8, libstrscan-ruby1.8, libiconv-ruby1.8, + libracc-runtime-ruby1.8, libdrb-ruby1.8, liberb-ruby1.8, + libtest-unit-ruby1.8, librexml-ruby1.8, libxmlrpc-ruby1.8, + libsoap-ruby1.8, libwebrick-ruby1.8, libyaml-ruby1.8, libzlib-ruby1.8 + and libcurses-ruby1.8. + - libtk-ruby1.8 merged to libtcktk-ruby1.8. + - ruby1.8 suggests rdoc1.8 and ri1.8 + - added debian/patches/102_cvs_updates.patch: + - (urgency medium) safe level for DRb threads can be specified by + DRbServer.default_safe_level or 3rd argument of DRbServer.new(). + [druby-ja:120] + - open-uri supports HTTPS. + - Net::IMAP handles SSL certs correctly. + - added debian/patches/901_.document.patch: + - rdoc processes net/* and some libraries. (closes: #252871) + + -- akira yamada Wed, 16 Mar 2005 01:07:08 +0900 + +ruby1.8 (1.8.2-2) unstable; urgency=high + + * akira yamada + - added debian/patches/101_cvs_updates.patch: + - (urgency high) autoload fails with 'wrong argument type'. + [ruby-dev:25435][ruby-list:40498] and [ruby-dev:25373] + (closes: #289302) + - srand(1<<100000000) dumps core. [ruby-dev:25426] + + -- akira yamada Tue, 11 Jan 2005 09:50:55 +0900 + +ruby1.8 (1.8.2-1) unstable; urgency=high + + * akira yamada + - new upstream version, 1.8.2: + - removed debian/patches/{100_cvs_updates.patch,801_syck_segv.patch, + 802_syck_segv.patch}. they ware included 1.8.2. + - (urgency high) fixed segv bugs: + - Process.groups= dumps core again. [ruby-dev:25285] + - YAML::Syck::Parser#load dumps core. [ruby-core:03973] + - IO.select dumps core. [ruby-dev:25312] + - fixed bugs: + - prohibit to change access mode for special IO ports (stdin, + stdout and stderr). [ruby-dev:25225] + - added debian/patches/100_cvs_updates.patch: + - (urgency high) fixed segv bugs: + - String#center dumps core. [ruby-dev:25341] + - require "openssl" dumps core. [ruby-dev:25325] + - Zlib memory leak. [ruby-list:39235][ruby-dev:25309] + - String#ljust dumps core again. [ruby-dev:25367] + - bmcall() causes core dump. [ruby-dev:25366] + - Module#autoload? dumps core. [ruby-dev:25373] + - OpenSSL::Netscape::SPKI#challenge= dumps core. [ruby-dev:25359] + - Segfault in Thread#initialize / caller [ruby-core:04067] + - fixed bugs: + - webrick/httpauth bugs. + [ruby-list:40467][ruby-list:40482][ruby-dev:25336] + - rand uniformity [ruby-dev:25396] + + -- akira yamada Fri, 7 Jan 2005 11:17:10 +0900 + +ruby1.8 (1.8.1+1.8.2pre4-1) unstable; urgency=high + + * akira yamada + - new upstream version, 1.8.2 preview4: + - removed debian/patches/{10[01]_cvs_updates.patch,802_socket.c.patch, + 803_rexml_shiftjis.patch}. they ware included 1.8.2 preview4. + - (urgency high) fixed segv bugs: + - sprintf dumps core. [ruby-dev:25104] + - DBM#select dumps core. [ruby-dev:25132] + - Socket#listen dumps core. [ruby-dev:25149] + - IO#reopen dumps core. [ruby-dev:25150] + - OpenSSL::Digest::Digest.new dumps core. + [ruby-dev:25187][ruby-dev:25198] + - Dir.foreach dumps core. [ruby-dev:25242] + - Zlib::Deflate.deflate dumps core. [ruby-dev:25226] + - Struct.new dumps core. [ruby-dev:25249] + - IO#eof? dumps core. [ruby-dev:25251] + - OpenSSL::ASN1.traverse dumps core. + [ruby-dev:25261][ruby-dev:25261] + - DL::Symbol.new dumps core. [ruby-dev:25271] + - fixed bugs: + - removed debug print for jcode.rb. [ruby-dev:25156] + - serializes un-serializeable remote exceptions as DRbRemoteError. + [ruby-list:40390] + - IO.open could not handle 'w+' mode. (closes: #283030) + - (urgench high) temporal locking already locked string on + simultaneous write. [ruby-dev:25050] (closes: #286195) + - added debian/patches/100_cvs_updates.patch: + - IO#reopen restores exact mode. [ruby-core:04003] + - added debian/patches/801_syck_segv.patch: + - YAML::Syck::Parser#load dumps core. [ruby-core:03973] + - debian/rules: configure with --disable-rpath. + + -- akira yamada Thu, 23 Dec 2004 12:51:28 +0900 + +ruby1.8 (1.8.1+1.8.2pre3-2) unstable; urgency=high + + * akira yamada + - added debian/patches/101_cvs_updates.patch: + - OpenStruct can be marshaled again. + (removed debian/patches/801_ostruct_revert.patch.) + - (urgency high) fixed segv bugs: + - String#gsub causes core dump again^3. [ruby-dev:24931] + - Dir#seek dumps core. [ruby-dev:24941] + - File#chown dumps core. [ruby-dev:24947] + - IO#read dumps core again. [ruby-dev:24952] + - IO#read dumps core again^3. [ruby-dev:24959] + - IO#read dumps core again^4. [ruby-dev:24964] + - Segmentation fault with StringIO#puts and StringIO#rewind. + [ruby-Bugs-1120] + - rb_io_sysread dumps core. [ruby-dev:24993] + - IO#flush dumps core again. [ruby-dev:25003] + - IO#ioctl dumps core. [ruby-dev:25019] + - BasicSocket#setsockopt dumps core. [ruby-dev:25039] + - UDPSocket#connect dumps core. [ruby-dev:25045] + - UDPSocket#bind dumps core. [ruby-dev:25057] + - Process.groups= dumps core. [ruby-dev:25081] + - inconsistent string handling (null char in string error) + [ruby-Bugs-1095] (closes: #283564, #283565) + - (urgency high) changes to dup'ed String object will also change the + original String object. [ruby-dev:24981] (closes: #283192) + - CGI::Session invokes nonexistent method. [ruby-core:03832] + (closes: #284429) + - added debian/patches/803_rexml_shiftjis.patch: + - REXML fails to handler Shift_JIS code. [ruby-dev:25069] + - debian/rules: fixed typo: s/exmaples/examples/g (closes: #283759) + + -- akira yamada Tue, 7 Dec 2004 02:49:52 +0900 + +ruby1.8 (1.8.1+1.8.2pre3-1) unstable; urgency=high + + * akira yamada + - new upstream version, 1.8.2 preview3: + - updated ext/nkf to nkf-2.0.4. + - fails to compile with gcc-2.95. (closes: #281362) [ruby-dev:24693] + - (urgency high) String#gsub! dumps core again. [ruby-dev:24687] + - (urgency high) TCPSocket#recvfrom dumps core. [ruby-dev:24705] + - (urgency high) String#gsub! dumps core again^2. [ruby-dev:24706] + - (urgency high) String#gsub causes core dump. [ruby-dev:24708] + - StringIO.new allows Fixnum as mode as well as IO.new does. + - added debian/patches/100_cvs_updates.patch: + - (urgency high) SystemCallError#initialize dumps core. [ruby-dev:24768] + - (urgency high) GDBM#[]= dumps core. [ruby-dev:24783] + - (urgency high) String#sub! causes core dump. [ruby-dev:24801] + - String.rjust ignores 2nd parameter. (closes: Bug#281263) + [ruby-dev:24851] + - (urgency high) DBM#[]= dumps core. [ruby-dev:24847] + - (urgency high) Array#[]= causes core dump. [ruby-dev:24861] + - (urgency high) Array#delete causes core dump again. [ruby-dev:24901] + - (urgency high) String#[]= causes dumps core. [ruby-dev:24878] + - A Float-related race in GC? (closes: Bug#280856) [ruby-dev:24880] + - (urgency high) String#gsub dumps core. [ruby-dev:24827] + - (urgency high) File.new dumps core. [ruby-dev:24919] + - (urgency high) String#gsub causes core dump again^3. [ruby-dev:24931] + - (urgency high) Dir#seek dumps core. [ruby-dev:24941] + - renamed debian/patches/804_delegate.rb.patch to + debian/patches/800_delegate.rb.patch. + - renamed debian/patches/820_ostruct_revert.patch to + debian/patches/801_ostruct_revert.patch. + - removed debian/patches/10[0-4]_cvs_updates.patch, + debian/patches/821_io_open.patch and debian/patches/822_array_uniq.patch: + - included into the upstream source. + - debian/README.Debian: updated. + - debian/libruby1.8.prerm.in: removes /usr/local/lib/site_ruby only. + (closes: #280544) + + -- akira yamada Tue, 23 Nov 2004 10:29:33 +0900 + +ruby1.8 (1.8.1+1.8.2pre2-7) unstable; urgency=medium + + * akira yamada + - updated debian/patches/822_array_uniq.patch: + - Array#{uniq,uniq!,&,|} should not freeze elements. (The previous + patch is not enough. The patch updated by CVS changes.) + + -- akira yamada Wed, 3 Nov 2004 20:46:26 +0900 + +ruby1.8 (1.8.1+1.8.2pre2-6) unstable; urgency=high + + * akira yamada + - added debian/patches/103_cvs_updates.patch: + - (urgency high) Enumerable#grep dumps core. [ruby-dev:24671] + - (urgency high) open dumps core again^2. [ruby-dev:24656] + - added debian/patches/820_ostruct_revert.patch and + 820_ostruct_marshal.patch: + - reverted changes of lib/ostruct.rb. (ref. [ruby-dev:22966] + [ruby-dev:24625]) + - added debian/patches/821_io_open.patch: + - (urgency high) additional patch for "open dumps core again^2." + [ruby-dev:24656] + - added debian/patches/822_array_uniq.patch: + - Array#uniq should not freeze elements. [ruby-dev:24695] + - removed 821_gc.c_revert.patch: + - included into the upstream source. + + -- akira yamada Wed, 3 Nov 2004 18:39:05 +0900 + +ruby1.8 (1.8.1+1.8.2pre2-5) unstable; urgency=high + + * akira yamada + - added debian/patches/821_gc.c_revert.patch: + - (urgency high) gc.c: cancel IA64 changes unnecessary for 1.8. + (closes: #279228) + + -- akira yamada Tue, 2 Nov 2004 13:00:29 +0900 + +ruby1.8 (1.8.1+1.8.2pre2-4) unstable; urgency=high + + * akira yamada + - added debian/patches/102_cvs_updates.patch: + - (urgency high) fixed some segmentation fault bugs listed in + - . + - raise dumps core. [ruby-dev:24519] + - unpack("p") dumps core. [ruby-dev:24594] + - Enumerable#sort_by dumps core again. [ruby-dev:24386] + - Enumerable#sort_by dumps core again(2). [ruby-dev:24399] + - A class of return value of Array#*. [ruby-dev:24526] + - Zlib::Deflate#deflate causes core dump. [ruby-dev:24530] + - PStore#transaction may raise Errno::ENOENT. [ruby-dev:24561] + - String#include? ?\x80. [ruby-dev:24558] + - corrected configure.in for GNU/k*BSD. (closes: #264306) + - httpresponse.rb: ensure to close @body. (closes: #277520) + - (urgency high) cgi.rb: avoids infinity loop. [CAN-2004-0983] + - (urgency high) fixed memory leak. [ruby-core:03549] + - added debian/patches/103_cvs_updates.patch: + - (urgency high) temporarily frozen string causes core dump. + [ruby-dev:24552] + - cgi.rb: workaround for Mac IE. [ruby-list:40136] + - (urgency high) Zlib::Deflate#flush_next_in causes core dump. + [ruby-dev:24621] + - (urgency high) raising zlib dumps core again. [ruby-dev:24627] + - (urgency high) another memory leak in ruby_1_8. [ruby-core:03619] + - (urgency high) IO#path may cause segv. [ruby-talk:118234] + - (urgency high) Enumerable#sort_by dumps core again^4. + [ruby-dev:24642] + - added debian/patches/820_ostruct_marshal.patch: + - ostruct.rb: OpenStruct can't be dumped. [ruby-dev:24625] + - removed debian/patches/818_instance_eval.patch and + debian/patches/813_zlib_ungetc.patch: + - included into the upstream source. + - debain/control: removed ruby-eserver from "Recommends" of libsoap-ruby1.8. + libsoap-ruby1.8 does not use the package. (closes: #268715) + + -- akira yamada Mon, 1 Nov 2004 18:13:13 +0900 + +ruby1.8 (1.8.1+1.8.2pre2-3) unstable; urgency=high + + * akira yamada + - added debian/patches/101_cvs_updates.patch: + - "IO.allocate.reopen('/nothing')" on irb causes SEGV. + [ruby-core:03288] + - (urgency high) CGI::Session::FilesStore and CGI::Session::PStore + should not use a session id as a filename. (closes: #267753) + - added debian/patches/818_instance_eval.patch: + - core dump with binding, eval, instance_eval and class variable. + [ruby-dev:24120] + - removed debian/patches/814_syck_8bit_clean.patch, + debian/patches/815_openssl_select.patch, + debian/patches/816_exception_slowdown.patch and + debian/patches/817_ruby-mode.el_fixtypo.patch: + - included into upstream source. + + -- akira yamada Tue, 24 Aug 2004 21:41:42 +0900 + +ruby1.8 (1.8.1+1.8.2pre2-2) unstable; urgency=low + + * akira yamada + - added debian/patches/100_cvs_updates.patch: + - minor bug fix. + - added debian/patches/813_zlib_ungetc.patch: + - Zlib::GzipReader#ungetc does not work correctly. + - added debian/patches/814_syck_8bit_clean.patch: + - YAML fails to load/dump non-printable characters. [ruby-core:03280] + [ruby-core:03286] + - added debian/patches/815_openssl_select.patch: + - Bug#265429: IO.select() mysteriously hangs [ruby-dev:24072] + [ruby-dev:24075] (closes: #265429) + - added debian/patches/816_exception_slowdown.patch: + - Pathological slowdown in 1.8 [ruby-core:02662] + - added debian/patches/817_ruby-mode.el_fixtypo.patch: + - fixed a typo. + + -- akira yamada Tue, 17 Aug 2004 02:33:39 +0900 + +ruby1.8 (1.8.1+1.8.2pre2-1) unstable; urgency=medium + + * akira yamada + - new upstream version, 1.8.2 preview2. + - some bugs are fixed. + - removed debian/patches/800_sleep.patch, + debian/patches/801_version.h.patch, + debian/patches/802_yaml_rubytypes.rb.patch, + debian/patches/803_ruby_mode.patch, + debian/patches/805_yaml_load_exception.patch, + debian/patches/806_config.guess_revert.patch, + debian/patches/807_callcc.patch, debian/patches/808_net_imap.patch, + debian/patches/809_uri_ldap.patch, debian/patches/810_use_NULL.patch, + debian/patches/811_cgi_session.patch and + debian/patches/812_run_final.patch: + - included into upstream source. + + -- akira yamada Thu, 29 Jul 2004 18:44:28 +0900 + +ruby1.8 (1.8.1+1.8.2pre1-5) unstable; urgency=medium + + * akira yamada + - added debian/patches/812_run_final.patch: + - (urgency medium) ObjectSpace.define_finalizer may cause Segmentation + falult. [ruby-dev:23957] + - tempfiles created by Temfile not removed. [ruby-dev:23987] + + -- akira yamada Wed, 28 Jul 2004 01:38:01 +0900 + +ruby1.8 (1.8.1+1.8.2pre1-4) unstable; urgency=high + + * akira yamada + - (urgency high) updated debian/patches/800_sleep.patch: + - previous patch is incomplete, sleep() is still broken. + - (urgency high) added debian/patches/811_cgi_session.patch: + - sets the permission of the session data file to 0600. [ruby-dev:23952] + [CAN-2004-0755] (closes: #260779) + + -- akira yamada Fri, 23 Jul 2004 07:03:16 +0900 + +ruby1.8 (1.8.1+1.8.2pre1-3) unstable; urgency=high + + * akira yamada + - (urgency high) restored debian/patches/801_sleep.patch as + debian/patches/800_sleep.patch: + - sleep method does not work. [ruby-core:2133] [ruby-core:2137] + - added debian/patches/807_callcc.patch: + - callcc method may cause unknown data type bug. [ruby-talk:106657] + - added debian/paches/808_net_imap.patch: + - return if a LOGOUT response received. + - wait command continuation requests before sending octet data of + literals. + - added debian/paches/809_uri_ldap.patch: + - method hierarchical? in uri/ldap.rb should be in URI::LDAP. + - added debian/paches/810_use_NULL.patch: + - use NULL instead of 0. + + -- akira yamada Sun, 18 Jul 2004 03:49:28 +0900 + +ruby1.8 (1.8.1+1.8.2pre1-2) unstable; urgency=high + + * akira yamada + - (rugency high) restored debian/patches/822_config.guess_revert.patch as + debian/patches/806_config.guess_revert.patch: + - couldn't build on alpha-linux. + + -- akira yamada Fri, 16 Jul 2004 23:05:22 +0900 + +ruby1.8 (1.8.1+1.8.2pre1-1) unstable; urgency=high + + * akira yamada + - new upstream version, 1.8.2 preview1. + - urgency high: fixed to build error on ARM. + - fixed syntax error in test/unit/ui/{fox,gtk,gtk2}/testrunner.rb. + Thanks to Paul van Tilburg. (closes: #257607) + - debian/rules: generates datafiles for ri1.8 only when it was executed with + binary-indep. + - debian/control: improbed descriptions. + (closes: #209573, #209603, #209616, #209691, #209718, #209794, #209900, #209937, #210030) + + -- akira yamada Fri, 16 Jul 2004 21:17:45 +0900 + +ruby1.8 (1.8.1-9) unstable; urgency=high + + * akira yamada + - added debian/patches/821_rdoc_parse.rb.patch: + - [ruby-talk:104190] %r{...} is a regular expression but RDoc prints it + as %{...}. + - added debian/patches/822_config.guess_revert.patch: + - [ruby-dev:23753] revert to original config.guess. (couldn't build on + alpha-linux.) + - added debian/patches/823_yaml_load_exception.patch: + - [ruby-talk:104405] YAML.load couldn't load Exception objects. + - added debian/patches/824_io.c_fcntl_check.patch: + - [ruby-dev:23742] should check fcntl result. + + -- akira yamada Thu, 24 Jun 2004 02:41:31 +0900 + +ruby1.8 (1.8.1-8) unstable; urgency=medium + + * akira yamada + - added debian/patches/106_cvs_updates.patch: + - [ruby-dev:23550] Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0) + dumps core. + - [ruby-core:02793] ruby -e 'a[*b]+=c' dups core. + - [ruby-dev:23487] core dump by delete_if on 1.8 + - options for Net::Telnet::login can take regexps for login prompt + and/or password prompt. (closes: #248511). + - removed debian/patches/802_time.c.patch, debian/patches/804_find.rb.patch, + debian/patches/805_telnet.rb.patch, debian/patches/806_yaml.patch, + debian/patches/808_proc_eq.patch, debian/patches/809_misc_escape.patch, + debian/patches/810_parse.y_reverse.patch: they ware included into the + above patch. + - added debian/patches/107_cvs_updates.patch: + - upgraded to stable-snapshot (2004-06-05). + - added debian/patches/108_cvs_updates.patch: + - [ruby-dev:22631] should not dump singleton class. + - limit safe level. + - [ruby-dev:23713] allow changing $SAFE. + - added debian/patches/820_zlib_64bit_gzfile_get32.patch: + - the value in gzfile_get32 can accidentally be sign extended on 64 bit + systems. Thanks to Matthew Mueller. (closes: #255442) + + -- akira yamada Tue, 22 Jun 2004 15:52:02 +0900 + +ruby1.8 (1.8.1-7) unstable; urgency=low + + * akira yamada + - configure with --with-bundled-{sha1,md5,rmd160}. it free libruby1.8 from + libssl. + - added debian/patches/105_cvs_updates.patch: + - "undef" for methods does not work. [ruby-list:39058] + - blocks in "#{}" makes syntax error. [ruby-list:39061] + - Net::IMAP accepts 8-bit characters in quoted strings for Novell + GroupWise Internet Agent. + - Socket#recvfrom makes an invalid argument error in non-blocking mode. + [ruby-talk:89962] + - util.c (mblen): fix overrun. (DJGPP ONLY) [ruby-dev:22672] + - delegate.rb should use Kernel::raise for Thread. + [ruby-dev:22681][ruby-dev:22684] + - delegate.rb should not delegate singleton_method_added. + [ruby-dev:22685] + - added debian/patches/804_find.rb.patch: + - Find.find raises SecurityError in $SAFE>=1. [ruby-dev:22641] + - Find.find("xyz") will yield "xyz" even if no such file exists. + [ruby-core:02319] + - added debian/patches/805_telnet.rb.patch: + - net/telnet.rb accepts "Login" prompt. + - added debian/patches/806_yaml.patch: + - syck library does not dump tv_usec correctly. [ruby-core:02305] + - syck cannot dump a Range of strings. [ruby-core:02306] + - added debian/patches/807_ruby_mode.patch: + - font-lock could not treat %"..." correctry. [ruby-dev:22705] + - added debian/patches/808_proc_eq.patch: + - Proc with empty body may not be equal. [ruby-dev:22590] + [ruby-dev:22594][ruby-dev:22602] + - added debian/patches/809_misc_escape.patch: + - Here-document in lib/rexml/encodings/ISO-8859-1.rb requires + quotation, as in US-ASCII.rb. [ruby-talk:88650] + - avoid warnings in rdoc/parsers/parse_c.rb. + + -- akira yamada Fri, 6 Feb 2004 18:57:04 +0900 + +ruby1.8 (1.8.1-6) unstable; urgency=low + + * akira yamada + - renamed to debian/patches/803_ia64_stack_limit_hack.patch from + debian/patches/901_ia64_stack_limit_hack.patch. + - added debian/patches/104_cvs_updates.patch: + - removed O_NONBLOCK for a socket used by DRb. + - Net::IMAP accepts an NIL-envelope. + + -- akira yamada Wed, 21 Jan 2004 22:41:27 +0900 + +ruby1.8 (1.8.1-5) unstable; urgency=low + + * akira yamada + - added debian/patches/103_cvs_updates.patch: + - io.c: initializer of lineno should be "INT2FIX(0)". (closes:#228527) + - disabled optimization on ia64. (-O1/2 makes ruby unusable.) + - debian/patches/901_ia64_stack_limit_hack.patch: + - disable IA64_MAGIC_STACK_LIMIT trick when optimization is disabled. + [ruby-dev:22650] + + -- akira yamada Tue, 20 Jan 2004 19:03:19 +0900 + +ruby1.8 (1.8.1-4) unstable; urgency=low + + * akira yamada + - added debian/patches/102_cvs_updates.patch: + - documents of methods of IO is missing. + + -- akira yamada Mon, 19 Jan 2004 21:58:48 +0900 + +ruby1.8 (1.8.1-3) unstable; urgency=low + + * akira yamada + - puts lib/rdoc/README to rdoc1.8. + - rdoc1.8 depends libyaml-ruby1.8. (closes: #226372) + - added debian/patches/101_cvs_updates.patch: + - StringIO.new.sysread should raise EOFError. [ruby-core:2078] + - don't increment lineno when gzfile_read_all returns "". + [ruby-core:2078] + - ARGF.readline should raise EOFError at EOF. [ruby-dev:22458] + - both of ARGF.read and ARGF.read(nil) should concatenate input files + when length argument is nil. [ruby-dev:22450] + - ARGF.lineno should return 0 even if ARGF have not been read. + [ruby-dev:22460] + - ARGF.each_byte should return self. [ruby-dev:22465] + - ARGF.eof? should not have any side effect. [ruby-dev:22469] + - should not abort when module_function is called for undefined method. + [ruby-dev:22498] + - ARGF.read(n) makes an error when it gets EOF. [ruby-bugs-ja:PR#585] + - synchronized with date2 library version 3.5. it includes fixes for + [ruby-talk:90063]. + - added debian/patches/801_sleep.patch: + - sleep is broken with --enable-pthread. [ruby-core:2133] + [ruby-core:2137] + - added debian/patches/802_time.c.patch: + - Time#usec should not return neither a negative number nor a number + which is larger than 1000000. [ruby-dev:22614], [ruby-dev:22617] + - added debian/patches/901_ri_pager.patch: + - changed pager search order: ENV['PAGER'], pager, ... + - put datafiles of ri into ri1.8 package. + + -- akira yamada Mon, 19 Jan 2004 15:12:27 +0900 + +ruby1.8 (1.8.1-2) unstable; urgency=low + + * akira yamada + - libxmlrpc-ruby1.8 depends on librexml-ruby1.8 | libxml-parser-ruby1.8. + - added debian/patches/100_cvs_updates.patch: + - Kernel::require searches actual file name once when no extension + specified. + - fixes Ruby/Tk crash bug. (but does not fix block bug.) + [ruby-talk:88830] + - Array#pack checks sign for "i" and "I". [ruby-dev:22427] + - IO::readlines should return lines when record-separater is nil. + [ruby-core:02077][ruby-core:02078] + - ARGF.read accepts "nil" for argument. [ruby-dev:22433] + + -- akira yamada Sat, 27 Dec 2003 17:52:24 +0900 + +ruby1.8 (1.8.1-1) unstable; urgency=low + + * akira yamada + - new upstream version. + + -- akira yamada Thu, 25 Dec 2003 14:26:08 +0900 + +ruby1.8 (1.8.0+preview4-2) unstable; urgency=low + + * akira yamada + - updated debian/patches/101_cvs_updates.patch. + + -- akira yamada Wed, 24 Dec 2003 18:20:17 +0900 + +ruby1.8 (1.8.0+preview4-1) unstable; urgency=low + + * akira yamada + - updated to 1.8.1-preview4. + - test/unit/ui/testrunnermediator.rb: requires 'test/unit'. + - test/unit/autorunner.rb: remove dependency to a particular runner. + (closes: #222019) + - runit/cui/testrunner.rb: uses Test::Unit::UI::{PROGRESS_ONLY,VERBOSE}. + (closes: #224048) + - new sub-package: ri1.8. + + -- akira yamada Mon, 22 Dec 2003 19:18:42 +0900 + +ruby1.8 (1.8.0+preview3-1) unstable; urgency=low + + * akira yamada + - updated to 1.8.1-preview3. + - new sub-package: rdoc; RDoc is included into the Ruby distribution. + - imported rdoc.1 from rdoc_0.9.0-1. + + -- akira yamada Sat, 6 Dec 2003 09:35:59 +0900 + +ruby1.8 (1.8.0+preview2-2) unstable; urgency=low + + * akira yamada + - updated debian/patches/100_cvs_updates.patch. + - lib/monitor.rb (wait): return true on signal/broadcastfalse and false + on timeout. Thanks Gennady Bystritsky. + - parse.y (primary): primary_value may be 0 when syntax error. + [ruby-talk:84893] + + -- akira yamada Tue, 11 Nov 2003 14:52:18 +0900 + +ruby1.8 (1.8.0+preview2-1) unstable; urgency=low + + * akira yamada + - updated to 1.8.1-preview2. + - removed debian/patches/*.patch for ruby-1.8.0. + - added debian/patches/100_cvs_updates.patch. + - configure.in, eval.c, signal.c: : add '--with-pthread-ext' option to + fix the pthread trouble on 'tcltklib' + - ext/tcltklib/tcltklib.c: To fix 'pthread-enabled Tcl/Tk' problem, + TclTkIp#_eval calls Tcl_Eval() on the mainloop thread only (queueing a + handler to the EventQueue). + - ext/socket/socket.c (make_hostent): get rid of SEGV on aliases lookup + failure. (ruby-bugs:PR#1215) (closes: #215879.) + - configure with --with-pthread-ext. (closes: #217176.) + - fixed argument of -regex option of find which finds sample programs. + (closes: #219759.) + - new sub-package libsoap-ruby1.8. + + -- akira yamada Sun, 9 Nov 2003 19:05:33 +0900 + +ruby1.8 (1.8.0-5) unstable; urgency=medium + + * akira yamada + - updated debian/patches/101_cvs_updates.patch. + - eval.c (rb_f_END): block should be given. [ruby-dev:21497] + - eval.c (rb_eval): fix evaluation order. [ruby-list:38431] + - marshal.c (w_object): should pass "weak" value to next level. + [ruby-dev:21496] + - eval.c (proc_alloc): should not use cached object if klass is + different. [ruby-talk:83685] + + -- akira yamada Mon, 6 Oct 2003 12:07:00 +0900 + +ruby1.8 (1.8.0-4) unstable; urgency=high + + * akira yamada + - updated debian/patches/101_cvs_updates.patch to "ruby 1.8.0 (2003-10-05)". + - eval.c (rb_eval): should not execute else part if any exception + is caught, closes: #214018. + - gc.c (Init_stack): the type of space is changed to unsigned int from + double, closes: #212282. + + -- akira yamada Sun, 5 Oct 2003 03:15:21 +0900 + +ruby1.8 (1.8.0-3) unstable; urgency=medium + + * Fumitoshi UKAI + - debian/control: add build-conflicts on broken version of gcc + + * akira yamada + - updated debian/patches/101_cvs_updates.patch to "ruby 1.8.0 (2003-10-02)". + some imporant bugs are fixed. + - scopes for constants in class definition is broken. + - some minor bugs. + - debian/control: libwebrick-ruby1.8 depends on liberb-ruby1.8, + closes: #208988. + - debian/rmshebang.sh: remove first #! line only. (ported from ruby1.6.) + - debian/control: ruby1.8-elisp conflicts with ruby1.6-elisp, ruby1.7-elisp + and ruby-elisp (<< 1.8). closes: #211321. + - debian/rules: added 'g' option for sed script which is applied for + debian/irb*.menu.in, closes: #213380. + - debian/control: improved description of liberb-ruby1.8, closes: #210167. + + -- akira yamada Thu, 2 Oct 2003 17:37:33 +0900 + +ruby1.8 (1.8.0-2) unstable; urgency=low + + * debian/patches/101_cvs_updates.patch: added. some bugs ware fixed. + - Array#fill is wrong when it is called with block. + - GC for empty strings causes SEGV. + - Shell.rmdir does not work. + - some minor bugs. + + -- akira yamada Sun, 10 Aug 2003 11:15:19 +0900 + +ruby1.8 (1.8.0-1) unstable; urgency=low + + * new upstream version. + * debian/patches/100_pragma_weak.patch: removed. + * debian/patches/100_changelog-1.8.0.patch: added. doc/ChangeLog-1.8.0 ware + dropped when the author was packageing 1.8.0. + + -- akira yamada Mon, 4 Aug 2003 21:50:07 +0900 + +ruby1.8 (1.8+0cvs20030801-1) unstable; urgency=low + + * ruby 1.8.0-preview7. + * debian/patches/100_pragma_weak.patch: added. it needed for + --enable-shared. + * debian/rules: build with -O2 on IA64. probrems around optimization on + IA64 ware fixed at 1.8.0-preview7. + + -- akira yamada Fri, 1 Aug 2003 20:53:36 +0900 + +ruby1.8 (1.8+0cvs20030731-1) unstable; urgency=low + + * ruby 1.8.0-preview6. + * debian/patches/100_cvs.patch: removed. it was included 1.8.0-preview6. + * changed section for libruby1.8-dbg to libdevel from devel. + + -- akira yamada Thu, 31 Jul 2003 18:09:21 +0900 + +ruby1.8 (1.8+0cvs20030728-1) unstable; urgency=low + + * ruby 1.8.0-preview5. + * debian/patches/100_rb_struct_define.patch: removed. it was included + 1.8.0-preview5. + * debian/patches/100_cvs.patch: added. upstream cvs patch. + + -- akira yamada Tue, 29 Jul 2003 00:33:25 +0900 + +ruby1.8 (1.8+0cvs20030724-1) unstable; urgency=low + + * new upstream cvs snapshot. (ruby 1.8.0 preview4.) + * new sub-packages: libwebrick-ruby1.8 and libopenssl-ruby1.8. + * debian/rules: on IA64, build with -O0 option. (optimized-code crashes on + IA64) + * debian/patches/100_bigdecimal-MANIFEST.patch: removed. it is nolonger + needed. + * debian/patches/100_rb_struct_define.patch: added. it fixes PR#1058: ruby + segfaults on ia64 during require 'etc'. + + -- akira yamada Thu, 24 Jul 2003 13:33:29 +0900 + +ruby1.8 (1.8+0cvs20030721-1) unstable; urgency=low + + * new upstream cvs snapshot. + * new sub-packages: libxmlrpc-ruby1.8. + + -- akira yamada Mon, 21 Jul 2003 20:24:12 +0900 + +ruby1.8 (1.8+0cvs20030710-1) unstable; urgency=low + + * new upstream cvs snapshot. + * new sub-packages: librexml-ruby1.8 and libdrb-ruby1.8. + * liberb-ruby1.8 replaces libruby1.8 (<< 1.8+0cvs20030704-1). + (usr/lib/ruby/1.8/erb* is moved to liberb-ruby1.8 from libruby1.8.) + + -- akira yamada Fri, 11 Jul 2003 03:08:26 +0900 + +ruby1.8 (1.8+0cvs20030606-1) unstable; urgency=low + + * new upstream cvs snapshot. + * build with libgdbm-dev. + + -- akira yamada Fri, 6 Jun 2003 20:06:02 +0900 + +ruby1.8 (1.8+0cvs20030524-1) unstable; urgency=low + + * new upstream cvs snapshot. + * uploaded to Debian, closes: #183120. + + -- akira yamada Sat, 24 May 2003 00:08:51 +0900 + +ruby1.8 (1.8+0cvs20030520-0.1) unstable; urgency=low + + * new upstream cvs snapshot. + * new subpackage: libyaml-ruby1.8. + + -- akira yamada Tue, 20 May 2003 10:33:57 +0900 + +ruby1.8 (1.8+0cvs20030506-0.1) unstable; urgency=low + + * new upstream cvs snapshot. + * included libruby1.8-static.a into ruby1.8-dev package. + + -- akira yamada Tue, 6 May 2003 17:49:41 +0900 + +ruby1.8 (1.8+0cvs20030503-0.1) unstable; urgency=low + + * new upstream cvs snapshot. + + -- akira yamada Sat, 3 May 2003 14:42:41 +0900 + +ruby1.8 (1.8+0cvs20030424-0.1) unstable; urgency=low + + * new upstream cvs snapshot. + + -- akira yamada Thu, 24 Apr 2003 18:20:55 +0900 + +ruby1.8 (1.8+0cvs20030419-0.2) unstable; urgency=low + + * new subpackage liberb-ruby1.8. + + -- akira yamada Sun, 20 Apr 2003 11:04:43 +0900 + +ruby1.8 (1.8+0cvs20030419-0.1) unstable; urgency=low + + * new upstream cvs snapshot. + + -- akira yamada Sat, 19 Apr 2003 22:35:34 +0900 + +ruby1.8 (1.8+0cvs0.20030413.1-0.1) unstable; urgency=low + + * Initial Release. + + -- akira yamada Sun, 13 Apr 2003 13:04:13 +0900 + --- ruby1.8-1.8.7.299.orig/debian/ruby1.8.menu +++ ruby1.8-1.8.7.299/debian/ruby1.8.menu @@ -0,0 +1,2 @@ +?package(ruby1.8):needs="text" section="Applications/Programming"\ + title="Ruby (irb1.8)" command="/usr/bin/irb1.8" --- ruby1.8-1.8.7.299.orig/debian/control +++ ruby1.8-1.8.7.299/debian/control @@ -0,0 +1,115 @@ +Source: ruby1.8 +Section: ruby +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: akira yamada +Uploaders: Daigo Moriwaki , Lucas Nussbaum +Build-Depends: cdbs, debhelper (>= 5), autotools-dev, autoconf, m4, quilt (>= 0.40), patch, bison, binutils (>= 2.14.90.0.7), libgdbm-dev, libncurses5-dev, libreadline5-dev, tcl8.4-dev, tk8.4-dev, zlib1g-dev, libssl-dev (>= 0.9.6b), file +Standards-Version: 3.9.1 +Homepage: http://www.ruby-lang.org/ +Vcs-Browser: http://svn.debian.org/wsvn/pkg-ruby/ruby1.8/trunk/ +Vcs-Svn: svn://svn.debian.org/pkg-ruby/ruby1.8/trunk/ + +Package: ruby1.8 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, libruby1.8 (= ${binary:Version}) +Conflicts: irb1.8, rdoc1.8 +Replaces: irb1.8, rdoc1.8 +Provides: irb1.8, rdoc1.8 +Suggests: ruby1.8-examples, ri1.8 +Description: Interpreter of object-oriented scripting language Ruby 1.8 + Ruby is the interpreted scripting language for quick and easy + object-oriented programming. It has many features to process text + files and to do system management tasks (as in perl). It is simple, + straight-forward, and extensible. + . + This package provides version 1.8 series of Ruby. + . + On Debian, Ruby 1.8 is provided as separate packages. You can get + full Ruby 1.8 distribution by installing following packages. + . + ruby1.8 ruby1.8-dev ri1.8 ruby1.8-elisp ruby1.8-examples + libtcltk-ruby1.8 + +Package: libruby1.8 +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: libsdbm-ruby1.8, libdl-ruby1.8, libpty-ruby1.8, libbigdecimal-ruby1.8, libsyslog-ruby1.8, libstrscan-ruby1.8, libiconv-ruby1.8, libracc-runtime-ruby1.8, libdrb-ruby1.8, liberb-ruby1.8, libtest-unit-ruby1.8, librexml-ruby1.8, libxmlrpc-ruby1.8, libsoap-ruby1.8, libwebrick-ruby1.8, libyaml-ruby1.8, libzlib-ruby1.8, libcurses-ruby1.8, libopenssl-ruby1.8 (<< 1.8.6), libdbm-ruby1.8, libgdbm-ruby1.8, libreadline-ruby1.8, libopenssl-ruby1.8 +Replaces: libsdbm-ruby1.8, libdl-ruby1.8, libpty-ruby1.8, libbigdecimal-ruby1.8, libsyslog-ruby1.8, libstrscan-ruby1.8, libiconv-ruby1.8, libracc-runtime-ruby1.8, libdrb-ruby1.8, liberb-ruby1.8, libtest-unit-ruby1.8, librexml-ruby1.8, libxmlrpc-ruby1.8, libsoap-ruby1.8, libwebrick-ruby1.8, libyaml-ruby1.8, libzlib-ruby1.8, libcurses-ruby1.8, libdbm-ruby1.8, libgdbm-ruby1.8, libreadline-ruby1.8, libopenssl-ruby1.8 +Provides: libsdbm-ruby1.8, libdl-ruby1.8, libpty-ruby1.8, libbigdecimal-ruby1.8, libsyslog-ruby1.8, libstrscan-ruby1.8, libiconv-ruby1.8, libracc-runtime-ruby1.8, libdrb-ruby1.8, liberb-ruby1.8, libtest-unit-ruby1.8, librexml-ruby1.8, libxmlrpc-ruby1.8, libsoap-ruby1.8, libwebrick-ruby1.8, libyaml-ruby1.8, libzlib-ruby1.8, libcurses-ruby1.8, libdbm-ruby1.8, libgdbm-ruby1.8, libreadline-ruby1.8, libopenssl-ruby1.8 +Description: Libraries necessary to run Ruby 1.8 + Ruby is the interpreted scripting language for quick and easy + object-oriented programming. It has many features to process text + files and to do system management tasks (as in perl). It is simple, + straight-forward, and extensible. + . + This package includes the libruby, necessary to run Ruby 1.8. + +Package: libruby1.8-dbg +Section: debug +Priority: extra +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, libruby1.8 (= ${binary:Version}) +Description: Debugging symbols for Ruby 1.8 + Contains debugging symbols for libruby1.8. + . + This package is provided primarily to provide a backtrace with names + in a debugger, this makes it somewhat easier to interpret core + dumps. Most people will not need this package. + +Package: ruby1.8-dev +Architecture: any +Depends: libruby1.8 (= ${binary:Version}), libc6-dev, ${misc:Depends} +Recommends: ruby1.8 (= ${binary:Version}) +Description: Header files for compiling extension modules for the Ruby 1.8 + Ruby is the interpreted scripting language for quick and easy + object-oriented programming. It has many features to process text + files and to do system management tasks (as in perl). It is simple, + straight-forward, and extensible. + . + This package contains the header files and the mkmf library, necessary + to make extension library for Ruby 1.8. + +Package: libtcltk-ruby1.8 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: libtk-ruby1.8 +Replaces: libtk-ruby1.8 +Provides: libtk-ruby1.8 +Description: Tcl/Tk interface for Ruby 1.8 + tcltklib is an extension library for Ruby 1.8. It makes Ruby 1.8 + programs to be able to use low level interface for the Tcl/Tk. + +Package: ruby1.8-examples +Architecture: all +Depends: ${misc:Depends} +Suggests: ruby1.8 (>= ${source:Version}) +Description: Examples for Ruby 1.8 + This package provides example programs about Ruby 1.8. + . + Ruby is the interpreted scripting language for quick and easy + object-oriented programming. It has many features to process text + files and to do system management tasks (as in perl). It is simple, + straight-forward, and extensible. + +Package: ruby1.8-elisp +Architecture: all +Depends: emacs | emacsen, ${misc:Depends} +Suggests: ruby1.8 (>= ${source:Version}) +Conflicts: ruby-elisp (<< 1.8), ruby1.6-elisp, ruby1.7-elisp, ruby-beta-elisp +Description: ruby-mode for Emacsen + This package provides major-mode for editing Ruby scripts and some + emacs-lisp programs for Ruby programmers. + +Package: ri1.8 +Architecture: all +Depends: ruby1.8 (>= ${source:Version}), ${misc:Depends} +Description: Ruby Interactive reference (for Ruby 1.8) + ri is a command line tool that displays descriptions of built-in Ruby + methods, classes, and modules. For methods, it shows you the calling + sequence and a description. For classes and modules, it shows a + synopsis along with a list of the methods the class or module + implements. + . + This package provides ri command and descriptions about Ruby 1.8. --- ruby1.8-1.8.7.299.orig/debian/fixshebang.sh +++ ruby1.8-1.8.7.299/debian/fixshebang.sh @@ -0,0 +1,36 @@ +#!/bin/bash +ruby="$1" +target_dir="$2" + +for f in `find "$target_dir" -type f 2>/dev/null` +do + textflag=0 + filetype="`file -b $f`" + for ft in $filetype + do + if [ "${#ft}" -lt 4 ] + then + continue + fi + if [ "${ft:0:4}" == "text" ] + then + textflag=1 + break + fi + done + + if [ "$textflag" -eq 0 ] + then + continue + fi + + cp -pf $f $f.tmp + sed -e '1,1s,^#![ ]*\([^ ]*\)/\(ruby\|env ruby\)$,#!/usr/bin/'$ruby',' \ + -e '1,1s,^#![ ]*\([^ ]*\)/\(wish\|perl\)$,#!/usr/bin/\2,' < $f > $f.tmp + if ! cmp $f $f.tmp >/dev/null + then + mv -f $f.tmp $f + else + rm -f $f.tmp + fi +done --- ruby1.8-1.8.7.299.orig/debian/README.source +++ ruby1.8-1.8.7.299/debian/README.source @@ -0,0 +1,2 @@ +This package uses dpatch. See /usr/share/doc/dpatch/README.source.gz +It also uses cdbs. --- ruby1.8-1.8.7.299.orig/debian/irb1.8.1 +++ ruby1.8-1.8.7.299/debian/irb1.8.1 @@ -0,0 +1,506 @@ +.TH IRB1.8 "1" "December 2002" +.SH NAME +irb1.8 \- interactive ruby +.SH SYNOPSIS +.B irb +[\fIoptions\fR] +.SH DESCRIPTION +.PP +irb stands for `interactive ruby'. irb is a tool to execute interactively +ruby expressions read from stdin. +Use of irb is easy if you know ruby. Executing irb, prompts are +displayed as follows. Then, enter expression of ruby. A input is +executed when it is syntacticaly completed. + +.nf +\& $ irb1.8 +\& irb(main):001:0> 1+2 +\& 3 +\& irb(main):002:0> class Foo +\& irb(main):003:1> def foo +\& irb(main):004:2> print 1 +\& irb(main):005:2> end +\& irb(main):006:1> end +\& nil +\& irb(main):007:0> +.fi + +And, Readline extesion module can be used with irb. Using Readline +is the standard default action if Readline is installed. +.SH OPTIONS + +.PP + +.TP +.fi +.B +\-f +suppress read ~/.irbrc +.TP +.fi +.B +\-m +bc mode (fraction or matrix are available) +.TP +.fi +.B +\-d +set $DEBUG to true (same as `ruby \-d') +.TP +.fi +.B +\-r load\-module +same as `ruby \-r' +.TP +.fi +.B +\-\-inspect +uses `inspect' for output (the default except bc mode) +.TP +.fi +.B +\-\-noinspect +doesn't uses inspect for output +.TP +.fi +.B +\-\-readline +uses Readline extension module +.TP +.fi +.B +\-\-noreadline +doesn't use Readline extension module +.TP +.fi +.B +\-\-prompt prompt\-mode +.TP +.fi +.B +\-\-prompt\-mode prompt\-mode +switches prompt mode. Pre\-defined prompt modes are +`default', `simple', `xmp' and `inf\-ruby' +.TP +.fi +.B +\-\-inf\-ruby\-mode +uses prompt appreciate for inf\-ruby\-mode on emacs. +Suppresses \-\-readline. +.TP +.fi +.B +\-\-simple\-prompt +simple prompt mode +.TP +.fi +.B +\-\-noprompt +no prompt +.TP +.fi +.B +\-\-tracer +display trace for each execution of commands. +.TP +.fi +.B +\-\-back\-trace\-limit n +displayes backtrace top n and tail n. The default +value is 16. +.TP +.fi +.B +\-\-irb_debug n +sets internal debug level to n (It shouldn't be used) +.TP +.fi +.B +\-v, \-\-version +prints the version of irb +.SH CONFIGURATIONS + +.PP +irb reads `~/.irbrc' when it is invoked. If `~/.irbrb' doesn't exist +irb try to read in the order `.irbrc', `irb.rc', `_irbrc' then `$irbrc'. +The following is altanative to the command line option. To use them +type as follows in an irb session. + +.nf +\& IRB.conf[:IRB_NAME]="irb" +\& IRB.conf[:MATH_MODE]=false +\& IRB.conf[:USE_TRACER]=false +\& IRB.conf[:USE_LOADER]=false +\& IRB.conf[:IGNORE_SIGINT]=true +\& IRB.conf[:IGNORE_EOF]=false +\& IRB.conf[:INSPECT_MODE]=nil +\& IRB.conf[:IRB_RC] = nil +\& IRB.conf[:BACK_TRACE_LIMIT]=16 +\& IRB.conf[:USE_LOADER] = false +\& IRB.conf[:USE_READLINE] = nil +\& IRB.conf[:USE_TRACER] = false +\& IRB.conf[:IGNORE_SIGINT] = true +\& IRB.conf[:IGNORE_EOF] = false +\& IRB.conf[:PROMPT_MODE] = :DEFALUT +\& IRB.conf[:PROMPT] = {...} +\& IRB.conf[:DEBUG_LEVEL]=0 +\& IRB.conf[:VERBOSE]=true +.fi +.SH Customizing prompt + +.PP +To costomize the prompt you set a variable + +.nf +\& IRB.conf[:PROMPT] +.fi + +For example, describe as follows in `.irbrc'. + +.nf +\& IRB.conf[:PROMPT][:MY_PROMPT] = { # name of prompt mode +\& :PROMPT_I => nil, # normal prompt +\& :PROMPT_S => nil, # prompt for continuated strings +\& :PROMPT_C => nil, # prompt for continuated statement +\& :RETURN => " ==>%s\\n" # format to return value +\& } +.fi + +Then, invoke irb with the above prompt mode by + +.nf +\& $ irb1.8 \-\-prompt my\-prompt +.fi + +Or add the following in `.irbrc'. + +.nf +\& IRB.conf[:PROMPT_MODE] = :MY_PROMPT +.fi + +Constants PROMPT_I, PROMPT_S and PROMPT_C specifies the format. +In the prompt specification, some special strings are available. + +.nf +\& %N command name which is running +\& %m to_s of main object (self) +\& %M inspect of main object (self) +\& %l type of string(", ', /, ]), `]' is inner %w[...] +\& %NNi indent level. NN is degits and means as same as printf("%NNd"). +\& It can be ommited +\& %NNn line number. +\& %% % +.fi +For instance, the default prompt mode is defined as follows: +IRB.conf[:PROMPT_MODE][:DEFAULT] = { +.TP +.fi +.B +PROMPT_I => "%N(%m):%03n:%i> ", +.TP +.fi +.B +PROMPT_S => "%N(%m):%03n:%i%l ", +.TP +.fi +.B +PROMPT_C => "%N(%m):%03n:%i* ", +.TP +.fi +.B +RETURN => "%s\\n"} +RETURN is used to printf. +.SH Configurating subirb + +.PP +The command line option or IRB.conf specify the default behavior of +(sub)irb. On the other hand, each conf of in the next sction `6. Command' +is used to individually configurate (sub)irb. +If proc is set to IRB.conf[:IRB_RC], its subirb will be invoked after +execution of that proc under giving the context of irb as its +aregument. By this mechanism each subirb can be configurated. +.SH Command + +.PP +For irb commands, both simple name and `irb_'\-prefixed name are prepared. +.TP +.fi +.B +exit, quit, irb_exit +Quits (sub)irb. +if you've done cb (see below), exit from the binding mode. + +.TP +.fi +.B +conf, irb_context +Displays current configuration. Modifing the configuration is +achieved by sending message to `conf'. +.TP +.fi +.B +conf.back_trace_limit +Sets display lines of backtrace as top n and tail n. +The default value is 16. +.TP +.fi +.B +conf.debug_level = N +Sets debug level of irb. +.TP +.fi +.B +conf.ignore_eof = true/false +Whether ^D (control\-d) will be ignored or not. +If false is set, ^D means quit. +.TP +.fi +.B +conf.ignore_sigint= true/false +Whether ^C (control\-c) will be ignored or not. +If false is set, ^D means quit. If true, +.nf +\& during input: cancel inputing then return to top level. +\& during execute: abondon current execution. +.fi +.TP +.fi +.B +conf.inf_ruby_mode = true/false +Whether inf\-ruby\-mode or not. The default value is false. +.TP +.fi +.B +conf.inspect_mode = true/false/nil +Specifies inspect mode. +true: display inspect +false: display to_s +nil: inspect mode in non math mode, +.nf +\& non inspect mode in math mode. +.fi +.TP +.fi +.B +conf.irb_level +The level of cb. +.TP +.fi +.B +conf.math_mode +Whether bc mode or not. +.TP +.fi +.B +conf.use_loader = true/false +Whether irb's own file reader method is used when load/require or not. +This mode is globaly affected (irb wide). +.TP +.fi +.B +conf.prompt_c +prompt for a continuating statement (e.g, immediately after of `if') +.TP +.fi +.B +conf.prompt_i +standard prompt +.TP +.fi +.B +conf.prompt_s +prompt for a continuating string +.TP +.fi +.B +conf.rc +Whether ~/.irbrc is read or not. +.TP +.fi +.B +conf.use_prompt = true/false +Prompting or not. +.TP +.fi +.B +conf.use_readline = true/false/nil +Whether readline is used or not. +true: uses +false: doen't use +nil: intends to use readline except for inf\-reuby\-mode (default) +.TP +.fi +.B +conf.verbose=T/F +Whether verbose messages are display or not. +.TP +.fi +.B +cb, irb_change_binding [obj] +Enter new binding which has a distinct scope of local variables. +If obj is given, obj will be self. +.TP +.fi +.B +irb [obj] +Invoke subirb. If obj is given, obj will be self. +.TP +.fi +.B +jobs, irb_jobs +List of subirb +.TP +.fi +.B +fg n, irb_fg n +Switch into specified subirb. The following is candidates of n: +.nf +\& irb number +\& thhread +\& irb object +\& self(obj which is specified of irb obj) +.fi +.TP +.fi +.B +kill n, irb_kill n +Kill subirb. The means of n is as same as the case of irb_fg. +.SH System variable + +.PP + +.TP +.fi +.B +_ +The latest value of evaluation (it is local) +.SH Session Example + +.PP +.nf +\& $ irb1.8 +\& irb(main):001:0> irb # invoke subirb +\& irb#1(main):001:0> jobs # list of subirbs +\& #0\->irb on main (# : stop) +\& #1\->irb#1 on main (# : running) +\& nil +\& irb#1(main):002:0> fg 0 # switch job +\& nil +\& irb(main):002:0> class Foo;end +\& nil +\& irb(main):003:0> irb Foo # invoke subirb which has the +.fi +.nf +\& # context of Foo +.fi +.nf +\& irb#2(Foo):001:0> def foo # define Foo#foo +\& irb#2(Foo):002:1> print 1 +\& irb#2(Foo):003:1> end +\& nil +\& irb#2(Foo):004:0> fg 0 # switch job +\& nil +\& irb(main):004:0> jobs # list of job +\& #0\->irb on main (# : running) +\& #1\->irb#1 on main (# : stop) +\& #2\->irb#2 on Foo (# : stop) +\& nil +\& irb(main):005:0> Foo.instance_methods # Foo#foo is defined asurely +\& ["foo"] +\& irb(main):006:0> fg 2 # switch job +\& nil +\& irb#2(Foo):005:0> def bar # define Foo#bar +\& irb#2(Foo):006:1> print "bar" +\& irb#2(Foo):007:1> end +\& nil +\& irb#2(Foo):010:0> Foo.instance_methods +\& ["bar", "foo"] +\& irb#2(Foo):011:0> fg 0 +\& nil +\& irb(main):007:0> f = Foo.new +\& # +\& irb(main):008:0> irb f # invoke subirb which has the +.fi +.nf +\& # context of f (instance of Foo) +.fi +.nf +\& irb#3(#):001:0> jobs +\& #0\->irb on main (# : stop) +\& #1\->irb#1 on main (# : stop) +\& #2\->irb#2 on Foo (# : stop) +\& #3\->irb#3 on # (# : running) +\& nil +\& irb#3(#):002:0> foo # evaluate f.foo +\& 1nil +\& irb#3(#):003:0> bar # evaluate f.bar +\& barnil +\& irb#3(#):004:0> kill 1, 2, 3# kill job +\& nil +\& irb(main):009:0> jobs +\& #0\->irb on main (# : running) +\& nil +\& irb(main):010:0> exit # exit +.fi +.SH Restrictions + +.PP +Because irb evaluates the inputs immediately after the imput is +syntactically completed, irb gives slight different result than +directly use ruby. Known difference is pointed out here. +.SH Declaration of the local variable + +.PP +The following causes an error in ruby: + +.nf +\& eval "foo = 0" +\& foo +\& \-\- +\& \-:2: undefined local variable or method `foo' for # (NameError) +\& \-\-\- +\& NameError +.fi + +Though, the above will successfully done by irb. + +.nf +\& >> eval "foo = 0" +.fi +.nf +\& => 0 +\& >> foo +\& => 0 +.fi + +Ruby evaluates a code after reading entire of code and determination +of the scope of local variables. On the other hand, irb do +immediately. More precisely, irb evaluate at first + +.nf +\& evel "foo = 0" +.fi + +then foo is defined on this timing. It is because of this +incompatibility. +If you'd like to detect those differences, begin...end can be used: + +.nf +\& >> begin +\& ?> eval "foo = 0" +\& >> foo +\& >> end +\& NameError: undefined local variable or method `foo' for # +\& (irb):3 +\& (irb_local_binding):1:in `eval' +.fi +.SH Here\-document + +.PP +Implementation of Here\-document is incomplete. +.SH Symbol + +.PP +Irb can not always recognize a symbol as to be Symbol. Concretely, an +expression have completed, however Irb regard it as continuation line. + --- ruby1.8-1.8.7.299.orig/debian/extfixup_examples.sh +++ ruby1.8-1.8.7.299/debian/extfixup_examples.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +pkg_name="$1" +ext_dir="$2" + +for f in `find "$ext_dir" -name '*.rb' -type f -not -name 'extconf.rb' -not -path '*/lib/*'` +do + dh_installexamples -p"$pkg_name" $f +done + --- ruby1.8-1.8.7.299.orig/debian/compat +++ ruby1.8-1.8.7.299/debian/compat @@ -0,0 +1 @@ +5 --- ruby1.8-1.8.7.299.orig/debian/ruby1.8-elisp.emacsen-install +++ ruby1.8-1.8.7.299/debian/ruby1.8-elisp.emacsen-install @@ -0,0 +1,45 @@ +#! /bin/sh -e +# /usr/lib/emacsen-common/packages/install/ruby1.8-elisp + +# Written by Jim Van Zandt , borrowing heavily +# from the install scripts for gettext by Santiago Vila +# and octave by Dirk Eddelbuettel . + +FLAVOR=$1 +PACKAGE=ruby1.8-elisp + +if [ ${FLAVOR} = emacs ]; then exit 0; fi + +echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR} + +#FLAVORTEST=`echo $FLAVOR | cut -c-6` +#if [ ${FLAVORTEST} = xemacs ] ; then +# SITEFLAG="-no-site-file" +#else +# SITEFLAG="--no-site-file" +#fi +FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile" + +ELDIR=/usr/share/emacs/site-lisp/${PACKAGE} +ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE} + +# Install-info-altdir does not actually exist. +# Maybe somebody will write it. +#if test -x /usr/sbin/install-info-altdir; then +# echo install/${PACKAGE}: install Info links for ${FLAVOR} +# install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz +#fi + +install -m 755 -d ${ELCDIR} +cd ${ELDIR} +FILES=`echo *.el` +cp ${FILES} ${ELCDIR} +cd ${ELCDIR} + +cat << EOF > path.el +(setq load-path (cons "." load-path) byte-compile-warnings nil) +EOF +${FLAVOR} ${FLAGS} ${FILES} +rm -f *.el path.el + +exit 0 --- ruby1.8-1.8.7.299.orig/debian/ruby1.8-elisp.emacsen-startup +++ ruby1.8-1.8.7.299/debian/ruby1.8-elisp.emacsen-startup @@ -0,0 +1,31 @@ +;; -*-emacs-lisp-*- +;; +;; Emacs startup file, e.g. /etc/emacs/site-start.d/50ruby1.8-elisp.el +;; for the Debian ruby1.8-elisp package +;; +;; Originally contributed by Nils Naumann +;; Modified by Dirk Eddelbuettel +;; Adapted for dh-make by Jim Van Zandt + +;; The ruby1.8-elisp package follows the Debian/GNU Linux 'emacsen' policy and +;; byte-compiles its elisp files for each 'emacs flavor' (emacs19, +;; xemacs19, emacs20, xemacs20...). The compiled code is then +;; installed in a subdirectory of the respective site-lisp directory. +;; We have to add this to the load-path: +(let ((package-dir (concat "/usr/share/" + (symbol-name flavor) + "/site-lisp/ruby1.8-elisp"))) +;; If package-dir does not exist, the ruby1.8 package must have +;; removed but not purged, and we should skip the setup. + (when (file-directory-p package-dir) + (setq load-path (cons package-dir load-path)) + (autoload 'ruby-mode "ruby-mode" + "Major mode for editing Ruby source files." t) + (add-to-list 'auto-mode-alist '("\\.rb\\'" . ruby-mode)) + (add-to-list 'interpreter-mode-alist '("ruby" . ruby-mode)) + (autoload 'run-ruby "inf-ruby" "Run an inferior Ruby process") + (autoload 'inf-ruby-keys "inf-ruby" + "Set local key defs for inf-ruby in ruby-mode") + (add-hook 'ruby-mode-hook + '(lambda () + (inf-ruby-keys))))) --- ruby1.8-1.8.7.299.orig/debian/libruby1.8.lintian-overrides +++ ruby1.8-1.8.7.299/debian/libruby1.8.lintian-overrides @@ -0,0 +1,4 @@ +# After discussions at Bug#367024, a note is mentioned in debian/copyright. +libruby1.8 binary: possible-gpl-code-linked-with-openssl +# known & ignored. +libruby1.8 binary: package-name-doesnt-match-sonames --- ruby1.8-1.8.7.299.orig/debian/rdoc1.8.1 +++ ruby1.8-1.8.7.299/debian/rdoc1.8.1 @@ -0,0 +1,210 @@ +.\" DO NOT MODIFY THIS FILE! it was generated by rd2 +.TH rdoc1.8 1 "September 2006" +.SH NAME +.PP +rdoc1.8 \- Generate documentation from Ruby script files +.SH SYNOPSIS +.nf +\& rdoc1.8 [options] [names...] +.fi +.SH DESCRIPTION +.PP +Files are parsed, and the information they contain collected, before any +output is produced. This allows cross references between all files to be +resolved. If a name is a directory, it is traversed. If no names are +specified, all Ruby files in the current directory (and subdirectories) are +processed. +.PP +Available output formatters: chm, html, ri, xml +.PP +For information on where the output goes, use: +.nf +\& rdoc \-\-help\-output +.fi +.SH OPTIONS +.TP +.fi +.B +\-\-accessor, \-A accessorname[,..] +comma separated list of additional class methods that should be treated +like 'attr_reader' and friends. Option may be repeated. Each accessorname +may have '=text' appended, in which case that text appears where the +r/w/rw appears for normal accessors. +.TP +.fi +.B +\-\-all, \-a +include all methods (not just public) in the output. +.TP +.fi +.B +\-\-charset, \-c charset +specifies HTML character\-set +.TP +.fi +.B +\-\-debug, \-D +displays lots on internal stuff +.TP +.fi +.B +\-\-diagram, \-d +generate diagrams showing modules and classes. You need dot V1.8.6 or +later to use the \-\-diagram option correctly. Dot is available from +. +.TP +.fi +.B +\-\-exclude, \-x pattern +do not process files or directories matching pattern. Files given +explicitly on the command line will never be excluded. +.TP +.fi +.B +\-\-extension, \-E new=old +treat files ending with .new as if they ended with .old. Using '\-E cgi=rb' +will cause xxx.cgi to be parsed as a Ruby file +.TP +.fi +.B +\-\-fileboxes, \-F +classes are put in boxes which represents files, where these classes +reside. Classes shared between more than one file are shown with list of +files that sharing them. Silently discarded if \-\-diagram is not given +Experimental. +.TP +.fi +.B +\-\-fmt, \-f formatname +set the output formatter (see below). +.TP +.fi +.B +\-\-help, \-h +print usage. +.TP +.fi +.B +\-\-help\-output, \-O +explain the various output options. +.TP +.fi +.B +\-\-image\-format, \-I gif|png|jpg|jpeg +sets output image format for diagrams. Can be png, gif, jpeg, jpg. If this +option is omitted, png is used. Requires \-\-diagram. +.TP +.fi +.B +\-\-include, \-i dir[,dir...] +set (or add to) the list of directories to be searched when satisfying +:include: requests. Can be used more than once. +.TP +.fi +.B +\-\-inline\-source, \-S +show method source code inline, rather than via a popup link. +.TP +.fi +.B +\-\-line\-numbers, \-N +include line numbers in the source code +.TP +.fi +.B +\-\-main, \-m name +name will be the initial page displayed. +.TP +.fi +.B +\-\-merge, \-M +when creating ri output, merge processed classes into previously +documented classes of the name name. +.TP +.fi +.B +\-\-one\-file, \-1 +put all the output into a single file. +.TP +.fi +.B +\-\-op, \-o dir +set the output directory. +.TP +.fi +.B +\-\-opname, \-n name +set the name of the output. Has no effect for HTML. +.TP +.fi +.B +\-\-promiscuous, \-p +When documenting a file that contains a module or class also defined in +other files, show all stuff for that module/class in each files page. By +default, only show stuff defined in that particular file. +.TP +.fi +.B +\-\-quiet, \-q +don't show progress as we parse. +.TP +.fi +.B +\-\-ri, \-r +generate output for use by 'ri.' The files are stored in the '.rdoc' +directory under your home directory unless overridden by a subsequent \-\-op +parameter, so no special privileges are needed. +.TP +.fi +.B +\-\-ri\-site, \-R +generate output for use by 'ri.' The files are stored in a site\-wide +directory, making them accessible to others, so special privileges are +needed. +.TP +.fi +.B +\-\-ri\-system, \-Y +generate output for use by 'ri.' The files are stored in a system\-level +directory, making them accessible to others, so special privileges are +needed. This option is intended to be used during Ruby installations. +.TP +.fi +.B +\-\-show\-hash, \-H +a name of the form #name in a comment is a possible hyperlink to an +instance method name. When displayed, the '#' is removed unless this +option is specified. +.TP +.fi +.B +\-\-style, \-s stylesheet\-url +specifies the URL of a separate stylesheet. +.TP +.fi +.B +\-\-tab\-width, \-w n +set the width of tab characters (default 8). +.TP +.fi +.B +\-\-template, \-T template\-name +set the template used when generating output. +.TP +.fi +.B +\-\-title, \-t text +set text as the title for the output. +.TP +.fi +.B +\-\-version, \-v +display RDoc's version. +.TP +.fi +.B +\-\-webcvs, \-W url +specify a URL for linking to a web frontend to CVS. If the URL contains a +\'%s', the name of the current file will be substituted; if the URL doesn't +contain a '%s', the filename will be appended to it. + --- ruby1.8-1.8.7.299.orig/debian/extfixup_rubylibs.sh +++ ruby1.8-1.8.7.299/debian/extfixup_rubylibs.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +ruby_libdir=usr/lib/ruby/1.8 +pkg_name="$1" +ext_dir="$2" + +if [ -d "$ext_dir/lib" ] +then + for f in `find "$ext_dir/lib" -type f -name '*.rb'` + do + dh_movefiles -p"$pkg_name" "$ruby_libdir"/`expr "$f" : "$ext_dir/lib/\(.*\)"` + done +fi + --- ruby1.8-1.8.7.299.orig/debian/copyright +++ ruby1.8-1.8.7.299/debian/copyright @@ -0,0 +1,87 @@ +This package was debianized by akira yamada on +Sun, 13 Apr 2003 13:04:13 +0900. + +It was downloaded from + +Upstream Author: Yukihiro Matsumoto + +Copyright and License: + +Ruby's License: + +Ruby is copyrighted free software by Yukihiro Matsumoto . +You can redistribute it and/or modify it under either the terms of the GPL +version 2 (see the file GPL), or the conditions below: + + 1. You may make and give away verbatim copies of the source form of the + software without restriction, provided that you duplicate all of the + original copyright notices and associated disclaimers. + + 2. You may modify your copy of the software in any way, provided that + you do at least ONE of the following: + + a) place your modifications in the Public Domain or otherwise + make them Freely Available, such as by posting said + modifications to Usenet or an equivalent medium, or by allowing + the author to include your modifications in the software. + + b) use the modified software only within your corporation or + organization. + + c) give non-standard binaries non-standard names, with + instructions on where to get the original software distribution. + + d) make other distribution arrangements with the author. + + 3. You may distribute the software in object code or binary form, + provided that you do at least ONE of the following: + + a) distribute the binaries and library files of the software, + together with instructions (in the manual page or equivalent) + on where to get the original distribution. + + b) accompany the distribution with the machine-readable source of + the software. + + c) give non-standard binaries non-standard names, with + instructions on where to get the original software distribution. + + d) make other distribution arrangements with the author. + + 4. You may modify and include the part of the software into any other + software (possibly commercial). But some files in the distribution + are not written by the author, so that they are not under these terms. + + For the list of those files and their copying conditions, see the + file LEGAL. + + 5. The scripts and library files supplied as input to or produced as + output from the software do not automatically fall under the + copyright of the software, but belong to whomever generated them, + and may be sold commercially, and may be aggregated with this + software. + + 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + + +GNU General Public License: + +On Debian systems, the complete text of the GNU General Public License can +be found in `/usr/share/common-licenses/GPL-2'. + + +Note for using libopenssl-ruby1.8 (openssl.so): + +Ruby is distributed under dual-license which is "Ruby's License" or GPL. +libopenssl-ruby1.8 (openssl.so) can link OpenSSL library with ruby1.8 +(libruby1.8). So we cannot use openssl.so together with programs which are +under the standard unmodified GPL. + + +The Debian packging: + +The Debian packaging is (C) 2003-2007, akira yamada and +is licensed under the GPL, see `/usr/share/common-licenses/GPL-2'. --- ruby1.8-1.8.7.299.orig/debian/libruby1.8.postinst.in +++ ruby1.8-1.8.7.299/debian/libruby1.8.postinst.in @@ -0,0 +1,50 @@ +#! /bin/sh +# postinst script for ruby +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see /usr/share/doc/packaging-manual/ +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + if [ -w /usr/local/lib -a ! -e /usr/local/lib/site_ruby/1.8 ] + then + mkdir -p /usr/local/lib/site_ruby/1.8/@@arch@@ 2>/dev/null || true + chown root:staff /usr/local/lib/site_ruby/1.8/@@arch@@ 2>/dev/null || true + chmod 2775 /usr/local/lib/site_ruby/1.8/@@arch@@ 2>/dev/null || true + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 --- ruby1.8-1.8.7.299.orig/debian/erb1.8.1 +++ ruby1.8-1.8.7.299/debian/erb1.8.1 @@ -0,0 +1,72 @@ +.TH ERB1.8 1 "April 2003" +.SH NAME +.PP +erb \- an embedded Ruby language interpreter +.SH SYNOPSIS +.PP +erb1.8 [switches] [inputfile] +.SH DESCRIPTION +.PP +erb interprets a Ruby code embedded text file. For example, erb +enables you to embed a Ruby code to a HTML file. +A Ruby block starts with `<%' and ends with `%>'. erb replaces +the block with its output. +If `<%' is followed by `=', eRuby replaces the block with a value +of the block. +If `<%' is followed by `#', the block is ignored as a comment. +.SH OPTIONS +.PP + +.TP +.fi +.B +\-x +print ruby script +.TP +.fi +.B +\-n +print ruby script with line number +.TP +.fi +.B +\-v +enables verbose mode +.TP +.fi +.B +\-d +set debugging flags (set $DEBUG to true) +.TP +.fi +.B +\-r library +load a library +.TP +.fi +.B +\-K kcode +specifies KANJI code\-set (euc or sjis) or UTF\-8 (utf8) +.TP +.fi +.B +\-S safe_level +set $SAFE (0..4) +.TP +.fi +.B +\-T trim_mode +specify trim_mode (0..2) +.TP +.fi +.B +\-P +disregard the lin which starts in "%" +.SH SEE ALSO +.PP +eruby(1) +.SH AUTHOR +.PP +This document stands on eruby(1) which is written by Shugo Maeda +. + --- ruby1.8-1.8.7.299.orig/debian/libruby1.8.prerm.in +++ ruby1.8-1.8.7.299/debian/libruby1.8.prerm.in @@ -0,0 +1,38 @@ +#! /bin/sh +# postrm script for ruby +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see /usr/share/doc/packaging-manual/ + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + if [ -w /usr/local/lib -a -e /usr/local/lib/site_ruby/1.8 ] + then + rmdir /usr/local/lib/site_ruby/1.8/@@arch@@ 2>/dev/null || true + rmdir /usr/local/lib/site_ruby/1.8 2>/dev/null || true + rmdir /usr/local/lib/site_ruby 2>/dev/null || true + fi + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 0 + +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# --- ruby1.8-1.8.7.299.orig/debian/ri1.8.1 +++ ruby1.8-1.8.7.299/debian/ri1.8.1 @@ -0,0 +1,82 @@ +.\" DO NOT MODIFY THIS FILE! it was generated by rd2 +.TH ri1.8 1 "April 2005" +.SH NAME +.PP +ri1.8 \- Ruby Information at your fingertips +.SH SYNOPSIS +.PP +ri1.8 [options] [names...] +.SH DESCRIPTION +.PP +\fIri1.8\fP displaies information on Ruby classes, modules, and methods. +You can give the names of classes or methods to see their documentation. +Partial names may be given: if the names match more than +one entity, a list will be shown, otherwise details on +that entity will be displayed. +.PP +Nested classes and modules can be specified using the normal +Name::Name notation, and instance methods can be distinguished +from class methods using "." (or "#") instead of "::". +.PP +For example: +.nf +\& ri1.8 File +\& ri1.8 File.new +\& ri1.8 F.n +\& ri1.8 zip +.fi +.PP +Note that shell quoting may be required for method names +containing punctuation: +.nf +\& ri1.8 'Array.[]' +\& ri1.8 compact\\! +.fi +.SH OPTIONS +.TP +.fi +.B +\-\-classes, \-c +Display the names of classes and modules we know about. +.TP +.fi +.B +\-\-doc\-dir, \-d dirname +A directory to search for documentation. If not specified, we search the +standard rdoc/ri directories. +.TP +.fi +.B +\-\-format, \-f name +Format to use when displaying output: ansi, bs, html, plain, simple. Use +\'bs' (backspace) with most pager programs. To use ANSI, either also use +the \-T option, or tell your pager to allow control characters. (for +example using the \-R option to less.) +.TP +.fi +.B +\-\-list\-names, \-l +List all the names known to RDoc, one per line. +.TP +.fi +.B +\-\-no\-pager, \-T +Send output directly to stdout. +.TP +.fi +.B +\-\-width, \-w width +Set the width of the output. +.TP +.fi +.B +\-\-version, \-v +Display the version of ri1.8. +.TP +.fi +.B +\-\-help, \-h +Display help. +.PP +Options may also be passed in the 'RI' environment variable + --- ruby1.8-1.8.7.299.orig/debian/NEWS +++ ruby1.8-1.8.7.299/debian/NEWS @@ -0,0 +1,65 @@ +ruby1.8 (1.8.6.111-1) unstable; urgency=low + + This package includes fixes for CVE-2007-5162. + + The upstream author had taken two actions about CVE-2007-5162. + + 1) They released Ruby 1.8.6-p111 and 1.8.5-p114. But the release + requires to change user's code to verify server's identity. + + http://www.ruby-lang.org/en/news/2007/10/04/net-https-vulnerability/ [en] + http://www.ruby-lang.org/ja/news/2007/10/04/isecpartners-com-2007-006-rubyssl/ [ja] + + 2) The upstream author re-added some fixes for Ruby. It makes Ruby + verify server's identity on default. This is available on ruby_1_8 + branch, trunk of the Ruby repository and next release of Ruby 1.8.x. + + On Debian, we took the 2nd action of the above. + + New ruby1.8 package makes Ruby (Net::HTTPS, Net::IMAP, Net::FTPTLS and + Net::TELNETS) verify server's identity on default if SSL connection + isn't in VERIFY_NONE mode. It require no change user's code. + + -- akira yamada Tue, 16 Oct 2007 15:13:08 +0900 + +ruby1.8 (1.8.2-9) unstable; urgency=high + + On ix86 architecutre, $LOAD_PATH is changed as follows: + + /usr/local/lib/site_ruby/1.8 + /usr/local/lib/site_ruby/1.8/i486-linux + /usr/local/lib/site_ruby + /usr/lib/ruby/1.8 + /usr/lib/ruby/1.8/i486-linux + . + + This change is brought to follow the change of dpkg 1.13. It changed + architecture name to "i486-linux-gnu" from "i386-linux". + + If you locally build extension libraries, please rebuild it with this + version of ruby1.8-dev package. + + NOTE: In this version, ruby1.8 temporally searches files in + /usr/local/lib/site_ruby/1.8/i386-linux and /usr/lib/ruby/1.8/i386-linux. + + -- akira yamada Wed, 29 Jun 2005 00:33:35 +0900 + +ruby1.8 (1.8.2-3) unstable; urgency=medium + + Sub-packages of ruby1.8 was restructured, because many users requested + "most" libraries included within upstream distributions. Please see also + and + . + + Summary of the restructuring: + + - irb1.8, libdbm-ruby1.8, libgdbm-ruby1.8, libopenssl-ruby1.8, + libreadline-ruby1.8, libruby1.8-dbg, rdoc1.8, ri1.8, ruby1.8, + ruby1.8-dev, ruby1.8-elisp and ruby1.8-examples: left as it is. + + - libtcktk-ruby1.8 and libtk-ruby1.8 was merged to new libtcltk-ruby1.8. + + - other 18 packages was merged to new libtcltk-ruby1.8. + + -- akira yamada Tue, 15 Mar 2005 17:24:37 +0900 + --- ruby1.8-1.8.7.299.orig/debian/testrb1.8.1 +++ ruby1.8-1.8.7.299/debian/testrb1.8.1 @@ -0,0 +1,60 @@ +.\" DO NOT MODIFY THIS FILE! it was generated by rd2 +.TH testrb1.8 1 "December 2003" +.SH NAME +.PP +testrb1.8 \- Automatic runnter for Test::Unit of Ruby +.SH SYNOPSIS +.PP +testrb1.8 [options] [\-\- untouched arguments] test ... +.SH DESCRIPTION +.PP +testrb1.8 loads and runs unit\-tests. If test is directory name, testrb1.8 +testrb1.8 traverses the directory. +.SH OPTIONS +.TP +.fi +.B +\-r, \-\-runner=RUNNER +Use the given RUNNER. (t[k], c[onsole], g[tk], f[ox]) +.TP +.fi +.B +\-a, \-\-add=TORUN +Add TORUN to the list of things to run; can be a file or a directory. +.TP +.fi +.B +\-p, \-\-pattern=PATTERN +Match files to collect against PATTERN. (default pattern is +/\\Atest_.*\\.rb\\Z/.) +.TP +.fi +.B +\-n, \-\-name=NAME +Runs tests matching NAME. (patterns may be used.) +.TP +.fi +.B +\-t, \-\-testcase=TESTCASE +Runs tests in TestCases matching TESTCASE. (patterns may be used.) +.TP +.fi +.B +\-v, \-\-verbose=[LEVEL] +Set the output level (default is verbose). (p[rogress], n[ormal], +v[erbose], s[ilent]) +.TP +.fi +.B +\-\- +Stop processing options so that the remaining options will be passed to +the test. +.TP +.fi +.B +\-h, \-\-help +Display help. +.SH AUTHOR +.PP +This manpage was contributed by akira yamada + --- ruby1.8-1.8.7.299.orig/debian/rmshebang.sh +++ ruby1.8-1.8.7.299/debian/rmshebang.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +target_dir=$1 +for f in `find "$target_dir" -name '*.rb' -type f 2>/dev/null` +do + sed -e '1,1{ + /^#!/d + }' < $f > $f.tmp + if ! cmp $f $f.tmp >/dev/null + then + mv -f $f.tmp $f + else + rm -f $f.tmp + fi +done --- ruby1.8-1.8.7.299.orig/debian/README.Debian +++ ruby1.8-1.8.7.299/debian/README.Debian @@ -0,0 +1,58 @@ +Ruby for Debian GNU/Linux +------------------------- + +This is Ruby package for Debian GNU/Linux. + +Ruby is the interpreted scripting language for quick and easy +object-oriented programming. It has many features to process text files and +to do system management tasks (as in perl). It is simple, straight-forward, +and extensible. + +Homepage of Ruby is: + + (English and Japanese) + +And you can find helpful library or tools from RAA: + + (English) + (English) + + +Notes for Debian users: + + * You can use /usr/bin/ruby1.8. + + * The package includes some changes (almost bugfixes) from upstream + release. Each change is listed in /usr/share/doc/ruby1.8/changelog.gz + file. + + * ``sitedir'' is /usr/local/lib/site_ruby, so ``$:'' (or ``$LOAD_PATH'') + contains the following: + + ["/usr/local/lib/site_ruby/1.8", + "/usr/local/lib/site_ruby/1.8/i486-linux", "/usr/local/lib/site_ruby", + "/usr/lib/ruby/1.8", "/usr/lib/ruby/1.8/i486-linux", "."] + + ("1.8" means "#{major}.#{minor}" and "i486-linux" means "#{arch}-#{os}".) + + * "ruby" package provides default environment of Ruby on Debian. + - /usr/bin/ruby + - Debian Ruby Policy (/usr/share/doc/ruby/ruby-policy.txt.gz.) + + +Notes for handling of HTTP_PROXY environment variable: + +SORP4R(soap) uses HTTP_PROXY environment variable and http_proxy environment +variable only if soap_use_proxy environment is set as "on". + +open-uri ignores HTTP_PROXY environment variable under CGI. http_proxy +environment variable and CGI_HTTP_PROXY envrironment variable are used. + +Net::HTTP(net/http) never rely on HTTP_PROXY environment variable. + +Please refer the following documents. + + * + * + + -- akira yamada Tue, 13 Mar 2007 15:55:57 +0900 --- ruby1.8-1.8.7.299.orig/debian/ruby1.8-elisp.emacsen-remove +++ ruby1.8-1.8.7.299/debian/ruby1.8-elisp.emacsen-remove @@ -0,0 +1,15 @@ +#!/bin/sh -e +# /usr/lib/emacsen-common/packages/remove/ruby1.8-elisp + +FLAVOR=$1 +PACKAGE=ruby1.8-elisp + +if [ ${FLAVOR} != emacs ]; then +# if test -x /usr/sbin/install-info-altdir; then +# echo remove/${PACKAGE}: removing Info links for ${FLAVOR} +# install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/ruby1.8.info.gz +# fi + + echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} + rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE} +fi --- ruby1.8-1.8.7.299.orig/debian/testrb1.8.rd +++ ruby1.8-1.8.7.299/debian/testrb1.8.rd @@ -0,0 +1,57 @@ +=begin + += NAME + +testrb1.8 - Automatic runnter for Test::Unit of Ruby + += SYNOPSIS + +testrb1.8 [options] [-- untouched arguments] test ... + += DESCRIPTION + +testrb1.8 loads and runs unit-tests. If test is directory name, testrb1.8 +testrb1.8 traverses the directory. + += OPTIONS + +: -r, --runner=RUNNER + + Use the given RUNNER. (t[k], c[onsole], g[tk], f[ox]) + +: -a, --add=TORUN + + Add TORUN to the list of things to run; can be a file or a directory. + +: -p, --pattern=PATTERN + + Match files to collect against PATTERN. (default pattern is + /\Atest_.*\.rb\Z/.) + +: -n, --name=NAME + + Runs tests matching NAME. (patterns may be used.) + +: -t, --testcase=TESTCASE + + Runs tests in TestCases matching TESTCASE. (patterns may be used.) + +: -v, --verbose=[LEVEL] + + Set the output level (default is verbose). (p[rogress], n[ormal], + v[erbose], s[ilent]) + +: -- + + Stop processing options so that the remaining options will be passed to + the test. + +: -h, --help + + Display help. + += AUTHOR + +This manpage was contributed by akira yamada + +=end --- ruby1.8-1.8.7.299.orig/debian/rdoc1.8.rd +++ ruby1.8-1.8.7.299/debian/rdoc1.8.rd @@ -0,0 +1,147 @@ +=begin += NAME + +rdoc1.8 - Generate documentation from Ruby script files + += SYNOPSIS + + rdoc1.8 [options] [names...] + += DESCRIPTION + +Files are parsed, and the information they contain collected, before any +output is produced. This allows cross references between all files to be +resolved. If a name is a directory, it is traversed. If no names are +specified, all Ruby files in the current directory (and subdirectories) are +processed. + +Available output formatters: chm, html, ri, xml + +For information on where the output goes, use: + + rdoc --help-output + += OPTIONS + +: --accessor, -A ((|accessorname[,..]|)) + comma separated list of additional class methods that should be treated + like 'attr_reader' and friends. Option may be repeated. Each accessorname + may have '=text' appended, in which case that text appears where the + r/w/rw appears for normal accessors. + +: --all, -a + include all methods (not just public) in the output. + +: --charset, -c ((|charset|)) + specifies HTML character-set + +: --debug, -D + displays lots on internal stuff + +: --diagram, -d + generate diagrams showing modules and classes. You need dot V1.8.6 or + later to use the --diagram option correctly. Dot is available from + (()). + +: --exclude, -x ((|pattern|)) + do not process files or directories matching pattern. Files given + explicitly on the command line will never be excluded. + +: --extension, -E ((|new|))=((|old|)) + treat files ending with .new as if they ended with .old. Using '-E cgi=rb' + will cause xxx.cgi to be parsed as a Ruby file + +: --fileboxes, -F + classes are put in boxes which represents files, where these classes + reside. Classes shared between more than one file are shown with list of + files that sharing them. Silently discarded if --diagram is not given + Experimental. + +: --fmt, -f ((|formatname|)) + set the output formatter (see below). + +: --help, -h + print usage. + +: --help-output, -O + explain the various output options. + +: --image-format, -I ((|(('gif|png|jpg|jpeg'))|)) + sets output image format for diagrams. Can be png, gif, jpeg, jpg. If this + option is omitted, png is used. Requires --diagram. + +: --include, -i ((|dir[,dir...]|)) + set (or add to) the list of directories to be searched when satisfying + ((':include:')) requests. Can be used more than once. + +: --inline-source, -S + show method source code inline, rather than via a popup link. + +: --line-numbers, -N + include line numbers in the source code + +: --main, -m ((|name|)) + ((|name|)) will be the initial page displayed. + +: --merge, -M + when creating ri output, merge processed classes into previously + documented classes of the name name. + +: --one-file, -1 + put all the output into a single file. + +: --op, -o ((|dir|)) + set the output directory. + +: --opname, -n ((|name|)) + set the ((|name|)) of the output. Has no effect for HTML. + +: --promiscuous, -p + When documenting a file that contains a module or class also defined in + other files, show all stuff for that module/class in each files page. By + default, only show stuff defined in that particular file. + +: --quiet, -q + don't show progress as we parse. + +: --ri, -r + generate output for use by 'ri.' The files are stored in the '.rdoc' + directory under your home directory unless overridden by a subsequent --op + parameter, so no special privileges are needed. + +: --ri-site, -R + generate output for use by 'ri.' The files are stored in a site-wide + directory, making them accessible to others, so special privileges are + needed. + +: --ri-system, -Y + generate output for use by 'ri.' The files are stored in a system-level + directory, making them accessible to others, so special privileges are + needed. This option is intended to be used during Ruby installations. + +: --show-hash, -H + a name of the form #name in a comment is a possible hyperlink to an + instance method name. When displayed, the '#' is removed unless this + option is specified. + +: --style, -s ((|stylesheet-url|)) + specifies the URL of a separate stylesheet. + +: --tab-width, -w ((|n|)) + set the width of tab characters (default 8). + +: --template, -T ((|template-name|)) + set the template used when generating output. + +: --title, -t ((|text|)) + set ((|text|)) as the title for the output. + +: --version, -v + display RDoc's version. + +: --webcvs, -W ((|url|)) + specify a URL for linking to a web frontend to CVS. If the URL contains a + '%s', the name of the current file will be substituted; if the URL doesn't + contain a '%s', the filename will be appended to it. + +=end --- ruby1.8-1.8.7.299.orig/debian/rules +++ ruby1.8-1.8.7.299/debian/rules @@ -0,0 +1,248 @@ +#!/usr/bin/make -f + +ruby_ver = 1.8 +tcltk_ver = 8.4 + +arch_name = $(subst linux-gnu,linux-,$(patsubst %linux-gnu,%linux,$(DEB_BUILD_GNU_TYPE))) +ruby_libdir = usr/lib/ruby/$(ruby_ver) +ruby_archdir = usr/lib/ruby/$(ruby_ver)/$(arch_name) +bin_dir = usr/bin +man_dir = usr/share/man/man1 + +el_dir = usr/share/emacs/site-lisp/ruby$(ruby_ver)-elisp +el_etc = etc/emacs/site-start.d + +examples_dir = $(CURDIR)/debian/ruby$(ruby_ver)-examples/usr/share/doc/ruby$(ruby_ver)-examples/examples + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/makefile.mk +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/patchsys-quilt.mk + +DEB_AUTO_UPDATE_AUTOCONF = YES + +CFLAGS := -fno-strict-aliasing -g +CXXFLAGS := -fno-strict-aliasing -g +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -g -O0 +else + CFLAGS += -g -O2 +endif + +ifneq (,$(filter $(DEB_BUILD_GNU_CPU),i386 i486 i586 i686)) + DEB_CONFIGURE_USER_FLAGS += --enable-frame-address +endif +ifeq ($(DEB_BUILD_GNU_CPU),i686) + DEB_CONFIGURE_USER_FLAGS += --with-extra-site-search-path='/usr/local/lib/site_ruby/$(ruby_ver)/i486-linux' + DEB_CONFIGURE_USER_FLAGS += --with-extra-search-path='/usr/lib/ruby/$(ruby_ver)/i486-linux' +endif +ifeq ($(DEB_BUILD_GNU_CPU),i486) + DEB_CONFIGURE_USER_FLAGS += --with-extra-site-search-path='/usr/local/lib/site_ruby/$(ruby_ver)/i386-linux' + DEB_CONFIGURE_USER_FLAGS += --with-extra-search-path='/usr/lib/ruby/$(ruby_ver)/i386-linux' +endif +DEB_CONFIGURE_USER_FLAGS += --program-suffix=$(ruby_ver) +DEB_CONFIGURE_USER_FLAGS += --enable-pthread +DEB_CONFIGURE_USER_FLAGS += --enable-shared +DEB_CONFIGURE_USER_FLAGS += --enable-ipv6 +DEB_CONFIGURE_USER_FLAGS += --with-lookup-order-hack=INET +DEB_CONFIGURE_USER_FLAGS += --disable-rpath +DEB_CONFIGURE_USER_FLAGS += --disable-install-doc +DEB_CONFIGURE_USER_FLAGS += --with-sitedir='/usr/local/lib/site_ruby' +DEB_CONFIGURE_USER_FLAGS += --with-default-kcode=none +DEB_CONFIGURE_USER_FLAGS += --with-dbm-type=gdbm_compat +DEB_CONFIGURE_USER_FLAGS += --with-tklib=tk$(tcltk_ver) +DEB_CONFIGURE_USER_FLAGS += --with-tcllib=tcl$(tcltk_ver) +DEB_CONFIGURE_USER_FLAGS += --with-tcl-include=/usr/include/tcl$(tcltk_ver) +DEB_CONFIGURE_USER_FLAGS += --with-bundled-sha1 +DEB_CONFIGURE_USER_FLAGS += --with-bundled-md5 +DEB_CONFIGURE_USER_FLAGS += --with-bundled-rmd160 + +DEB_MAKE_BUILD_TARGET = all test + +common-post-build-arch:: +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + -make test-all +endif + +DEB_INSTALL_DIRS_ruby$(ruby_ver)-elisp += $(el_dir) +DEB_INSTALL_DIRS_ruby$(ruby_ver)-elisp += $(el_etc) +DEB_INSTALL_DOCS_ruby$(ruby_ver)-elisp += $(DEB_SRCDIR)/misc/README + +DEB_INSTALL_DIRS_ri$(ruby_ver) += $(bin_dir) +DEB_INSTALL_DIRS_ri$(ruby_ver) += $(man_dir) +DEB_INSTALL_MANPAGES_ri$(ruby_ver) += debian/ri$(ruby_ver).1 + +DEB_INSTALL_DOCS_libtcltk-ruby$(ruby_ver) += $(DEB_SRCDIR)/ext/tk/README* +DEB_INSTALL_DOCS_libtcltk-ruby$(ruby_ver) += $(DEB_SRCDIR)/ext/tk/MANUAL* + +DEB_INSTALL_DIRS_ruby$(ruby_ver) += $(bin_dir) +DEB_INSTALL_DIRS_ruby$(ruby_ver) += $(man_dir) +DEB_INSTALL_DOCS_ruby$(ruby_ver) += +DEB_INSTALL_DOCS_ruby$(ruby_ver) += $(DEB_SRCDIR)/LEGAL +DEB_INSTALL_DOCS_ruby$(ruby_ver) += $(DEB_SRCDIR)/README +DEB_INSTALL_DOCS_ruby$(ruby_ver) += $(DEB_SRCDIR)/README.ja +DEB_INSTALL_DOCS_ruby$(ruby_ver) += $(DEB_SRCDIR)/ToDo +DEB_INSTALL_DOCS_ruby$(ruby_ver) += $(DEB_SRCDIR)/NEWS +DEB_INSTALL_DOCS_ruby$(ruby_ver) += $(DEB_SRCDIR)/doc/NEWS-1.8.0 +DEB_INSTALL_MANPAGES_ruby$(ruby_ver) += debian/testrb$(ruby_ver).1 +DEB_INSTALL_MANPAGES_ruby$(ruby_ver) += debian/erb$(ruby_ver).1 +DEB_INSTALL_MANPAGES_ruby$(ruby_ver) += debian/rdoc$(ruby_ver).1 +DEB_INSTALL_MANPAGES_ruby$(ruby_ver) += debian/irb$(ruby_ver).1 + +DEB_INSTALL_DOCS_libruby$(ruby_ver) += $(DEB_SRCDIR)/lib/README +DEB_INSTALL_DOCS_libruby$(ruby_ver) += $(DEB_SRCDIR)/NEWS +DEB_INSTALL_DOCS_libruby$(ruby_ver) += $(DEB_SRCDIR)/doc/NEWS-1.8.0 +DEB_INSTALL_DOCS_libruby$(ruby_ver) += $(DEB_SRCDIR)/doc/*.rd* + + +DEB_INSTALL_DOCS_ruby$(ruby_ver)-dev += $(DEB_SRCDIR)/README.EXT* + +DEB_COMPRESS_EXCLUDE = .rb .pl .py .scm .awk .dat +DEB_SHLIBDEPS_INCLUDE = $(CURDIR)/debian/libruby$(ruby_ver)/usr/lib +DEB_DH_MAKESHLIBS_ARGS_ALL = -m$(ruby_ver) -V + +binary-install/libtcltk-ruby$(ruby_ver):: + dh_movefiles -p$(cdbs_curpkg) \ + $(ruby_archdir)/tcltklib.so \ + $(ruby_archdir)/tkutil.so + sh $(CURDIR)/debian/extfixup_rubylibs.sh $(cdbs_curpkg) \ + $(DEB_SRCDIR)/ext/tk + + install -d \ + $(CURDIR)/debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/examples + (cd $(DEB_SRCDIR)/ext/tk/sample && \ + tar cf - .) | \ + (cd $(CURDIR)/debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/examples && tar xf -) + chmod a-x $(CURDIR)/debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/examples/tkextlib/tktable/tcllogo.gif + mv $(CURDIR)/debian/tmp/usr/lib/ruby/$(ruby_ver)/tkextlib/SUPPORT_STATUS \ + $(CURDIR)/debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/ + install \ + $(DEB_SRCDIR)/ext/tk/lib/README \ + $(CURDIR)/debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/README.lib + install \ + $(DEB_SRCDIR)/ext/tk/lib/tkextlib/tcllib/README \ + $(CURDIR)/debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/README.tcllib + install \ + $(DEB_SRCDIR)/ext/tk/lib/tkextlib/tkimg/README \ + $(CURDIR)/debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/README.tkimg + +binary-install/libruby$(ruby_ver):: $(patsubst %,binary-install/%,$(filter-out libruby$(ruby_ver),$(DEB_PACKAGES))) + install -d $(CURDIR)/debian/$(cdbs_curpkg)/$(ruby_archdir) + for s in $(CURDIR)/debian/$(cdbs_curpkg).*.in; do \ + sed -e 's/@@arch@@/$(arch_name)/g' \ + < $$s > `expr $$s : '\(.*\)\.in$$'`; \ + done + + (cd $(CURDIR)/debian/tmp/usr/lib && \ + for f in libruby$(ruby_ver).so.$(ruby_ver)*; do \ + echo usr/lib/$$f; \ + done) | xargs dh_movefiles -p$(cdbs_curpkg) + dh_movefiles -p$(cdbs_curpkg) usr/lib/ruby/$(ruby_ver) + + cd $(DEB_SRCDIR)/ext && \ + for dir in \ + bigdecimal curses digest dl enumerator etc \ + fcntl iconv io nkf pty racc readline openssl sdbm socket \ + stringio strscan syck syslog thread zlib \ + ; \ + do \ + install -d "$(CURDIR)/debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/$$dir"; \ + find $$dir \ + -name '*README*' -or -name '*.html*' -or \ + -name '*.txt*' -or -name '*.rd*' | \ + while read fname; \ + do \ + cp "$$fname" \ + "$(CURDIR)/debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/$$dir"; \ + done; \ + rmdir "$(CURDIR)/debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/$$dir" 2>/dev/null || :; \ + done + +binary-install/ruby$(ruby_ver)-dev:: + dh_movefiles -p$(cdbs_curpkg) \ + usr/lib/libruby$(ruby_ver).so \ + usr/lib/libruby$(ruby_ver)-static.a \ + usr/lib/ruby/$(ruby_ver)/mkmf.rb + (cd $(CURDIR)/debian/tmp/usr/lib/ruby/$(ruby_ver)/$(arch_name) && \ + for h in *.h; do \ + echo usr/lib/ruby/$(ruby_ver)/$(arch_name)/$$h; \ + chmod a-x $$h; \ + done) | xargs dh_movefiles -p$(cdbs_curpkg) + +binary-install/ruby$(ruby_ver):: + dh_movefiles -p$(cdbs_curpkg) \ + usr/bin/ruby$(ruby_ver) \ + usr/bin/erb$(ruby_ver) \ + usr/bin/testrb$(ruby_ver) \ + usr/bin/rdoc$(ruby_ver) \ + usr/bin/irb$(ruby_ver) \ + usr/share/man/man1/ruby$(ruby_ver).1 + +binary-post-install/ruby$(ruby_ver)-elisp:: + install -m444 $(DEB_SRCDIR)/misc/*.el \ + $(CURDIR)/debian/$(cdbs_curpkg)/$(el_dir) + +binary-install/ri$(ruby_ver):: + dh_movefiles -p$(cdbs_curpkg) $(bin_dir)/$(cdbs_curpkg) +binary-post-install/ri$(ruby_ver):: + $(DEB_MAKE_INVOKE) install-doc DESTDIR=$(CURDIR)/debian/$(cdbs_curpkg) + install -m444 $(CURDIR)/debian/$(cdbs_curpkg).1 \ + $(CURDIR)/debian/$(cdbs_curpkg)/$(man_dir)/$(cdbs_curpkg).1 + +binary-post-install/ruby$(ruby_ver)-examples:: + install -d $(examples_dir)/bigdecimal + cp -a $(DEB_SRCDIR)/ext/bigdecimal/sample/* $(examples_dir)/bigdecimal + install -d $(examples_dir)/curses + cd $(DEB_SRCDIR)/ext/curses && \ + cp hello.rb mouse.rb rain.rb view.rb view2.rb \ + $(examples_dir)/curses +# install -d $(examples_dir)/digest +# install -d $(examples_dir)/dl +# install -d $(examples_dir)/enumerator +# install -d $(examples_dir)/etc +# install -d $(examples_dir)/fcntl +# install -d $(examples_dir)/iconv +# install -d $(examples_dir)/io +# install -d $(examples_dir)/nkf + install -d $(examples_dir)/pty + cd $(DEB_SRCDIR)/ext/pty && \ + cp expect_sample.rb script.rb shl.rb \ + $(examples_dir)/pty +# install -d $(examples_dir)/racc +# install -d $(examples_dir)/sdbm +# install -d $(examples_dir)/socket +# install -d $(examples_dir)/stringio +# install -d $(examples_dir)/strscan +# install -d $(examples_dir)/syck +# install -d $(examples_dir)/syslog +# install -d $(examples_dir)/zlib + + (cd $(DEB_SRCDIR)/sample && tar cf - .) | \ + (cd $(examples_dir) && tar xf -) + +$(patsubst %,binary-post-install/%,$(DEB_PACKAGES)):: + bash $(CURDIR)/debian/fixshebang.sh ruby$(ruby_ver) \ + '$(CURDIR)/debian/$(cdbs_curpkg)/$(bin_dir)' + bash $(CURDIR)/debian/fixshebang.sh ruby$(ruby_ver) \ + '$(CURDIR)/debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/examples' + sh $(CURDIR)/debian/rmshebang.sh \ + '$(CURDIR)/debian/$(cdbs_curpkg)/$(ruby_libdir)' + +clean:: + rm -f \ + .installed.list \ + configure \ + parse.c \ + debian/libruby$(ruby_ver).postinst \ + debian/libruby$(ruby_ver).prerm + + if [ -f $(DEB_SRCDIR)/config.guess.cdbs-orig ]; \ + then \ + mv $(DEB_SRCDIR)/config.guess.cdbs-orig \ + $(DEB_SRCDIR)/config.guess; \ + fi + if [ -f $(DEB_SRCDIR)/config.sub.cdbs-orig ]; \ + then \ + mv $(DEB_SRCDIR)/config.sub.cdbs-orig \ + $(DEB_SRCDIR)/config.sub; \ + fi --- ruby1.8-1.8.7.299.orig/debian/watch +++ ruby1.8-1.8.7.299/debian/watch @@ -0,0 +1,5 @@ +version=3 + +opts="pasv,uversionmangle=s/-p/\./" \ +ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-(1\.8\.\d-p\d*)\.tar\.gz debian uupdate + --- ruby1.8-1.8.7.299.orig/debian/ri1.8.rd +++ ruby1.8-1.8.7.299/debian/ri1.8.rd @@ -0,0 +1,68 @@ +=begin += NAME + +ri1.8 - Ruby Information at your fingertips + += SYNOPSIS + +ri1.8 [options] [names...] + += DESCRIPTION + +((*ri1.8*)) displaies information on Ruby classes, modules, and methods. +You can give the names of classes or methods to see their documentation. +Partial names may be given: if the names match more than +one entity, a list will be shown, otherwise details on +that entity will be displayed. + +Nested classes and modules can be specified using the normal +Name::Name notation, and instance methods can be distinguished +from class methods using "." (or "#") instead of "::". + +For example: + + ri1.8 File + ri1.8 File.new + ri1.8 F.n + ri1.8 zip + +Note that shell quoting may be required for method names +containing punctuation: + + ri1.8 'Array.[]' + ri1.8 compact\! + += OPTIONS + +: --classes, -c + Display the names of classes and modules we know about. + +: --doc-dir, -d ((|dirname|)) + A directory to search for documentation. If not specified, we search the + standard rdoc/ri directories. + +: --format, -f ((|name|)) + Format to use when displaying output: ansi, bs, html, plain, simple. Use + 'bs' (backspace) with most pager programs. To use ANSI, either also use + the -T option, or tell your pager to allow control characters. (for + example using the -R option to less.) + +: --list-names, -l + List all the names known to RDoc, one per line. + +: --no-pager, -T + Send output directly to stdout. + +: --width, -w ((|width|)) + Set the width of the output. + +: --version, -v + Display the version of ri1.8. + +: --help, -h + Display help. + +Options may also be passed in the 'RI' environment variable + + +=end --- ruby1.8-1.8.7.299.orig/debian/patches/903_rdoc_documents.patch +++ ruby1.8-1.8.7.299/debian/patches/903_rdoc_documents.patch @@ -0,0 +1,22 @@ +Author: akira yamada +Description: Some files in the ruby source provide RDoc comments, but are not +included in a default rdoc run. This patch allows to generate the doc +for those files as well. +Debian specific patch +--- a/ext/.document ++++ b/ext/.document +@@ -1,6 +1,8 @@ + # Add files to this as they become documented + ++bigdecimal/bigdecimal.c + enumerator/enumerator.c ++gdbm/gdbm.c + iconv/iconv.c + nkf/lib/kconv.rb + nkf/nkf.c +--- a/lib/cgi/.document ++++ b/lib/cgi/.document +@@ -1,2 +1,2 @@ ++session + session.rb +- --- ruby1.8-1.8.7.299.orig/debian/patches/090812_openssl_x509_warning.patch +++ ruby1.8-1.8.7.299/debian/patches/090812_openssl_x509_warning.patch @@ -0,0 +1,13 @@ +Author: akira yamada +Description: suppress warning. +this is backport of a part of r21772. +--- a/ext/openssl/ossl_x509ext.c ++++ b/ext/openssl/ossl_x509ext.c +@@ -110,6 +110,7 @@ ossl_x509extfactory_alloc(VALUE klass) + VALUE obj; + + MakeX509ExtFactory(klass, obj, ctx); ++ rb_iv_set(obj, "@config", Qnil); + + return obj; + } --- ruby1.8-1.8.7.299.orig/debian/patches/CVE-2011-1005.patch +++ ruby1.8-1.8.7.299/debian/patches/CVE-2011-1005.patch @@ -0,0 +1,30 @@ +Description: Prevent untainted strings from being incorrectly tainted + This flaw allowed untainted strings to be tainted and modified, even in + safe level 4. +Origin: upstream, http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=30903&view=revision + +Index: ruby1.8-1.8.7.299/error.c +=================================================================== +--- ruby1.8-1.8.7.299.orig/error.c 2008-08-03 22:24:26.000000000 -0500 ++++ ruby1.8-1.8.7.299/error.c 2012-02-02 16:21:39.020236674 -0600 +@@ -403,7 +403,6 @@ + VALUE mesg = rb_attr_get(exc, rb_intern("mesg")); + + if (NIL_P(mesg)) return rb_class_name(CLASS_OF(exc)); +- if (OBJ_TAINTED(exc)) OBJ_TAINT(mesg); + return mesg; + } + +@@ -667,10 +666,9 @@ + if (NIL_P(mesg)) return rb_class_name(CLASS_OF(exc)); + StringValue(str); + if (str != mesg) { +- rb_iv_set(exc, "mesg", mesg = str); ++ OBJ_INFECT(str, mesg); + } +- if (OBJ_TAINTED(exc)) OBJ_TAINT(mesg); +- return mesg; ++ return str; + } + + /* --- ruby1.8-1.8.7.299.orig/debian/patches/901_ri_pager.patch +++ ruby1.8-1.8.7.299/debian/patches/901_ri_pager.patch @@ -0,0 +1,13 @@ +Author: akira yamada +Description: Debian specific patch +--- a/lib/rdoc/ri/ri_display.rb ++++ b/lib/rdoc/ri/ri_display.rb +@@ -210,7 +210,7 @@ class DefaultDisplay + + def setup_pager + unless @options.use_stdout +- for pager in [ ENV['PAGER'], "less", "more", 'pager' ].compact.uniq ++ for pager in [ ENV['PAGER'], 'pager', "less", "more" ].compact.uniq + return IO.popen(pager, "w") rescue nil + end + @options.use_stdout = true --- ruby1.8-1.8.7.299.orig/debian/patches/102_configure.in-crosscompile.patch +++ ruby1.8-1.8.7.299/debian/patches/102_configure.in-crosscompile.patch @@ -0,0 +1,32 @@ +Author: Lucas Nussbaum +Description: patch for Debian bug #341256 +replace AC_FUNC_SETPGRP with something that works when cross-compiling +--- a/configure.in ++++ b/configure.in +@@ -825,7 +825,25 @@ main() + fi + + AC_FUNC_GETPGRP +-AC_FUNC_SETPGRP ++ ++dnl AC_FUNC_SETPGRP does not work if cross compiling ++dnl Instead, assume we will have a prototype for setpgrp if cross compiling. ++if test "$cross_compiling" = no; then ++ AC_FUNC_SETPGRP ++else ++ AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void, ++ [AC_TRY_COMPILE([ ++#include ++], [ ++ if (setpgrp(1,1) == -1) ++ exit (0); ++ else ++ exit (1); ++], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)]) ++if test $ac_cv_func_setpgrp_void = yes; then ++ AC_DEFINE(SETPGRP_VOID, 1) ++fi ++fi + + AC_C_BIGENDIAN + AC_C_CONST --- ruby1.8-1.8.7.299.orig/debian/patches/090613_exclude_rdoc.patch +++ ruby1.8-1.8.7.299/debian/patches/090613_exclude_rdoc.patch @@ -0,0 +1,15 @@ +Author: Daigo Moriwaki +Description: Exclude files from the RDoc generation. +- mkconfig.rb, which causes an error. +- test_*.rb, which are test cases. +--- a/common.mk ++++ b/common.mk +@@ -261,7 +261,7 @@ post-install-doc:: + + rdoc: $(PROGRAM) PHONY + @echo Generating RDoc documentation +- $(RUNRUBY) "$(srcdir)/bin/rdoc" --all --ri --op "$(RDOCOUT)" "$(srcdir)" ++ $(RUNRUBY) "$(srcdir)/bin/rdoc" --all --ri --op "$(RDOCOUT)" --exclude mkconfig.rb --exclude test_ "$(srcdir)" + + what-where-doc: no-install-doc + no-install-doc: pre-no-install-doc dont-install-doc post-no-install-doc --- ruby1.8-1.8.7.299.orig/debian/patches/803_soap_massmem.patch +++ ruby1.8-1.8.7.299/debian/patches/803_soap_massmem.patch @@ -0,0 +1,294 @@ +Author: akira yamada +Description: Fix for Debian bug #393685 - SOAP4R consumes too much memory +This was not backported into ruby 1.8 upstream (and soap is no +longer shipped with ruby 1.9) +refreshed for 1.8.7.72 so it can unapply - only whitespace changes. +--- a/lib/soap/baseData.rb ++++ b/lib/soap/baseData.rb +@@ -1,5 +1,5 @@ + # soap/baseData.rb: SOAP4R - Base type library +-# Copyright (C) 2000, 2001, 2003-2005 NAKAMURA, Hiroshi . ++# Copyright (C) 2000, 2001, 2003-2006 NAKAMURA, Hiroshi . + + # This program is copyrighted free software by NAKAMURA, Hiroshi. You can + # redistribute it and/or modify it under the same terms of Ruby's license; +@@ -657,37 +657,30 @@ private + value + end + +- if RUBY_VERSION > "1.7.0" ++ # Mapping.define_singleton_method calls define_method with proc and it ++ # exhausts much memory for each singleton Object. just instance_eval instead ++ # of it. + def add_accessor(name) +- methodname = name +- if self.respond_to?(methodname) +- methodname = safe_accessor_name(methodname) +- end +- Mapping.define_singleton_method(self, methodname) do +- @data[@array.index(name)] +- end +- Mapping.define_singleton_method(self, methodname + '=') do |value| +- @data[@array.index(name)] = value +- end +- end +- else +- def add_accessor(name) +- methodname = safe_accessor_name(name) ++ # untaint depends GenSupport.safemethodname ++ methodname = XSD::CodeGen::GenSupport.safemethodname(name).untaint ++ methodname = "var_#{methodname}" if self.respond_to?(methodname) # XXX: Debian: compatiblity with original SOAP4R of Ruby 1.8.x. ++ # untaint depends String#dump and Array#index ++ namedump = name.dump.untaint ++ unless self.respond_to?(methodname) + instance_eval <<-EOS + def #{methodname} +- @data[@array.index(#{name.dump})] ++ @data[@array.index(#{namedump})] + end +- ++ EOS ++ end ++ unless self.respond_to?(methodname + "=") ++ instance_eval <<-EOS + def #{methodname}=(value) +- @data[@array.index(#{name.dump})] = value ++ @data[@array.index(#{namedump})] = value + end + EOS + end + end +- +- def safe_accessor_name(name) +- "var_" << name.gsub(/[^a-zA-Z0-9_]/, '') +- end + end + + +--- a/lib/soap/mapping/mapping.rb ++++ b/lib/soap/mapping/mapping.rb +@@ -42,7 +42,8 @@ module Mapping + soap_obj = nil + protect_threadvars(:SOAPMarshalDataKey, :SOAPExternalCES, :SOAPMarshalNoReference) do + Thread.current[:SOAPMarshalDataKey] = {} +- Thread.current[:SOAPExternalCES] = opt[:external_ces] || $KCODE ++ Thread.current[:SOAPExternalCES] = ++ opt[:external_ces] || XSD::Charset.encoding + Thread.current[:SOAPMarshalNoReference] = opt[:no_reference] + soap_obj = _obj2soap(obj, registry, type) + end +@@ -54,7 +55,8 @@ module Mapping + obj = nil + protect_threadvars(:SOAPMarshalDataKey, :SOAPExternalCES, :SOAPMarshalNoReference) do + Thread.current[:SOAPMarshalDataKey] = {} +- Thread.current[:SOAPExternalCES] = opt[:external_ces] || $KCODE ++ Thread.current[:SOAPExternalCES] = ++ opt[:external_ces] || XSD::Charset.encoding + Thread.current[:SOAPMarshalNoReference] = opt[:no_reference] + obj = _soap2obj(node, registry, klass) + end +@@ -67,7 +69,8 @@ module Mapping + soap_ary = SOAPArray.new(ValueArrayName, 1, type) + protect_threadvars(:SOAPMarshalDataKey, :SOAPExternalCES, :SOAPMarshalNoReference) do + Thread.current[:SOAPMarshalDataKey] = {} +- Thread.current[:SOAPExternalCES] = opt[:external_ces] || $KCODE ++ Thread.current[:SOAPExternalCES] = ++ opt[:external_ces] || XSD::Charset.encoding + Thread.current[:SOAPMarshalNoReference] = opt[:no_reference] + ary.each do |ele| + soap_ary.add(_obj2soap(ele, registry, type)) +@@ -82,7 +85,8 @@ module Mapping + md_ary = SOAPArray.new(ValueArrayName, rank, type) + protect_threadvars(:SOAPMarshalDataKey, :SOAPExternalCES, :SOAPMarshalNoReference) do + Thread.current[:SOAPMarshalDataKey] = {} +- Thread.current[:SOAPExternalCES] = opt[:external_ces] || $KCODE ++ Thread.current[:SOAPExternalCES] = ++ opt[:external_ces] || XSD::Charset.encoding + Thread.current[:SOAPMarshalNoReference] = opt[:no_reference] + add_md_ary(md_ary, ary, [], registry) + end +@@ -292,16 +296,28 @@ module Mapping + end + else + values.each do |attr_name, value| +- name = XSD::CodeGen::GenSupport.safevarname(attr_name) ++ # untaint depends GenSupport.safevarname ++ name = XSD::CodeGen::GenSupport.safevarname(attr_name).untaint + setter = name + "=" + if obj.respond_to?(setter) + obj.__send__(setter, value) + else + obj.instance_variable_set('@' + name, value) + begin +- define_attr_accessor(obj, name, +- proc { instance_variable_get('@' + name) }, +- proc { |value| instance_variable_set('@' + name, value) }) ++ unless obj.respond_to?(name) ++ obj.instance_eval <<-EOS ++ def #{name} ++ @#{name} ++ end ++ EOS ++ end ++ unless self.respond_to?(name + "=") ++ obj.instance_eval <<-EOS ++ def #{name}=(value) ++ @#{name} = value ++ end ++ EOS ++ end + rescue TypeError + # singleton class may not exist (e.g. Float) + end +@@ -310,11 +326,6 @@ module Mapping + end + end + +- def self.define_attr_accessor(obj, name, getterproc, setterproc = nil) +- define_singleton_method(obj, name, &getterproc) +- define_singleton_method(obj, name + '=', &setterproc) if setterproc +- end +- + def self.schema_type_definition(klass) + class_schema_variable(:schema_type, klass) + end +--- a/lib/soap/mapping/registry.rb ++++ b/lib/soap/mapping/registry.rb +@@ -133,23 +133,24 @@ class Object; include Marshallable + + private + +- if RUBY_VERSION > "1.7.0" ++ # Mapping.define_attr_accessor calls define_method with proc and it exhausts ++ # much memory for each singleton Object. just instance_eval instead of it. + def __define_attr_accessor(qname) +- name = XSD::CodeGen::GenSupport.safemethodname(qname.name) +- Mapping.define_attr_accessor(self, name, +- proc { self[qname] }, +- proc { |value| self[qname] = value }) +- end +- else +- def __define_attr_accessor(qname) +- name = XSD::CodeGen::GenSupport.safemethodname(qname.name) ++ # untaint depends GenSupport.safemethodname ++ name = XSD::CodeGen::GenSupport.safemethodname(qname.name).untaint ++ # untaint depends QName#dump ++ qnamedump = qname.dump.untaint ++ unless self.respond_to?(name) + instance_eval <<-EOS + def #{name} +- self[#{qname.dump}] ++ self[#{qnamedump}] + end +- ++ EOS ++ end ++ unless self.respond_to?(name + "=") ++ instance_eval <<-EOS + def #{name}=(value) +- self[#{qname.dump}] = value ++ self[#{qnamedump}] = value + end + EOS + end +--- a/lib/soap/mapping/wsdlliteralregistry.rb ++++ b/lib/soap/mapping/wsdlliteralregistry.rb +@@ -360,36 +360,27 @@ private + end + end + +- if RUBY_VERSION > "1.7.0" +- def define_xmlattr_accessor(obj, qname) +- name = XSD::CodeGen::GenSupport.safemethodname(qname.name) +- Mapping.define_attr_accessor(obj, 'xmlattr_' + name, +- proc { @__xmlattr[qname] }, +- proc { |value| @__xmlattr[qname] = value }) +- end +- else ++ ++ # Mapping.define_attr_accessor calls define_method with proc and it exhausts ++ # much memory for each singleton Object. just instance_eval instead of it. + def define_xmlattr_accessor(obj, qname) +- name = XSD::CodeGen::GenSupport.safemethodname(qname.name) ++ # untaint depends GenSupport.safemethodname ++ name = XSD::CodeGen::GenSupport.safemethodname('xmlattr_' + qname.name).untaint ++ # untaint depends QName#dump ++ qnamedump = qname.dump.untaint + obj.instance_eval <<-EOS + def #{name} +- @__xmlattr[#{qname.dump}] ++ @__xmlattr[#{qnamedump}] + end + + def #{name}=(value) +- @__xmlattr[#{qname.dump}] = value ++ @__xmlattr[#{qnamedump}] = value + end + EOS + end +- end + +- if RUBY_VERSION > "1.7.0" +- def define_xmlattr(obj) +- obj.instance_variable_set('@__xmlattr', {}) +- unless obj.respond_to?(:__xmlattr) +- Mapping.define_attr_accessor(obj, :__xmlattr, proc { @__xmlattr }) +- end +- end +- else ++ # Mapping.define_attr_accessor calls define_method with proc and it exhausts ++ # much memory for each singleton Object. just instance_eval instead of it. + def define_xmlattr(obj) + obj.instance_variable_set('@__xmlattr', {}) + unless obj.respond_to?(:__xmlattr) +@@ -400,7 +391,6 @@ private + EOS + end + end +- end + + # it caches @@schema_element. this means that @@schema_element must not be + # changed while a lifetime of a WSDLLiteralRegistry. +--- a/lib/soap/rpc/driver.rb ++++ b/lib/soap/rpc/driver.rb +@@ -222,18 +222,9 @@ private + add_method_interface(name, param_count) + end + +- if RUBY_VERSION > "1.7.0" +- def add_method_interface(name, param_count) +- ::SOAP::Mapping.define_singleton_method(self, name) do |*arg| +- unless arg.size == param_count +- raise ArgumentError.new( +- "wrong number of arguments (#{arg.size} for #{param_count})") +- end +- call(name, *arg) +- end +- self.method(name) +- end +- else ++ # Mapping.define_singleton_method calls define_method with proc and it ++ # exhausts much memory for each singleton Object. just instance_eval instead ++ # of it. + def add_method_interface(name, param_count) + instance_eval <<-EOS + def #{name}(*arg) +@@ -246,7 +237,6 @@ private + EOS + self.method(name) + end +- end + end + + +--- a/lib/xsd/charset.rb ++++ b/lib/xsd/charset.rb +@@ -167,7 +167,7 @@ public + SJISRegexp =~ str + end + +- def Charset.is_ces(str, code = $KCODE) ++ def Charset.is_ces(str, code = @internal_encoding) + case code + when 'NONE' + is_us_ascii(str) --- ruby1.8-1.8.7.299.orig/debian/patches/808_rexml_document_transitive.patch +++ ruby1.8-1.8.7.299/debian/patches/808_rexml_document_transitive.patch @@ -0,0 +1,44 @@ +Author: akira yamada +Description: REXML::Document#write(io, 1, true, true) raises NameError/ArgumentError +--- a/lib/rexml/document.rb ++++ b/lib/rexml/document.rb +@@ -186,6 +186,7 @@ module REXML + end + formatter = if indent > -1 + if trans ++ require "rexml/formatters/transitive" + REXML::Formatters::Transitive.new( indent, ie_hack ) + else + REXML::Formatters::Pretty.new( indent, ie_hack ) +--- a/lib/rexml/element.rb ++++ b/lib/rexml/element.rb +@@ -675,6 +675,7 @@ module REXML + Kernel.warn("#{self.class.name}.write is deprecated. See REXML::Formatters") + formatter = if indent > -1 + if transitive ++ require "rexml/formatters/transitive" + REXML::Formatters::Transitive.new( indent, ie_hack ) + else + REXML::Formatters::Pretty.new( indent, ie_hack ) +--- a/lib/rexml/formatters/transitive.rb ++++ b/lib/rexml/formatters/transitive.rb +@@ -12,9 +12,10 @@ module REXML + # formatted. Since this formatter does not alter whitespace nodes, the + # results of formatting already formatted XML will be odd. + class Transitive < Default +- def initialize( indentation=2 ) ++ def initialize( indentation=2, ie_hack=false ) + @indentation = indentation + @level = 0 ++ @ie_hack = ie_hack + end + + protected +@@ -29,6 +30,7 @@ module REXML + output << "\n" + output << ' '*@level + if node.children.empty? ++ output << " " if @ie_hack + output << "/" + else + output << ">" --- ruby1.8-1.8.7.299.orig/debian/patches/CVE-2011-0188.patch +++ ruby1.8-1.8.7.299/debian/patches/CVE-2011-0188.patch @@ -0,0 +1,23 @@ +Description: fix memory corruption on 64 bit architectures +Origin: upstream, http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ext/bigdecimal/bigdecimal.c?r1=29364&r2=30993 + +Index: ruby1.8-1.8.7.299/ext/bigdecimal/bigdecimal.c +=================================================================== +--- ruby1.8-1.8.7.299.orig/ext/bigdecimal/bigdecimal.c 2010-06-08 02:49:18.000000000 -0500 ++++ ruby1.8-1.8.7.299/ext/bigdecimal/bigdecimal.c 2012-02-01 16:34:25.676161391 -0600 +@@ -2032,11 +2032,11 @@ + VP_EXPORT void * + VpMemAlloc(U_LONG mb) + { +- void *p = xmalloc((unsigned int)mb); +- if(!p) { +- VpException(VP_EXCEPTION_MEMORY,"failed to allocate memory",1); ++ void *p = xmalloc(mb); ++ if (!p) { ++ VpException(VP_EXCEPTION_MEMORY, "failed to allocate memory", 1); + } +- memset(p,0,mb); ++ memset(p, 0, mb); + #ifdef _DEBUG + gnAlloc++; /* Count allocation call */ + #endif /* _DEBUG */ --- ruby1.8-1.8.7.299.orig/debian/patches/100730_verbose-tests.patch +++ ruby1.8-1.8.7.299/debian/patches/100730_verbose-tests.patch @@ -0,0 +1,13 @@ +Author: Lucas Nussbaum +Description: run tests in verbose mode +--- a/common.mk ++++ b/common.mk +@@ -306,7 +306,7 @@ test: miniruby$(EXEEXT) $(RBCONFIG) $(PR + @$(MINIRUBY) $(srcdir)/rubytest.rb + + test-all: +- $(RUNRUBY) "$(srcdir)/test/runner.rb" --basedir="$(TESTSDIR)" --runner=$(TESTUI) $(TESTS) ++ $(RUNRUBY) "$(srcdir)/test/runner.rb" --basedir="$(TESTSDIR)" --runner=$(TESTUI) -v $(TESTS) + + extconf: + $(MINIRUBY) -run -e mkdir -- -p "$(EXTCONFDIR)" --- ruby1.8-1.8.7.299.orig/debian/patches/CVE-2011-2686.patch +++ ruby1.8-1.8.7.299/debian/patches/CVE-2011-2686.patch @@ -0,0 +1,60 @@ +Description: Reseed random number generator in newly forked processes +Origin: upstream, http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=31713 + +Index: ruby1.8-1.8.7.299/eval.c +=================================================================== +--- ruby1.8-1.8.7.299.orig/eval.c 2012-02-08 16:54:19.278481923 -0600 ++++ ruby1.8-1.8.7.299/eval.c 2012-02-17 13:06:09.637188724 -0600 +@@ -13178,6 +13178,7 @@ + { + rb_thread_t th; + ++ rb_reset_random_seed(); + if (rb_thread_alone()) return; + FOREACH_THREAD(th) { + if (th != curr_thread) { +Index: ruby1.8-1.8.7.299/intern.h +=================================================================== +--- ruby1.8-1.8.7.299.orig/intern.h 2012-02-08 16:54:19.262481923 -0600 ++++ ruby1.8-1.8.7.299/intern.h 2012-02-17 13:06:09.637188724 -0600 +@@ -380,6 +380,7 @@ + /* random.c */ + unsigned long rb_genrand_int32(void); + double rb_genrand_real(void); ++void rb_reset_random_seed(void); + /* re.c */ + int rb_memcmp _((const void*,const void*,long)); + int rb_memcicmp _((const void*,const void*,long)); +Index: ruby1.8-1.8.7.299/io.c +=================================================================== +--- ruby1.8-1.8.7.299.orig/io.c 2012-02-08 16:54:19.270481924 -0600 ++++ ruby1.8-1.8.7.299/io.c 2012-02-17 13:06:09.645188727 -0600 +@@ -3254,6 +3254,7 @@ + rb_thread_stop_timer(); + switch ((pid = fork())) { + case 0: /* child */ ++ rb_thread_atfork(); + if (modef & FMODE_READABLE) { + close(pr[0]); + if (pr[1] != 1) { +Index: ruby1.8-1.8.7.299/random.c +=================================================================== +--- ruby1.8-1.8.7.299.orig/random.c 2012-02-08 16:54:19.254481923 -0600 ++++ ruby1.8-1.8.7.299/random.c 2012-02-17 13:06:09.645188727 -0600 +@@ -491,9 +491,15 @@ + } + + void +-Init_Random() ++rb_reset_random_seed() + { + rand_init(random_seed()); ++} ++ ++void ++Init_Random() ++{ ++ rb_reset_random_seed(); + rb_define_global_function("srand", rb_f_srand, -1); + rb_define_global_function("rand", rb_f_rand, -1); + rb_global_variable(&saved_seed); --- ruby1.8-1.8.7.299.orig/debian/patches/100730_disable_getsetcontext_on_nptl.patch +++ ruby1.8-1.8.7.299/debian/patches/100730_disable_getsetcontext_on_nptl.patch @@ -0,0 +1,41 @@ +Author: Lucas Nussbaum +Description: backport upstream commits 28404 and 28595 from ruby_1_8 branch +Upstream-bug: http://redmine.ruby-lang.org/issues/show/2553 +Ubuntu-bug: https://bugs.launchpad.net/ubuntu/+source/ruby1.8/+bug/307462 + +--- a/configure.in ++++ b/configure.in +@@ -522,7 +522,7 @@ AC_CHECK_HEADERS(stdlib.h string.h unist + fcntl.h sys/fcntl.h sys/select.h sys/time.h sys/times.h sys/param.h\ + syscall.h pwd.h grp.h a.out.h utime.h memory.h direct.h sys/resource.h \ + sys/mkdev.h sys/utime.h netinet/in_systm.h float.h ieeefp.h pthread.h \ +- ucontext.h intrinsics.h) ++ intrinsics.h) + + dnl Check additional types. + AC_CHECK_SIZEOF(rlim_t, 0, [ +@@ -1097,8 +1097,22 @@ if test x"$enable_pthread" = xyes; then + fi + fi + fi +-if test x"$ac_cv_header_ucontext_h" = xyes; then +- if test x"$rb_with_pthread" = xyes; then ++ ++use_context=no ++if test x"$rb_with_pthread" = xyes; then ++ AS_CASE("$target_cpu:$target_os:$cross_compiling", ++ [*:linux*:no], [ ++ if test -n "`(/lib/libc.so.6 2>/dev/null | fgrep 'linuxthreads') 2> /dev/null`"; then ++ use_context=yes ++ fi ++ ], ++ [sparc*], [ ++ use_context=yes ++ ]) ++fi ++if test x"$use_context" = xyes; then ++ AC_CHECK_HEADERS(ucontext.h) ++ if test x"$ac_cv_header_ucontext_h" = xyes; then + AC_CHECK_FUNCS(getcontext setcontext) + fi + fi --- ruby1.8-1.8.7.299.orig/debian/patches/902_extra_search_path.patch +++ ruby1.8-1.8.7.299/debian/patches/902_extra_search_path.patch @@ -0,0 +1,46 @@ +Author: akira yamada +Description: Debian specific patch +--- a/configure.in ++++ b/configure.in +@@ -1852,6 +1852,19 @@ if test "$search_path" != ""; then + AC_DEFINE_UNQUOTED(RUBY_SEARCH_PATH,"$search_path") + fi + ++AC_ARG_WITH(extra-site-search-path, ++ [ --with-extra-site-search-path=DIR specify the extra site search path], ++ [extra_site_search_path=$withval]) ++if test "$extra_site_search_path" != ""; then ++ AC_DEFINE_UNQUOTED(RUBY_EXTRA_SITE_SEARCH_PATH,"$extra_site_search_path") ++fi ++AC_ARG_WITH(extra-search-path, ++ [ --with--site-search-path=DIR specify the extra search path], ++ [extra_search_path=$withval]) ++if test "$extra_search_path" != ""; then ++ AC_DEFINE_UNQUOTED(RUBY_EXTRA_SEARCH_PATH,"$extra_search_path") ++fi ++ + AC_ARG_WITH(mantype, + [ --with-mantype=TYPE specify man page type; TYPE is one of man and doc], + [ +--- a/ruby.c ++++ b/ruby.c +@@ -320,6 +320,9 @@ ruby_init_loadpath() + incpush(RUBY_RELATIVE(RUBY_SITE_THIN_ARCHLIB)); + #endif + incpush(RUBY_RELATIVE(RUBY_SITE_ARCHLIB)); ++#ifdef RUBY_EXTRA_SITE_SEARCH_PATH ++ ruby_incpush(RUBY_RELATIVE(RUBY_EXTRA_SITE_SEARCH_PATH)); ++#endif + incpush(RUBY_RELATIVE(RUBY_SITE_LIB)); + + incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB2)); +@@ -334,6 +337,9 @@ ruby_init_loadpath() + incpush(RUBY_RELATIVE(RUBY_THIN_ARCHLIB)); + #endif + incpush(RUBY_RELATIVE(RUBY_ARCHLIB)); ++#ifdef RUBY_EXTRA_SEARCH_PATH ++ ruby_incpush(RUBY_RELATIVE(RUBY_EXTRA_SEARCH_PATH)); ++#endif + + if (rb_safe_level() == 0) { + incpush("."); --- ruby1.8-1.8.7.299.orig/debian/patches/series +++ ruby1.8-1.8.7.299/debian/patches/series @@ -0,0 +1,18 @@ +102_configure.in-crosscompile.patch +803_soap_massmem.patch +808_rexml_document_transitive.patch +809_update_lib_README.patch +901_ri_pager.patch +902_extra_search_path.patch +903_rdoc_documents.patch +090613_exclude_rdoc.patch +090812_openssl_x509_warning.patch +100730_disable_getsetcontext_on_nptl.patch +100730_verbose-tests.patch +CVE-2010-0541.patch +CVE-2011-0188.patch +CVE-2011-1004.patch +CVE-2011-1005.patch +CVE-2011-2686.patch +CVE-2011-2705.patch +CVE-2011-4815.patch --- ruby1.8-1.8.7.299.orig/debian/patches/CVE-2010-0541.patch +++ ruby1.8-1.8.7.299/debian/patches/CVE-2010-0541.patch @@ -0,0 +1,17 @@ +Description: Fix cross-site scripting vulnerability + Use ISO-8859-1 as the default character set for HTTP error responses +Origin: upstream, http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=29002 + +Index: ruby1.8-1.8.7.299/lib/webrick/httpresponse.rb +=================================================================== +--- ruby1.8-1.8.7.299.orig/lib/webrick/httpresponse.rb 2008-06-06 03:05:24.000000000 -0500 ++++ ruby1.8-1.8.7.299/lib/webrick/httpresponse.rb 2012-02-01 14:26:17.579978673 -0600 +@@ -209,7 +209,7 @@ + @keep_alive = false + self.status = HTTPStatus::RC_INTERNAL_SERVER_ERROR + end +- @header['content-type'] = "text/html" ++ @header['content-type'] = "text/html; charset=ISO-8859-1" + + if respond_to?(:create_error_page) + create_error_page() --- ruby1.8-1.8.7.299.orig/debian/patches/CVE-2011-2705.patch +++ ruby1.8-1.8.7.299/debian/patches/CVE-2011-2705.patch @@ -0,0 +1,22 @@ +Description: Initialize PRNG seed using pid numbers and current time +Origin: upstream, http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=32050 + +Index: ruby1.8-1.8.7.299/lib/securerandom.rb +=================================================================== +--- ruby1.8-1.8.7.299.orig/lib/securerandom.rb 2007-10-10 09:37:42.000000000 -0500 ++++ ruby1.8-1.8.7.299/lib/securerandom.rb 2012-02-17 13:15:44.073202378 -0600 +@@ -50,6 +50,14 @@ + def self.random_bytes(n=nil) + n ||= 16 + if defined? OpenSSL::Random ++ @pid = $$ if !defined?(@pid) ++ pid = $$ ++ if @pid != pid ++ now = Time.now ++ ary = [now.to_i, now.usec, @pid, pid] ++ OpenSSL::Random.seed(ary.to_s) ++ @pid = pid ++ end + return OpenSSL::Random.random_bytes(n) + end + if !defined?(@has_urandom) || @has_urandom --- ruby1.8-1.8.7.299.orig/debian/patches/CVE-2011-1004.patch +++ ruby1.8-1.8.7.299/debian/patches/CVE-2011-1004.patch @@ -0,0 +1,34 @@ +Description: Prevent symlink race allowing arbitrary file deletion +Origin: upstream, http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/lib/fileutils.rb?r1=30896&r2=30895&pathrev=30896 + +Index: ruby1.8-1.8.7.299/lib/fileutils.rb +=================================================================== +--- ruby1.8-1.8.7.299.orig/lib/fileutils.rb 2010-06-08 01:31:50.000000000 -0500 ++++ ruby1.8-1.8.7.299/lib/fileutils.rb 2012-02-01 17:04:53.776204838 -0600 +@@ -658,10 +658,10 @@ + # removing directories. This requires the current process is the + # owner of the removing whole directory tree, or is the super user (root). + # +- # WARNING: You must ensure that *ALL* parent directories are not +- # world writable. Otherwise this method does not work. +- # Only exception is temporary directory like /tmp and /var/tmp, +- # whose permission is 1777. ++ # WARNING: You must ensure that *ALL* parent directories cannot be ++ # moved by other untrusted users. For example, parent directories ++ # should not be owned by untrusted users, and should not be world ++ # writable except when the sticky bit set. + # + # WARNING: Only the owner of the removing directory tree, or Unix super + # user (root) should invoke this method. Otherwise this method does not +@@ -704,6 +704,11 @@ + end + f.chown euid, -1 + f.chmod 0700 ++ unless fu_stat_identical_entry?(st, File.lstat(fullpath)) ++ # TOC-to-TOU attack? ++ File.unlink fullpath ++ return ++ end + } + # ---- tree root is frozen ---- + root = Entry_.new(path) --- ruby1.8-1.8.7.299.orig/debian/patches/CVE-2011-4815.patch +++ ruby1.8-1.8.7.299/debian/patches/CVE-2011-4815.patch @@ -0,0 +1,253 @@ +Description: Create a random hash seed during process initialization +Origin: upstream, http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=34151 + +Index: ruby1.8-1.8.7.299/inits.c +=================================================================== +--- ruby1.8-1.8.7.299.orig/inits.c 2008-04-09 06:13:04.000000000 -0500 ++++ ruby1.8-1.8.7.299/inits.c 2012-02-17 15:41:27.057410169 -0600 +@@ -38,6 +38,7 @@ + void Init_sym _((void)); + void Init_process _((void)); + void Init_Random _((void)); ++void Init_RandomSeed _((void)); + void Init_Range _((void)); + void Init_Regexp _((void)); + void Init_signal _((void)); +@@ -46,10 +47,13 @@ + void Init_Time _((void)); + void Init_var_tables _((void)); + void Init_version _((void)); ++void Init_st _((void)); + + void + rb_call_inits() + { ++ Init_RandomSeed(); ++ Init_st(); + Init_sym(); + Init_var_tables(); + Init_Object(); +Index: ruby1.8-1.8.7.299/random.c +=================================================================== +--- ruby1.8-1.8.7.299.orig/random.c 2012-02-17 13:06:49.893189685 -0600 ++++ ruby1.8-1.8.7.299/random.c 2012-02-17 15:41:27.057410169 -0600 +@@ -189,6 +189,7 @@ + #include + #endif + ++static int seed_initialized = 0; + static VALUE saved_seed = INT2FIX(0); + + static VALUE +@@ -250,27 +251,22 @@ + return old; + } + +-static VALUE +-random_seed() ++#define DEFAULT_SEED_LEN (4 * sizeof(long)) ++ ++static void ++fill_random_seed(ptr) ++ char *ptr; + { + static int n = 0; ++ unsigned long *seed; + struct timeval tv; + int fd; + struct stat statbuf; ++ char *buf = (char*)ptr; + +- int seed_len; +- BDIGIT *digits; +- unsigned long *seed; +- NEWOBJ(big, struct RBignum); +- OBJSETUP(big, rb_cBignum, T_BIGNUM); +- +- seed_len = 4 * sizeof(long); +- big->sign = 1; +- big->len = seed_len / SIZEOF_BDIGITS + 1; +- digits = big->digits = ALLOC_N(BDIGIT, big->len); +- seed = (unsigned long *)big->digits; ++ seed = (unsigned long *)buf; + +- memset(digits, 0, big->len * SIZEOF_BDIGITS); ++ memset(buf, 0, DEFAULT_SEED_LEN); + + #ifdef S_ISCHR + if ((fd = open("/dev/urandom", O_RDONLY +@@ -285,7 +281,7 @@ + #endif + )) >= 0) { + if (fstat(fd, &statbuf) == 0 && S_ISCHR(statbuf.st_mode)) { +- read(fd, seed, seed_len); ++ read(fd, seed, DEFAULT_SEED_LEN); + } + close(fd); + } +@@ -296,13 +292,37 @@ + seed[1] ^= tv.tv_sec; + seed[2] ^= getpid() ^ (n++ << 16); + seed[3] ^= (unsigned long)&seed; ++} ++ ++static VALUE ++make_seed_value(char *ptr) ++{ ++ BDIGIT *digits; ++ NEWOBJ(big, struct RBignum); ++ OBJSETUP(big, rb_cBignum, T_BIGNUM); ++ ++ RBIGNUM_SET_SIGN(big, 1); ++ ++ digits = ALLOC_N(char, DEFAULT_SEED_LEN); ++ RBIGNUM(big)->digits = digits; ++ RBIGNUM(big)->len = DEFAULT_SEED_LEN / SIZEOF_BDIGITS; ++ ++ MEMCPY(digits, ptr, char, DEFAULT_SEED_LEN); + + /* set leading-zero-guard if need. */ +- digits[big->len-1] = digits[big->len-2] <= 1 ? 1 : 0; ++ digits[RBIGNUM_LEN(big)-1] = digits[RBIGNUM_LEN(big)-2] <= 1 ? 1 : 0; + + return rb_big_norm((VALUE)big); + } + ++static VALUE ++random_seed(void) ++{ ++ char buf[DEFAULT_SEED_LEN]; ++ fill_random_seed(buf); ++ return make_seed_value(buf); ++} ++ + /* + * call-seq: + * srand(number=0) => old_seed +@@ -443,6 +463,9 @@ + long val, max; + + rb_scan_args(argc, argv, "01", &vmax); ++ if (!seed_initialized) { ++ rand_init(random_seed()); ++ } + switch (TYPE(vmax)) { + case T_FLOAT: + if (RFLOAT(vmax)->value <= LONG_MAX && RFLOAT(vmax)->value >= LONG_MIN) { +@@ -490,6 +513,8 @@ + return LONG2NUM(val); + } + ++static char initial_seed[DEFAULT_SEED_LEN]; ++ + void + rb_reset_random_seed() + { +@@ -497,9 +522,24 @@ + } + + void ++Init_RandomSeed(void) ++{ ++ fill_random_seed(initial_seed); ++ init_by_array((unsigned long*)initial_seed, DEFAULT_SEED_LEN/sizeof(unsigned long)); ++ seed_initialized = 1; ++} ++ ++static void ++Init_RandomSeed2(void) ++{ ++ saved_seed = make_seed_value(initial_seed); ++ memset(initial_seed, 0, DEFAULT_SEED_LEN); ++} ++ ++void + Init_Random() + { +- rb_reset_random_seed(); ++ Init_RandomSeed2(); + rb_define_global_function("srand", rb_f_srand, -1); + rb_define_global_function("rand", rb_f_rand, -1); + rb_global_variable(&saved_seed); +Index: ruby1.8-1.8.7.299/st.c +=================================================================== +--- ruby1.8-1.8.7.299.orig/st.c 2007-02-12 17:01:19.000000000 -0600 ++++ ruby1.8-1.8.7.299/st.c 2012-02-17 15:41:27.061410168 -0600 +@@ -9,6 +9,7 @@ + #include + #endif + #include ++#include + #include "st.h" + + typedef struct st_table_entry st_table_entry; +@@ -521,6 +522,8 @@ + return 0; + } + ++static unsigned long hash_seed = 0; ++ + static int + strhash(string) + register const char *string; +@@ -550,10 +553,11 @@ + + return val + (val << 15); + #else +- register int val = 0; ++ register unsigned long val = hash_seed; + + while ((c = *string++) != '\0') { + val = val*997 + c; ++ val = (val << 13) | (val >> (sizeof(st_data_t) * CHAR_BIT - 13)); + } + + return val + (val>>5); +@@ -573,3 +577,11 @@ + { + return n; + } ++ ++extern unsigned long rb_genrand_int32(void); ++ ++void ++Init_st(void) ++{ ++ hash_seed = rb_genrand_int32(); ++} +Index: ruby1.8-1.8.7.299/string.c +=================================================================== +--- ruby1.8-1.8.7.299.orig/string.c 2010-04-01 02:11:40.000000000 -0500 ++++ ruby1.8-1.8.7.299/string.c 2012-02-17 15:41:27.065410166 -0600 +@@ -875,13 +875,15 @@ + return str1; + } + ++static unsigned long hash_seed; ++ + int + rb_str_hash(str) + VALUE str; + { + register long len = RSTRING(str)->len; + register char *p = RSTRING(str)->ptr; +- register int key = 0; ++ register unsigned long key = hash_seed; + + #if defined(HASH_ELFHASH) + register unsigned int g; +@@ -905,6 +907,7 @@ + while (len--) { + key = key*65599 + *p; + p++; ++ key = (key << 13) | (key >> ((sizeof(unsigned long) * CHAR_BIT) - 13)); + } + key = key + (key>>5); + #endif +@@ -5062,4 +5065,6 @@ + rb_fs = Qnil; + rb_define_variable("$;", &rb_fs); + rb_define_variable("$-F", &rb_fs); ++ ++ hash_seed = rb_genrand_int32(); + } --- ruby1.8-1.8.7.299.orig/debian/patches/809_update_lib_README.patch +++ ruby1.8-1.8.7.299/debian/patches/809_update_lib_README.patch @@ -0,0 +1,12 @@ +Author: Lucas Nussbaum +Description: No description. +--- a/lib/README ++++ b/lib/README +@@ -33,7 +33,6 @@ logger.rb simple logging utility + mailread.rb reads mail headers + mathn.rb extended math operation + matrix.rb matrix calculation library +-mkmf.rb Makefile maker + monitor.rb exclusive region monitor for thread + mutex_m.rb mutex mixin + net/ftp.rb ftp access