File ruby2.2.changes of Package ruby2.2

-------------------------------------------------------------------
Tue Mar 21 12:40:39 UTC 2017 - mrueckert@suse.de

- added patch by rguenther@ to fix building with GCC7:
  0005-RB_GC_GUARD-stronger-than-gcc7.patch

-------------------------------------------------------------------
Thu Mar 16 15:53:48 UTC 2017 - mrueckert@suse.de

- switched to git branch based patching. we replace all patches in
  this round:
  removed:
   - 0001-GC-Use-__builtin_ppc_get_timebase-for-POWER-arch.patch
   - make-gem-build-reproducible.patch
   - ruby-1.9.2p290_tcl_no_stupid_rpaths.patch

   - ruby2.2.x_rbinstall_gem_buildroot.patch (unused)
   - rubygems-1.5.0_buildroot.patch  (unused)
  added:
   - 0001-tcl-no-stupid-rpaths.patch
   - 0002-make-gem-build-reproducible.patch
   - 0003-gc.c-tick-for-POWER-arch.patch
- added 0004-manual-backport-for-CVE-2016-2339.patch
  CVE-2016-2339 (boo#1018808)

-------------------------------------------------------------------
Mon Dec 26 23:27:30 UTC 2016 - mrueckert@suse.de

- update to 2.2.6
  This release includes new SSL certificates for RubyGems. And,
  this also includes about 80 bug fixes after the previous release.
  See the ChangeLog for details.

  - ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): fix parsing
    protocol list.  The protocol list from OpenSSL is not
    null-terminated.  patched by Kazuki Yamaguchi [Bug #11810]
    [ruby-core:72082]
  - ext/-test/file/fs.c (get_atime_p): Updating of file access
    times is enabled or not.
  - test/ruby/test_file.rb (TestFile#test_stat): fix noatime case.
    [ruby-core:77943] [Bug #12903]
  - test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast,
    test_make_socket_ipv6_multicast_hops): skip if IPv6 multicast
    address is not available.
  - lib/net/http.rb (transport_request): other than HTTPContinue in
    1xx (HTTPInformation) also needs to continue. [Bug #12890]
  - proc.c (mnew_internal): follow the original class, not to loop
    the prepended module.  [ruby-core:77591] [Bug #12832]
  - cont.c (cont_new): disable optimization if clang's version is
    3.8.0.  [ruby-core:77894] [Bug #12893]
  - sprintf.c (rb_str_format): format exact number more exactly.
  - ext/openssl/ossl.c (Init_openssl): register an ex_data index
    for X509_STORE and X509_STORE_CTX respectively. Since they
      don't share the ex_data index registry, we can't use the same
      index.  (ossl_verify_cb): use the the correct index.
  - ext/openssl/ossl_ssl.c (ossl_ssl_verify_callback): ditto.
  - ext/openssl/ossl_x509store.c (ossl_x509store_set_vfy_cb):
    ditto.  (ossl_x509stctx_verify): ditto.
  - ext/openssl/ossl.h (void ossl_clear_error): add extern
    declarations of ossl_store_{ctx_,}ex_verify_cb_idx.
  - ext/openssl/openssl_missing.c: remove X509_STORE_set_ex_data
    and X509_STORE_get_ex_data.
  - ext/openssl/openssl_missing.h: implement
    X509_STORE_get_ex_data, X509_STORE_set_ex_data and
    X509_STORE_get_ex_new_index as macros.
  - thread.c (rb_thread_pending_interrupt_p): no pending interrupt
    before initialization.
  - thread.c (thread_raise_m, rb_thread_kill): uninitialized thread
    cannot interrupt.  [ruby-core:72732] [Bug #11959]
  - eval_intern.h (TH_PUSH_TAG): Initialize struct rb_vm_tag::tag
    with Qundef rather than 0 which is equal to Qfalse. Since
    Kernel#throw(obj) searches a tag with rb_vm_tag::tag == obj,
    throw(false) can accidentally find an unrelated tag which is
    not created by Kernel#catch.  [ruby-core:77229] [Bug #12743]
  - test/ruby/test_exception.rb (test_throw_false): Add a test case
    for this.
  - lib/logger.rb (Logger::Period#next_rotate_time): fix monthly
    log rotate when DST is applied during a month of 31 days.  [Fix
    GH-1458]
  - object.c: Improve documentation for Float conversion.
    [ruby-core:71661][Bug #11736][ci skip]
  - lib/rubygems/ssl_certs/GlobalSignRootCA.pem: add for
    RubyGems.org.
  - variable.c (rb_const_search): raise with the actual
    class/module name which defines the private constant.
  - vm_dump.c (backtrace): use rip in the saved context for the
    case the SIGSEGV is received when the process is in userland.
    Note that ip in the stack should be used if the signal is
    received when it is in kernel (when it is calling syscall) [Bug
    #12711]
  - lib/uri/generic.rb (def check_password): don't include bad
    password in URI exception output
  - test/uri/test_generic.rb (def test_set_component): test for
    behavior
  - io.c (nogvl_fsync, nogvl_fdatasync): on Windows, just ignore if
    the fd is associated to non-disk device.  if call fsync and/or
    fdatasync with such fds, it causes Errno::EBADF exception and
    the behavior is incompatible with ruby 2.1 and earlier
    unintentionally introduced.
  - array.c (flatten): use rb_obj_class instead of rb_class_of
    because rb_class_of may return a singleton class.
    [ruby-dev:49781] [Bug #12738]
  - man/irb.1: remove useless -width option.  [ruby-dev:49767] [Bug
    #12692]
  - ext/win32ole/win32ole.c (Init_win32ole): should not use atexit
    to free allocated hash table to avoid error on Cygwin.
  - test/fiddle/test_pointer.rb (test_to_str, test_to_s,
    test_aref_aset): Attempt to use independent strings for
    destructive tests that directly modify values on memory by
    using Fiddle::Pointer.  [Bug #12537] [ruby-dev:49700]
  - string.c (str_buf_cat): Fix capa size for embed string.  Fix
    bug in r55547. [Bug #12536]
  - string.c (rb_str_change_terminator_length): New function to
    change termlen and resize heap for the terminator. This is
    split from rb_str_fill_terminator (str_fill_term) because
    filling terminator and changing terminator length are different
    things. [Bug #12536]
  - internal.h: declaration for rb_str_change_terminator_length.
  - string.c (str_fill_term): Simplify only to zero-fill the
    terminator.  For non-shared strings, it assumes that (capa +
    termlen) bytes of heap is allocated. This partially reverts
    r55557.
  - encoding.c (rb_enc_associate_index):
    rb_str_change_terminator_length is used, and it should be
    called whenever the termlen is changed.
  - string.c (str_capacity): New static function to return capacity
    of a string with the given termlen, because the termlen may
    sometimes be different from TERM_LEN(str) especially during
    changing termlen or filling terminator with specific termlen.
  - string.c (rb_str_capacity): Use str_capacity.
  - string.c: Partially reverts r55547 and r55555.  ChangeLog about
    the reverted changes are also deleted in this file.  [Bug
    #12536] [ruby-dev:49699] [ruby-dev:49702]
  - string.c (str_fill_term): When termlen increases, re-allocation
    of memory for termlen should always be needed.  In this fix, if
    possible, decrease capa instead of realloc.  [Bug #12536]
    [ruby-dev:49699]
  - string.c: Specify termlen as far as possible.  Additional fix
    for [Bug #12536] [ruby-dev:49699].
  - string.c (str_new_static): Specify termlen from the given
    encoding when creating a new String object is needed.
  - string.c (rb_tainted_str_new_with_enc): New function to create
    a tainted String object with the given encoding. This means
    that the termlen is correctly specified. Currently static
    function.  The function name might be renamed to
    rb_tainted_enc_str_new or rb_enc_tainted_str_new.
  - string.c (rb_external_str_new_with_enc): Use encoding by using
    the above rb_tainted_str_new_with_enc().
  - string.c (rb_str_subseq, str_substr): When
    RSTRING_EMBED_LEN_MAX is used, TERM_LEN(str) should be
    considered with it because embedded strings are also processed
    by TERM_FILL.  Additional fix for [Bug #12536]
    [ruby-dev:49699].
  - string.c: Fix memory corruptions when using UTF-16/32 strings.
    [Bug #12536] [ruby-dev:49699]
  - string.c (rb_str_new_with_class): Use TERM_LEN of the "obj".
  - string.c (rb_str_plus, rb_str_justify): Use str_new0 which is
    aware of termlen.
  - string.c (str_shared_replace): Copy +termlen bytes instead of
    +1.
  - string.c (rb_str_times): termlen should not be included in
    capa.
  - string.c (RESIZE_CAPA_TERM): When using RSTRING_EMBED_LEN_MAX,
    termlen should be counted with it because embedded strings are
    also processed by TERM_FILL.
  - string.c (rb_str_capacity, str_shared_replace, str_buf_cat):
    ditto.
  - string.c (rb_str_drop_bytes, rb_str_setbyte, str_byte_substr):
    ditto.
  - ext/openssl/ossl_ssl.c (ossl_ssl_write_internal): avoid
    undefined behavior
  - test/openssl/test_pair.rb (test_write_zero): new test
    [ruby-core:76751] [Bug #12660]
  - compile.c (ADD_TRACE): ignore trace instruction on non-positive
    line.
  - parse.y (coverage): get rid of ArgumentError when the starting
    line number is not positive.  [ruby-core:76141] [Bug #12517]
  - test/coverage/test_coverage.rb: ignored test when enabled to
    coverage.  It lead to crash with `make test-all`.
  - lib/uri/mailto.rb (initialize): RFC3986_Parser#split sets
    opaque only if the URI has path-rootless, not path-empty.
    [ruby-core:76055] [Bug #12498] patched by Chris Heisterkamp
    <cheister@squareup.com>
  - ext/date/date_strftime.c (date_strftime_with_tmx): reject too
    large precision to get rid of buffer overflow.  reported by
    Guido Vranken <guido AT guidovranken.nl>.
  - regcomp.c (noname_disable_map): don't optimize out group 0
    Ruby's Regexp doesn't allow normal numbered groups if the
    regexp has named groups. On such case it optimizes out related
    NT_ENCLOSE.  But even on the case it can use \g<0>.  This fix
    not to remove NT_ENCLOSE whose regnum is 0.  [ruby-core:75828]
    [Bug #12454]
  - missing/crypt.c: fix size macros to use configured values for
    platforms long is larger than 32bit.  [ruby-core:75792] [Bug
    #12446]
  - ext/openssl/ossl_bn.c (try_convert_to_bnptr): Extracted from
    GetBNPtr(). This doesn't raise exception but returns NULL on
    error.  (GetBNPtr): Raise TypeError if conversion fails.
    (ossl_bn_eq): Implement BN#==.  (ossl_bn_eql): #eql? should not
    raise TypeError even if the argument is not compatible with BN.
    (ossl_bn_hash): Implement BN#hash.
  - ext/openssl/ossl_bn.c (Init_ossl_bn): Define #== and #hash.
  - test/openssl/test_bn.rb: Test BN#eql?, #== and #hash
  - transcode.c (str_transcode0): scrub in the given encoding when
    the source encoding is given, not in the encoding of the
    receiver.  [ruby-core:75732] [Bug #12431]
  - ext/openssl/ossl_pkey_dh.c (ossl_dh_compute_key): Check that
    the DH has 'p' (the prime) before calling DH_size(). We can
    create a DH with no parameter but DH_size() does not check and
    dereferences NULL.  [ruby-core:75720] [Bug #12428]
  - ext/openssl/ossl_pkey_dsa.c (ossl_dsa_sign): Ditto. DSA_size()
    does not check dsa->q.
  - ext/openssl/ossl_pkey_rsa.c (ossl_rsa_public_encrypt,
    ossl_rsa_public_decrypt, ossl_rsa_private_encrypt,
    ossl_rsa_private_decrypt): Ditto. RSA_size() does not check
    rsa->n.
  - transcode.c (enc_arg, str_transcode_enc_args, econv_args):
    remove volatile, and add GC guards in callers.
    [ruby-core:75664] [Bug #12411]
  - common.mk (build-ext), ext/extmk.rb: use variable EXTENCS
    different than ENCOBJS, to get rid of circular dependency.
    build libencs when linking encodings statically.
    [ruby-core:75618] [Bug #12401]
  - variable.c (rb_local_constants_i): exclude private constants
    when excluding inherited constants too.  [Bug #12345]
  - lib/drb/timeridconv.rb: don't use keeper thread. [Bug #12342]
  - test/drb/ut_timerholder.rb: ditto.
  - ext/json/lib/*.rb: Removed some comments. Because these are
    unnecessary class description. [ci skip][Bug
    #12255][ruby-core:74835]
  - pack.c (pack_pack): use union instead of bare variable to ease
    optimizations and avoid assigning x87 floating point number.
    [ruby-core:74496] [Bug #12209]
  - pack.c (pack_unpack): ditto.
  - ext/socket/option.c, ext/socket/rubysocket.h (inet_ntop): share
    the fallback definition.  [ruby-core:76646] [Bug #12645]
  - vm.c (vm_set_main_stack): remove unnecessary check.  toplevel
    binding must be initialized.  [Bug #12611] (N1)
  - string.c (rb_str_split_m): simplify the condition.  [Bug
    #12611](N4)
  - thread.c (rb_wait_for_single_fd): Clean up fds.revents every
    time before calling ppoll(2). [Bug #12575] [ruby-dev:49725]
  - lib/webrick/httpservlet/cgihandler.rb (do_GET): delete
    HTTP_PROXY
  - test/webrick/test_cgi.rb (test_cgi_env): new test
  - test/webrick/webrick.cgi (do_GET): new endpoint to dump env
    [ruby-core:76511] [Bug #12610]
  - lib/rexml/attribute.rb (REXML::Attribute#to_string): Fix wrong
    entry reference name of double quote.  [Bug
    #12609][ruby-core:76509] Patch by Joseph Marrero. Thanks!!!
  - gc.c (gc_mark_roots): should mark the VM object itself to mark
    singleton class of the VM object.  Before this patch, we only
    set mark bit for the VM object and invoke mark function
    separately.  [Bug #12583]
  - test/ruby/test_gc.rb: add a test.
  - lib/rubygems/package.rb: Fixed potential perms issue unpacking
    of gems on NFS.  [Backport #12579]
  - lib/rubygems.rb: bump version.
  - vm_args.c (setup_parameters_complex): don't raise ArgumentError
    if an array is given for instance_exec with optional argument.
      [ruby-core:76300] [Bug #12568]
      https://github.com/rails/rails/pull/25699
  - lib/net/http/generic_rquest.rb (write_header): A Request-Line
    must not contain CR or LF.
  - lib/net/ftp.rb (putline): raise an ArgumentError when CR or LF
    is included in a line.
  - string.c (tr_trans): consider terminator length and fix heap
    overflow.  reported by Guido Vranken <guido AT
    guidovranken.nl>.
  - tool/fake.rb: don't fake libdir.  use libdirname instead.
  - bignum.c (Init_Bignum): revert a part of previous commit
    (r55598), because the implementation of Object#hash is a little
    difference from trunk.  cf. [Backport #12391]
  - bignum.c (rb_big_hash): make it public function to be available
    in other source files, and remove documentation comment for
    Bignum#hash.
  - bignum.c (Bignum#hash): remove its definition because it is
    unified with Object#hash.
  - include/ruby/intern.h (rb_big_hash): add a prototype
    declaration.
  - hash.c (any_hash): treat Bignum values directly.
  - lib/optparse.rb (OptionParser::Completion.candidate): get rid
    of nil as key names.  [ruby-core:75773] [Bug #12438]
  - lib/optparse.rb (OptionParser#make_switch): char class option
    cannot be NoArgument, default to RequiredArgument.
  - re.c (unescape_nonascii): scan hex up to only 3 characters.
    [Bug #12420] [Bug #12423]
  - regparse.c (fetch_token_in_cc): raise error if given octal
    escaped character is too big. [Bug #12420] [Bug #12423]
  - process.c (rb_exec_getargs): honor the expected argument types
    over the conversion method.  the basic language functionality
    should be robust.  [ruby-core:75388] [Bug #12355]
  - parse.y (new_if_gen): set newline flag to NODE_IF to trace all
    if/elsif statements.  [ruby-core:67720] [Bug #10763]
  - ext/date/date_core.c (Init_date_core): [DOC] Convert DateTime
    documentation to RDoc from Markdown.  [ruby-core:75136] [Bug
    #12311]
  - variable.c (rb_local_constants_i): exclude hidden constants.
    [ruby-core:75575] [Bug #12389]
  - regcomp.c (compile_length_tree): return error code immediately
    if compile_length_tree raised error [Bug #12418]
  - include/ruby/missing.h (isfinite): move from numeric.c.
  - ext/bigdecimal/bigdecimal.c (isfinite): get rid of a warning on
    cygwin. [Bug #12417][ruby-core:75691]
  - ext/bigdecimal/bigdecimal.c (isfinite): isfinite does not
    always exist.  fixed build error on Windows introduced at
    r55123.
  - ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): consider
    non-finite float values not to raise FloatDomainError.
    [ruby-core:75682] [Bug #12414]
  - thread.c (recursive_list_access): a object id may be a Bignum.
    so, the list must be a objhash, instead of a identhash.  this
    fixes many test errors on mswin64 CI.
  - string.c (rb_str_modify_expand): check integer overflow.
    [ruby-core:75592] [Bug #12390]
  - insns.def (defineclass): Also raise an error when redeclaring
    the superclass of a class as Object and it has another
    superclass.  [Bug #12367] [ruby-core:75446]
  - test/ruby/test_class.rb: test for above.
  - bignum.c: [DOC] Update result of 123456789 ** -2.
    [ruby-dev:49606] [Bug #12339]
  - internal.h (RCOMPLEX_SET_IMAG): undef RCOMPLEX_SET_IMAG instead
    of duplicated undef RCOMPLEX_SET_REAL.
  - complex.c (rb_complex_set_imag): Fix to properly set imag of
    complex.
  - win32/win32.c, include/ruby/win32.h (rb_w32_utruncate):
    implements new truncate alternative which accepts UTF-8 path.
  - file.c (truncate): use above function.  [Bug #12340]
  - test/ruby/test_time_tz.rb: Tests depends on Europe/Moscow
    removed to avoid test failures due to the tzdata change.
    https://github.com/eggert/tz/commit/8ee11a301cf173afb0c76e0315b9f9ec8ebb9d95
    Found by naruse.
  - compile.c (new_label_body): missed backporting r54548 in
    r54698.  this fixes randomly test failure introduced by r54698.
    cf. [Bug #12082]

-------------------------------------------------------------------
Wed Apr 27 12:40:01 UTC 2016 - mrueckert@suse.de

- update to 2.2.5
  - README.EXT{,.ja}: `nul` should be uppercase.  change 'nul' =>
    'NUL'.  [Fix GH-1172] derived from a patch by craft4coder
    <yooobuntu@163.com>
  - doc/extension.rdoc: Improvements to english grammers.  [Bug
    #12246][ruby-core:74792][ci skip] derived from a patch by
    Marcus Stollsteimer <sto.mar@web.de>
  - encoding.c: Fix return value of `Encoding::ISO8859_1.name` [Bug
    #12313][ruby-core:75147][ci skip]
  - ext/bigdecimal/bigdecimal.c: Fix code sample of
    `BigDecimal.new`
  - configure.in: add missing -lm for AIX.
  - configure.in: don't use the system-provided round(3) on AIX.
    In AIX, round(0.49999999999999994) returns 1.0.  Use round() in
    numeric.c instead.
  - ruby.c: cygwin does not use w32_cmdvector, command line can be
    other than UTF-8.  [ruby-dev:49519] [Bug #12184]
  - eval_jump.c (exec_end_procs_chain): restore previous error info
    for each end procs.  [ruby-core:75038] [Bug #12302]
  - compile.c (new_label_body): initialize bit fields, since
    compile_data_alloc does not clear the memory.  [Bug #12082]
  - compile.c (iseq_optimize): disable tail call optimization in
    rescued, rescue, and ensure blocks.  [ruby-core:73871] [Bug
    #12082]
  - doc/regexp.rdoc (comments): [DOC] terminators cannot appear in
    comments.  [ruby-core:74838] [Bug #12256]
  - extension.rdoc, extension.ja.rdoc: [DOC] Fix some errors.
    Renamed files, wrong method names or argument types; the
    example GetDBM macro is now updated to the current version of
    the actual code.  patches are derived from Marcus Stollsteimer
    in [ruby-core:74690].  [Bug #12228]
  - ext/nkf/nkf-utf8/nkf.c (mime_putc): fix typo.  [Bug #12202]
    [ruby-core:74802]
  - ext/nkf/nkf-utf8/nkf.c: Merge upstream 4f3edf80a0.  patched by
    Anton Sivakov [Bug #12201] [Bug #12202]
  - lib/securerandom.rb (gen_random): to avoid blocking on Windows.
    On Windows OpenSSL RAND_bytes (underlying implementation is
    RAND_poll in crypto/rand/rand_win.c) may be blocked at
    NetStatisticsGet.
    https://wiki.openssl.org/index.php/Random_Numbers#Windows_Issues
    Instead of this, use Random.raw_seed directory (whose
    implementation CryptGenRandom is one of the source of entropy
    of RAND_poll on Windows).
    https://wiki.openssl.org/index.php/Random_Numbers Note:
    CryptGenRandom function is PRNG and doesn't check its entropy,
    so it won't block. [Bug #12139]
    https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa379942.aspx
    https://tools.ietf.org/html/rfc4086#section-7.1.3
    https://eprint.iacr.org/2007/419.pdf
    http://www.cs.huji.ac.il/~dolev/pubs/thesis/msc-thesis-leo.pdf
  - lib/rubygems/test_case.rb: Fix test on Windows for inconsistent
    temp path.  https://github.com/rubygems/rubygems/pull/1554 [Bug
    #12193][ruby-core:74431]
  - ext/openssl/extconf.rb: check RAND_edg to support libressl.
  - ext/openssl/ossl_rand.c (ossl_rand_egd): define only if
    RAND_edg is available.  [Fix GH-829]
  - configure.in (rb_cv_lgamma_r_m0): fix the condition for
    lgamma_r(-0.0).  [Bug #12249]
  - configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0)
    returns negative infinity.  [Bug #12249]
  - math.c (ruby_lgamma_r): define by the configured result.
  - math.c (ruby_lgamma_r): missing/lgamma_r.c is used on Windows,
    since msvcrt does not provide it.
  - missing/lgamma_r.c (lgamma_r): fix lgamma(-0.0).
    [ruby-core:74823] [Bug #12249]
  - math.c (ruby_lgamma_r): mswin's lgamma_r also seems to be
    wrong.  cf. [Bug #12249]
  - math.c (ruby_tgamma): fix tgamma(-0.0) on mingw.
    [ruby-core:74817] [Bug #12249]
  - defs/keywords (alias, undef): symbol literals are allowed.
  - parse.y (parse_percent): should parse symbol literals for alias
    and undef.  [ruby-dev:47681] [Bug #8851]
  - struct.c (struct_make_members_list): extract making member name
    list from char* va_list, with creating symbols without
    intermediate IDs.
  - ext/win32/lib/win32/registry.rb (DeleteValue, DeleteKey): fix
    API names.  [ruby-core:74863] [Bug #12264]
  - vm_core.h (rb_vm_struct): make at_exit a single linked list but
    not RArray, not to mark the registered functions by the write
    barrier.  based on the patches by Evan Phoenix.
    [ruby-core:73908] [Bug #12095]
  - thread.c (update_coverage): Do not track coverage in loaded
    files after Coverage.result. Avoids out-of-bounds access. [Bug
    #12237]
  - ext/coverage/coverage.c (coverage_clear_result_i): document.
  - ext/date/date_core.c (Init_date_core): [DOC] fix misplaced doc
    of DateTime.  [ruby-core:74729] [Bug #12233]
  - parse.y (parse_ident): allow keyword arguments just after a
    method where the same name local variable is defined.
    [ruby-core:73816] [Bug#12073]
  - eval.c (setup_exception): set the cause only if it is
    explicitly given or not set yet.  [Bug #12068]
  - lib/forwardable.rb: Convert given accessors to String.  r53381
    changed to accept only Symbol or String for accessors, but
    there are several rubygems that pass classes (e.g. Array, Hash,
    ...) as accessors. Prior r53381, it was accepted because
    Class#to_s returns its class name. After r53381 given accessors
    are checked with define_method, but it accepts only Symbol or
    String, otherwise raises TypeError.  def_delegator Foo,
    :some_method This change is to revert unexpected
    incompatibility. But this behavior may change in the future.
  - lib/forwardable.rb (def_instance_delegator) fix delegating to
    'args' and 'block', clashing with local variables in generated
    methods.  [ruby-core:72579] [Bug #11916]
  - lib/forwardable.rb (def_single_delegator): ditto.
  - compile.c (compile_massign_lhs): when index ends with splat,
    append rhs value to it like POSTARG, since VM_CALL_ARGS_SPLAT
    splats the last argument only.  [ruby-core:72777] [Bug #11970]
  - sprintf.c (rb_str_format): fix buffer overflow, length must be
    greater than precision.  reported by William Bowling <will AT
    wbowling.info>.
  - test/ruby/test_io.rb: handled rlimit value same as r52277 [Bug
    #11852][ruby-dev:49446]
  - tool/extlibs.rb (do_patch): let "patch" command change the
    working directory and open the patch file there, instead of
    spawn options, so that proper error message will be shown by
    the command not just "chdir" or "open".
  - thread_pthread.c (reserve_stack): fix reserving position where
    the stack growing bottom to top. [Bug #12118]
  - .travis.yml: removed commented-out code.
  - .travis.yml: removed osx code. follow up with r53517
  - .travis.yml: update libssl before running tests.  Thanks to
    Chris Sinjakli <chris@sinjakli.co.uk> for figuring out the
    travis settings!
  - .travis.yml: removed Ruby 1.9.3 build on Travis CI
  - .travis.yml: Remove redundant configuration option.  [fix
    GH-809] Patch by @gxworld
  - ext/openssl/extconf.rb: check SSL_CTX_set_next_proto_select_cb
    function rather than OPENSSL_NPN_NEGOTIATED macro. it exists
    even if it is disabled by OpenSSL configuration.
    [ruby-core:74384] [Bug #12182]
  - ext/openssl/ossl_ssl.c: update #ifdef(s) as above.
  - test/openssl/test_ssl.rb: skip NPN tests if NPN is disabled.
  - lib/uri/http.rb (URI::HTTP#initialize): [DOC] fix example,
    missing mandatory arguments.  [ruby-core:74540] [Bug #12215]
  - lib/uri/mailto.rb: raising URI::InvalidComponentError instead
    of failing with undefined method `split' for nil:NilClass for
    mailto: URIs without opaque part. [Bug #10738]
  - test/uri/testuri.rb: Test for above
  - signal.c: should also clear ruby_disable_gc.  [Bug #11692]
  - vm_eval.c (rb_f_catch): [DOC] fix malformed RDoc syntax,
    "+...+" cannot enclose non-identifier characters.  a patch by
    Sebastian S in [ruby-core:74278].  [Bug#12170]
  - test/-ext-/float/test_nextafter.rb: In AIX,
    nextafter(+0.0,-0.0)=+0.0, and nextafter(-0.0,+0.0)=-0.0, but
    they should return -0.0 and +0.0, respectively. This is a known
    bug in nextafter(3) on AIX, so skip related tests.
  - lib/rubygems/installer.rb: merge partially r49511.  cherry
    picking https://github.com/rubygems/rubygems/commit/f9232680
    [Bug #12066]
  - string.c (enc_succ_alnum_char): try to skip an invalid
    character gap between GREEK CAPITAL RHO and SIGMA.
    [ruby-core:74478] [Bug #12204]
  - parse.y (parse_numvar): NTH_REF must be less than a half of
    INT_MAX, as it is left-shifted to be ORed with back-ref flag.
    [ruby-core:74444] [Bug#12192] [Fix GH-1296]
  - enc/trans/JIS: update Unicode's notice. [Bug #11844]
  - marshal.c (r_object0):  raise ArgumentError when linking to
    undefined object.
  - marshal.c (r_object0): Fix Marshal crash for corrupt extended
    object.
  - ext/openssl/ossl_ssl.c (ossl_sslctx_setup): document as
    MT-unsafe [ruby-core:73803] [Bug #12069]
  - insns.def (opt_mod): show its method name on ZeroDivisionError.
    [Bug #12158]
  - net/ftp.rb: add NullSocket#closed? to fix closing not opened
    connection.  [Fix GH-1232]
  - variable.c: Added documentation about order of
    `Module#constants` [ci skip][Bug #12121][ruby-dev:49505][fix
    GH-1301]
  - test/ruby/test_process.rb (test_execopts_gid): Skip a test that
    is known to fail on AIX. AIX allows setgid to a supplementary
    group, but Ruby does not allow the "-e" option when setgid'ed,
    so the test does not work as intended.
  - test/socket/test_addrinfo.rb (test_ipv6_address_predicates):
    IN6_IS_ADDR_V4COMPAT and IN6_IS_ADDR_V4MAPPED are broken on
    AIX, so skip related tests.
  - test/rinda/test_rinda.rb (test_make_socket_ipv4_multicast): The
    fifth argument to getsockopt(2) should be modified to indicate
    the actual size of the value on return, but not in AIX. This is
    a know bug. Skip related tests.
  - test/rinda/test_rinda.rb (test_ring_server_ipv4_multicast):
    ditto.
  - test/rinda/test_rinda.rb (test_make_socket_unicast): ditto.
  - test/socket/test_basicsocket.rb (test_getsockopt): ditto.
  - test/socket/test_sockopt.rb (test_bool): ditto.
  - test/zlib/test_zlib.rb (test_adler32_combine,
    test_crc32_combine): Skip two tests on AIX because zconf.h in
    zlib does not correctly recognize _LARGE_FILES in AIX. The
    problem was already reported to zlib, and skip these tests
    until it is fixed.
  - test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_lock): skip this
    test on AIX. The issue is the same as on Solaris.
    [ruby-dev:47631]
  - thread_pthread.c (getstack): __pi_stacksize returned by
    pthread_getthrds_np() is wrong on AIX. Use __pi_stackend -
    __pi_stackaddr instead.
  - lib/irb.rb: avoid to needless truncation when using
    back_trace_limit option.  [fix GH-1205][ruby-core:72773][Bug
    #11969]
  - ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb: fix method name
    typo.  [ruby-core:72513] [Bug #11893] The patch provided by
    Akira Matsuda.
  - ext/tk/lib/tkextlib/tcllib/toolbar.rb: fix method name typo.
    [ruby-core:72511] [Bug #11891] The patch provided by Akira
    Matsuda.
  - ext/tk/lib/tkextlib/blt/tree.rb: fix method name typo.
    [ruby-core:72510] [Bug #11890] The patch provided by Akira
    Matsuda.
  - ext/tk/lib/tk/menubar.rb: fix a typo in font name.
    [ruby-core:72505] [Bug #11886] The patch provided by Akira
    Matsuda.
  - ext/tk/sample/*.rb: ditto.
  - test/fiddle/test_handle.rb (test_NEXT): use -test-/dln/empty
    which is always a shared object and is not used by others.
    [ruby-dev:48629] [Bug #10384]
  - ruby.h: undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P and
    HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P on C++.
    [ruby-core:72736] [Bug #11962]
  - ext/socket/option.c (inspect_tcpi_msec): more accurate
    condition for TCPI msec member inspection function.
    [ruby-core:74388] [Bug #12185]
  - lib/logger.rb: Remove block from Logger.add as it's not needed
    patch provided by Daniel Lobato Garcia [fix GH-1240] [Bug
    #12054]
  - re.c: Remove deprecated kcode argument from Regexp.new and
    compile patch provided by Dylan Pulliam [Bug #11495]
  - re.c: Update documentation for Regexp class.  [fix GH-937][ci
    skip] Patch by @davydovanton
  - ext/socket/socket.c (sock_gethostname): support unlimited size
    hostname.
  - lib/xmlrpc/client.rb: Support SSL options in async methods of
    XMLRPC::Client.  [Bug #11489] Reported by Aleksandar
    Kostadinov. Thanks!!!
  - marshal.c (r_object0): honor Marshal.load post proc value for
    TYPE_LINK.  by Hiroshi Nakamura <nahi@ruby-lang.org>
    https://github.com/ruby/ruby/pull/1204 fix GH-1204
  - ext/socket/option.c (sockopt_bool): relax boolean size to be
    one too not only sizeof(int).  Winsock getsockopt() returns a
    single byte as a boolean socket option.  [ruby-core:72730] [Bug
    #11958]
  - io.c (io_getpartial): remove unused kwarg from template
  - test/ruby/test_io.rb (test_readpartial_bad_args): new [Bug
    #11885]
  - ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): do not process
    kwargs in blocking mode
  - test/openssl/test_ssl.rb: test sysread
  - process.c (rb_execarg_parent_start1): need to convert the
    encoding to ospath's one.
  - process.c: use rb_w32_uchdir() instead of plain chdir() on
    Windows.  reported by naruse via twitter.
  - process.c (rb_execarg_addopt): need to convert the encoding to
    ospath's one.
  - ext/stringio/stringio.c (strio_binmode): implement to set
    encoding
  - test/stringio/test_stringio.rb (test_binmode): new test
    [ruby-core:72699] [Bug #11945]
  - compile.c, cont.c, doc, man: fix common misspelling.
    [ruby-core:72466] [Bug #11870]
  - ext/socket/init.c (rsock_init_sock): reject reserved FDs
    [ruby-core:72445] [Bug #11862]
  - ext/socket/init.c (rsock_init_sock): check FD after validating
  - test/socket/test_basicsocket.rb (test_for_fd): new
    [ruby-core:72418] [Bug #11854]
  - re.c (reg_names_iter): should consider encoding of regexp.
    [ruby-core:72185] [Bug #11825]
  - enc/windows_1250.c: Should not use C++ style comments (C99
    feature).  [Bug #11843]
  - enc/iso_8859_2.c, enc/windows_1250.c: separate Windows-1250
    from ISO-8859-2 to fix 0x80..0x9e range (from Kimihito Matsui)
  - enc/windows_1252.c: separate from ISO-8859-1 to fix 0x80..0x9e
    range.  [ruby-core:64049] [Bug #10097]
  - enc/iso_8859_13.c: Added three missing lower/upper-case
    character pairs (from Kimihito Matsui)
  - enc/iso_8859_4.c: Added missing lower/upper-case character pair
    (U+014A and U+014B, LATIN CAPITAL/SMALL LETTER ENG) (from
    Kimihito Matsui)
  - string.c (rb_str_scrub): the result should be infected by the
    original string.
  - transcode.c (rb_econv_substr_append, econv_primitive_convert):
    the result should be infected by the original string.
  - include/ruby/ruby.h: add raw FL macros, which assume always the
    argument object is not a special constant.
  - internal.h (STR_EMBED_P, STR_SHARED_P): valid only for
    T_STRING.
  - string.c: deal with taint flags directly across String
    instances.
  - parse.y (regexp): set_yylval_num sets u1, should use nd_tag
    instead of nd_state.  [ruby-core:72638] [Bug #11932]
  - gc.c (RVALUE_PAGE_WB_UNPROTECTED): fix a typo of argument name.
    [Fix GH-1221]
  - vm_insnhelper.c (vm_call_method): should not set fastpath with
    keyword arguments for VM_METHOD_TYPE_ATTRSET type methods.
    Normally, we can not use keyword arguments for this kind of
    methods, (obj.foo = 1), but we can set alias names for them.
    [Bug #11657]
  - test/ruby/test_keyword.rb: add a test for this fix.
  - parse.y (parser_yylex): allow here documents in labeled
    argument.  [ruby-core:72396] [Bug #11849]
  - test/ruby/test_syntax.rb: fix typo in test
  - parse.y (parse_percent): Allow %-literals in labeled arg as
    r51624 did for parentheses.  Fixes [ruby-core:72084] [Bug
    #11812].
  - cont.c: fix a double word typo.  [Bug #11313][ruby-core:69749]
  - ext/tk/lib/multi-tk.rb: fix typos.  [Bug
    #11764][ruby-core:71800]

-------------------------------------------------------------------
Mon Mar 14 23:14:12 UTC 2016 - dvaleev@suse.com

- 0001-GC-Use-__builtin_ppc_get_timebase-for-POWER-arch.patch
  Use __builtin_ppc_get_timebase on POWER architecture to gain
  a little bit of performance improvement.
  https://github.com/ruby/ruby/pull/1291

-------------------------------------------------------------------
Mon Jan  4 21:29:56 UTC 2016 - mrueckert@suse.de

- update to 2.2.4 (boo# 959495)
  - ext/fiddle/handle.c: check tainted string arguments.  Patch
    provided by tenderlove and nobu. (CVE-2015-7551)
  - test/fiddle/test_handle.rb (class TestHandle): add test for
    above.
  - io.c (parse_mode_enc): fix buffer overflow.
  - doc/NEWS-0.2.2: add description about incompatible change in
    Hash duplicated key overriding policy. [Bug #10315] [Bug
    #11501]
  - insns.def (opt_case_dispatch): avoid converting Infinity
  - test/ruby/test_optimization.rb (test_opt_case_dispatch_inf):
    new [ruby-dev:49423] [Bug #11804]'
  - configure.in: pthread_getattr_np is broken on AIX.  More
    specifically, the stack address and size returned are not
    correct.
  - common.mk (update-gems): use BASERUBY instead of RUNRUBY.
  - insns.def (opt_case_dispatch): check Float#=== redefinition
  - test/ruby/test_optimization.rb (test_opt_case_dispatch): new
    [ruby-core:71920] [Bug #11784]
  - ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of
    InterlockedCompareExchange64.  new value and then old value is
    the last.
  - encoding.c (enc_m_loader): defer finding encoding object not to
    be infected by marshal source.  [ruby-core:71793] [Bug #11760]
  - marshal.c (r_object0): enable compatible loader on USERDEF
    class.  the loader function is called with the class itself,
    instead of an allocated object, and the loaded data.
  - marshal.c (compat_allocator_table): initialize
    compat_allocator_tbl on demand.
  - object.c (rb_undefined_alloc): extract from rb_obj_alloc.
  - ext/-test-/file/fs.c: need to include sys/statvfs.h to use
    statvfs().
  - ext/-test-/file/extconf.rb: check the existence of
    sys/statvfs.h
  - sprintf.c (rb_str_format): fix wrong shifting position in
    Rational conversion when not at the beginning of the result.
    [ruby-core:71806] [Bug #11766]
  - range.c (range_to_s): should be infected by the receiver.  str2
    infects by appending.  [ruby-core:71811] [Bug #11767]
  - ext/readline/extconf.rb: call dir_config("libedit") if
    --enable-libedit is spcified. [Bug #11751] patched by John Hein
  - parse.y (parser_here_document): store dispatched result of
    on_tstring_content at the last fragment of a here document.
  - test/ruby/test_gc.rb: merge partially r52391 to get rid of CI
    error.
  - io.c (rb_io_each_codepoint): raise an exception at incomplete
    character before EOF when conversion takes place.  [Bug #11444]
  - io.c (argf_getpartial): should not resize str if the second
    argument is not given.  [ruby-core:71668] [Bug #11738]
  - vm_eval.c (local_var_list_add): skip internal local variable
    name by its type but not if it has a name.  internal local
    variable names are just unique per frame, not globally.
    [ruby-core:71437] [Bug #11674]
  - io.c (rb_io_each_codepoint): read more data when read
    partially.  [ruby-core:70379] [Bug #11444]
  - lib/net/http.rb: set hostname before call ossl_ssl_set_session.
    [Bug #11401][ruby-core:70152][fix GH-964] Patch by @mkarnebeek
  - transcode.c (rb_econv_open0): rb_econv_t::source_encoding_name
    and rb_econv_t::destination_encoding_name should refer static
    strings always or NULL.  [ruby-core:70247] [Bug #11416]
  - iseq.c (iseq_data_to_ary): dump kw_arg as symbol
  - test/-ext-/iseq_load/test_iseq_load.rb: test kw_arg roundtrip
    [ruby-core:69891] [Bug #11338]
  - gc.c (__has_feature): move into internal.h.
  - internal.h (__has_feature): ditto.
  - internal.h (__has_extension): new macro.
  - internal.h (STATIC_ASSERT): use _Static_assert with clang.
    [ruby-core:69931] [Bug #11343]
  - parse.y (literal_concat_gen, evstr2dstr_gen): keep literal
    encoding beginning with an interpolation same as the source
    file encoding.  [ruby-core:70703] [Bug #11519]
  - ext/openssl/ossl_ssl.c (ssl_npn_select_cb): explicitly raise
    error in ext/openssl instead of OpenSSL itself because LibreSSL
    silently truncate the selected protocol name by casting the
    length from int to unsigned char. [Bug #11369] Patch by Jeremy
    Evans <merch-redmine@jeremyevans.net>
  - vm_eval.c (send_internal): set method_missing_reason before
    invoking overriding method_missing method so that the default
    method_missing can achieve it properly.  [ruby-core:68515] [Bug
    #10969]
  - test/ruby/test_symbol.rb (test_symbol_fstr_leak): add a warm-up
    code and check RSS to avoid false positive on AIX and false
    negative on Mac OS X. [Bug #10686]
  - test/ruby/test_symbol.rb: avoid a false positive in AIX.
  - test/objspace/test_objspace.rb
    (test_trace_object_allocations_start_stop_clear): clear object
    allocation table first to get rid of erroneous detection for
    obj3.  [ruby-dev:49095] [Bug #11271]
  - insns.def (defined): skip respond_to_missing? when a method is
    available.  [Bug #11211]
  - test/ruby/test_defined.rb: add a test for this fix.
  - ext/digest/sha1/sha1ossl.c: fix defs.h path to catch up changes
    in r52739.[Bug #3231]
  - ext/digest/rmd160/rmd160ossl.c: ditto.
  - parse.y (kwd_append): fix segv after invalid keyword argument,
    preceding keyword list is NULL when syntax error is there.
    [ruby-core:71356] [Bug #11663]
  - lib/ipaddr.rb, test/test_ipaddr.rb: Reject invalid address
    contained EOL string. Patch by @kachick [fix GH-942][Bug
    #11513]
  - compile.c (iseq_build_from_ary_body): register cdhash to the
    iseq constant body instead of compile time mark array, not to
    get GCed.  [ruby-core:70708] [Feature #8543]
  - ext/digest/*/*.[ch]: include ruby.h before digest.h to avoid
    includeing ext/digest/extconf.h. [Bug #3231]
    https://msdn.microsoft.com/library/36k2cdd4.aspx
  - ext/digest/*/extconf.rb: remove ext/digest from include search
    path to avoid confusion of cl.exe.
  - ext/digest/*/*.[ch]: explicitly specify def.h's path.
  - Added missing reference of GitHub
  - lib/net/http.rb: Fixed regression for Net::HTTP::PUT with
    "Expect-100" header. [fix GH-949]
  - test/net/http/test_http.rb: added test.
  - vm_insnhelper.c (vm_invoke_block): we should not expect
    ci->argc is stable after invoking a block. [Bug #11451]
  - test/ruby/test_yield.rb: add a test. This test script is given
    by Alex Dowad.
  - load.c (rb_load_internal0): stop separating exits at loading
    from exits from execution.  TAG_FATAL is the only case that
    `errinfo` is a Fixnum, and should continue to exit by JUMP_TAG
    but not raising as an ordinary exception.  [ruby-core:70169]
    [Bug #11404]
  - load.c (rb_load_internal0): extra check before returning
    TAG_RAISE when a non-local transfer of control happens while
    loading and parsing a Ruby source file.  [ruby-core:70169] [Bug
    #11404]
  - load.c (rb_load_internal0): do not raise any exceptions but
    return the result tag state.
  - load.c (rb_load_protect): reduce nested EXEC_TAGs.
  - enc/euc_jp.c (mbc_case_fold): check given string is valid or
    not, and if invalid, return 1. [Bug #11486]
  - ext/openssl/ossl_pkey.c: Merge ruby/openssl@b9ea8ef [Bug
    #10735]
  - io.c (argf_next_argv): check ARGV element type, and try
    conversion if necessary.  [ruby-core:71140] [Bug #11610]
  - ext/openssl/ossl_ssl.c (ossl_ssl_method_tab): Only add SSLv3
    support if the SSL library supports it.  Thanks Kurt Roeckx
    <kurt@roeckx.be> [Bug #11376]
  - ext/openssl/extconf.rb: check for SSLv3 support in the SSL
    implementation.
  - test/openssl/test_ssl.rb (class OpenSSL): Skip tests that need
    SSLv3 if there is no support.
  - tool/runruby.rb: rubyspec now requires other FDs not to be
    closed since 7b6ce1fee.
  - vm_trace.c (rb_threadptr_exec_event_hooks_orig): maintain
    trace_running counter on internal events.  This patch is made
    by Takashi Kokubun <takashikkbn@gmail.com>.  [Bug #11603]
    https://github.com/ruby/ruby/pull/1059
  - test/openssl/test_ssl_session.rb: Fix tests so that they take
    in to account OpenSSL installations that have SSLv3 disabled by
    default.  Thanks Jeremy Evans <code@jeremyevans.net> for the
    patches.  [Bug #11366] [Bug #11367]
  - test/openssl/test_ssl_session.rb
    (OpenSSL#test_ctx_client_session_cb): fix test failure with
    OpenSSL disabled SSLv3 protocol.  [ruby-core:63772] [Bug
    #10046]
  - vm.c (hook_before_rewind): prevent kicking :return event while
    finishing vm_exec func because invoke_block_from_c() kick a
    :return event for bmethods.  [Bug #11492]
  - test/ruby/test_settracefunc.rb: add a test.
  - configure.in: check for libunwind.h, which is not available in
    very old OS X SDK.  [ruby-core:71080] [Bug #11591]
  - test/drb/test_drb.rb: Run Rinda/DRb tests on localhost. [Fix
    GH-1027] patch by voxik.
  - test/rinda/test_rinda.rb: ditto
  - parse.y (IS_BEG): include labeled argument state, which was
    EXPR_LABELARG.  [ruby-dev:49221] [Bug #11456]
  - parse.y: fix syntax error at do-block after a conditional
    operator.  separate label-allowed and after-a-label states from
    others as bit flags.  [ruby-dev:48790] [Bug #10653]
  - enum.c (nmin_filter): Fix limit value.  patch by Helder
    Pereira.  [Bug #11471] [ruby-core:70477]
  - lib/rss/rss.rb (Time#w3cdtf): fix zero-trimmed width of
    fraction digits.  [ruby-core:70667] [Bug #11509]
  - re.c (rb_memsearch_wchar, rb_memsearch_qchar): test matching
    till the end of string.  [ruby-core:70592] [Bug #11488]
  - test/ruby/test_m17n.rb (test_include?, test_index): add tests
    by Tom Stuart.
  - thread_pthread.c (reserve_stack): ensure the memory is really
    allocated. [Bug #11457]
  - insns.def (defineclass): introduce an ad-hoc patch to avoid an
    issue reported on [Bug #10871].  This patch does not fix
    completely. For example, method definition in a block (like
    1.times{def ...; end}) still causes same issue.  To solve all,
    we need a huge patch and it seems difficult for stable branch.
    Use Ruby 2.3 and later to solve this issue completely.  (See
    [Bug #10943])
  - tool/downloader.rb: support old versions of ruby.
  - tool/downloader.rb: now can download gems by http if openssl is
    not available (this may be danger!)

-------------------------------------------------------------------
Wed Aug 19 09:53:42 UTC 2015 - mrueckert@suse.de

- update to 2.2.3 (boo# 936032)
  - update rubygems to  2.4.5.1. this version fixed CVE-2015-3900.
  - Fix document for Float::MIN and Float::EPSILON.
  - should match only char boundaries in wide character encodings.
    [ruby-core:70220] [Bug #11413]
  - Fixed bad performance in ruby >= 2.2 for Hash with many symbol
    keys
  - target encoding name can be empty now.
    [ruby-core:69841] [Bug #11324]
  - fix Float hash. rb_dbl_hash() returns a Fixnum, but not a long.
    [Bug #9381]
  - raise with messages in UTF-8 encoding.
    [ruby-core:67386] [Bug #10705]
  - handle O_TRUNC correctly [ruby-core:69779] [Bug #11319]
  - FTP close the TCPServer when sending the port fails.
  - (Net::HTTPResponse::Inflater#finish): fix a bug that empty
    gzipped response body causes Zlib::BufError.
    [ruby-core:68846] [Bug #11058]
  - (Net::HTTPResponse#inflater): fix TypeError. An exception
    object might be nil. [ruby-core:68846] [Bug #11058]
  - (module OpenSSL): raise a more helpful exception when verifying
    the peer connection and an anonymous cipher has been selected.
    [ruby-core:68330] [Bug #10910]
  - ruby itself (including numeric.c) is built with strict compile
    options including -std=iso9899:1999, but ext/date is not.  By
    the way -std=iso9899:1999 is not only a warning option but also
    changes behavior like MACRO definitions for example INFINITY.
    [Bug #10906]
  - Fix LocalJumpErrors being raised in OpenSSL tests.
    [ruby-core:70020][Bug #11368]
  - make Timeout::ExitException an alias of Timeout::Error
    [ruby-dev:49179] [Bug #11344]
  - (HTTPResponseTest#test_read_body_content_encoding_deflate_uppercase):
    fix a failure without zlib.
  - copy the arguments to the machine stack before rewinding the
    control frame pointer and leaving the arguments outside valid
    region of the value stack.  [ruby-core:69969] [Bug #11352]
  - CONTENT_ENCODING can be upper case. [ruby-core:69670] [Bug #11285]
    patched by Andy Chu
  - copy the arguments to the machine stack before rewinding the control
    frame pointer and leaving the arguments outside valid region of the
    value stack.  [ruby-core:69969] [Bug #11352]
  - keep the arguments region inside the valid value stack.
    [ruby-core:69969] [Bug #11352]
  - reversed string is not a substring, and should not set coderange of
    the original string.  [ruby-dev:49189] [Bug #11387]
  - pop cmdarg stack for lookahead token.  [ruby-core:70067] [Bug
    #11380]
  - Support %s.%N.  [ruby-core:68301] [Bug #10904]
  - fix transcoder loading race condition, by waiting in require.
    [ruby-dev:49106] [Bug #11277]
  - check if array size will exceed maximum size to get rid of buffer
    overflow.  [ruby-dev:49043] [Bug #11235]
  - try opening file without gvl not to lock entire process.  [Bug
    #11060]
  - split --libs if --libs-only-l option is not available.  patch in
    [ruby-core:69428] by Hans Mackowiak.  [ruby-core:69421] [Bug #11201]
  - out of range NTH_REF is always nil.
  - check overflow of NTH_REF and range.  [ruby-core:69393] [Bug #11192]
  - make public and add length parameter.
  - resolve refined method entry to check if undefined.
    [ruby-core:69064] [Bug #11117]
  - undefined refined method is not callable unless using.
    [ruby-core:69064] [Bug #11117]
  - Fix require paths for released gem.  [fix GH-929] Patch by @voxik
  - Return empty JSON object when passed object is a special const,
    instead of SEGV.  Based patch by Kohei Suzuki (eagletmt).
    [ruby-core:69692] [Bug #11291]
  - relax pattern because long_lived flag and marked flag can be false
    at major GC.  [Bug #10852]
  - use RB_GC_GUARD instead of volatile [ruby-core:69419] [Feature
    #11198]
  - ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode,
    ossl_asn1_decode_all): use RB_GC_GUARD instead of volatile
    [ruby-core:69371] [Bug #11185]
  - seek to the file end only when writing (mode:a), not reading
    (mode:a+, read).
  - stop returning false negatives for filenames which are trailing
    substrings of file extensions.  For example, 'b', which a trailing
    substring of ".rb" should not return false. [Bug
    #11155][ruby-core:69206]
  - register symbol names as strings first so that r_symlink always
    returns valid names.  [ruby-core:68587] [Bug #10991]
  - bsock_recmvsg_internal needs GC guard for control buffer [Bug
    #11123]
  - test if covered for linear objects.  [ruby-core:69052] [Bug #11113]
  - should work even if body-fld-dsp is omitted.  [ruby-core:69093] [Bug
    #11128]
  - added documentation for character sequence \' with String#sub [Bug
    #11132][ruby-core:69121][fix GH-900][ci skip] Patch by @shishir127
  - Added documentation for rational literal.  [Bug #11075][fix
    GH-885][ci skip] Patch by @shishir127
  - preserve errno before other library calls and use rb_syserr_fail.
    [ruby-core:68531] [Bug #10975]
  - check other events when RETURN is thrown.  [Bug #10724]
  - fix memory leak of addrinfo.  [ruby-dev:48923] [Bug #11051]
  - try magic number only if f_type is included.  [ruby-dev:48913] [Bug
    #11000]
  - return filesystem name by statfs/statvfs.  [ruby-core:68624] [Bug
    #10998]
  - Symbols are compared by the identities always.  [ruby-core:68767]
    [Bug #11035]
  - use same hash values with Float#hash so that -0.0 and +0.0 will be
    identical.  [ruby-core:68541] [Bug #10979]
  - prohibit from accessing internal objects.  [ruby-core:68348] [Bug
    #10918] [ruby-core:58539] [Bug #9144]
  - search the target to break from a block with nested rescue, from the
    nested blocks.  [ruby-core:67765] [Bug #10775] [Fix GH-820]
  - protect value stack from calling other methods during complex
    parameter setting process (splat, kw, and so on).  [Bug #11027]
  - allow symbols to just instance_eval/exec, except for definition of
    singletons.  [ruby-core:68961] [Bug #11086]
  - clear NOFREE flag at embedding as embedded strings no longer refer
    static strings.  [ruby-core:68436] [Bug #10942]
  - use getattrlist() if fgetattrlist() is unavailable, on OSX 10.5.
    [ruby-core:68829] [Bug #11054]
  - replicate env from method object, and allocate the local variable
    area for the iseq local table.  [ruby-core:68673] [Bug #11012]
  - make more realistic data.  [ruby-core:68632] [[Bug #10999]
  - check if the receiver responds to the given method by
    respond_to_missing?.
  - create Method object for method_missing.  [ruby-core:68564] [Bug
    #10985]
  - need to check the return value of GLOB_REALLOC().
  - shouldn't create Ruby object before the object system is loaded.
    [ruby-core:68430] [Bug #10941]
  - Check class equality.  (Resolv::DNS::Name#initialize): Normalize
    labels as Resolv::DNS::Label::Str objects.
  - check source type, must be an IO or a String.  [ruby-core:69219]
    [Bug #11159]
  - make dsym_fstrs a hash compared by identity as the keys are unique
    fstrings, to get rid of running hash and compare methods and causing
    new object allocation during garbage collection phase.
    [ruby-dev:48891] [Bug #10933]
  - push and reset cmdarg_stack in lambda body.  [ruby-core:69017] [Bug
    #11107]
  - check if a different libruby is loaded by the extension library, and
    then bail out to get rid of very frequent reported stale bug
    reports.
  - show the exact target path in the error message instead of the
    destination parent directory name. [ruby-core:68706].  [Bug #11021]
  - keep sp safe zone to get rid of crash by -fstack-check.
    [ruby-core:68740] [Bug #11030]
  - check also procstat_getvmmap, which is not available on FreeBSD 9.
    [ruby-core:68468] [Bug #10954]
  - use kinfo_getvmmap instead if procstat_getvmmap is not available.

-------------------------------------------------------------------
Fri Jun 19 14:25:47 UTC 2015 - adrian@suse.de

- fix provided rake and rdoc version
- remove generic rubygem-rake provides

-------------------------------------------------------------------
Thu Apr 16 23:42:00 UTC 2015 - mrueckert@suse.de

- update to 2.2.2 (bsc# 926974)
  - stricter hostname verification following RFC 6125. with the
    patch provided by Tony Arcieri and Hiroshi Nakamura
    [ruby-core:61545] [Bug #9644] CVE-2015-1855
  - fix segfault by null caused by syntax error. [ruby-core:68851]
    [Bug #10957]
  - parse.y (primary): empty parentheses at cmdarg can be null.
    [ruby-core:68477] [Bug #10957]
  - ext/io/wait/wait.c (io_nread): wrap return value with INT2FIX
    Thanks to Yura Sokolov <funny.falcon@gmail.com>
    [ruby-core:68369] [Bug#10923]
  - test/io/wait/test_io_wait.rb (test_nread_buffered): fix broken
    test
  - vm_eval.c (vm_call_super): search next super class from the
    original class, to get rid of infinite recursion with
    prepending.  a patch by Seiei Higa <hanachin AT gmail.com> at
    [ruby-core:68434].  [ruby-core:68093] [Bug #10847]
  - class.c (rb_prepend_module): need a WB for klass -> origin.
  - ext/fiddle/extconf.rb: needs --enable-shared when linked to
    libruby or fiddle.so.  since --with-static-linked-ext does no
    longer link extensions to ruby program with --enable-shared,
    the only combination needs --enable-static is --disable-shared
    and --with-static-linked-ext.  [ruby-dev:48901] [Bug #10960]
  - ext/fiddle/extconf.rb: make PIC objects if it will be linked as
    a shared object eventually.  [ruby-core:67128]
  - spec/default.mspec: use default configuration file name.
    https://github.com/ruby/rubyspec/commit/cc69f337b06362e5607ffa3e3ad40ef7494960cf
  - spec/default.mspec: remove specific version number.
    https://github.com/ruby/rubyspec/commit/7a909e925c1baa9c700bd44af9241aef6e596714
  - common.mk: use ruby organization for rubyspec.
  For all the changes see /usr/share/doc/packages/ruby2.2/ChangeLog

-------------------------------------------------------------------
Wed Mar 11 19:51:48 UTC 2015 - mrueckert@suse.de

- while merging the changes with the 2.1 package i noticed 2
  problems:
  - we still rewrote the she bang lines to ruby 2.1.
  - the macro files weren't marked as config.

-------------------------------------------------------------------
Wed Mar 11 19:32:05 UTC 2015 - mrueckert@suse.de

- Remove the support to have the shared files from ruby-common
  intree again.

-------------------------------------------------------------------
Wed Mar 11 17:25:54 UTC 2015 - mrueckert@suse.de

- update to 2.2.1
  This release includes the fix for ffi build failure and memory
  leak issue on Symbol GC (See Bug #10686).

  For more details see /usr/share/doc/packages/ruby2.2/ChangeLog
- match the version number in the rubygems provides to what is
  actually shipped with ruby 2.2

-------------------------------------------------------------------
Wed Feb 11 10:55:05 UTC 2015 - coolo@suse.com

- port make-gem-build-reproducible.patch from ruby 2.1

-------------------------------------------------------------------
Mon Feb  9 14:48:57 UTC 2015 - coolo@suse.com

- remove upstreamed drop_content_size_check_in_xmlrpc.patch 
- add unapplied patches as sources for now to pass source validator,
  we might have use for them later

-------------------------------------------------------------------
Thu Dec 25 14:08:23 UTC 2014 - mrueckert@suse.de

- tk seems to work now with newer tk versions
- convert the conditional for tk to bcond_with(out)
- buildrequire tk-devel only if we want to build with tk. otherwise
  we get tk built and packaged even if we dont expect it. this
  leads to the rubyX.y-stdlib pulling tk.

-------------------------------------------------------------------
Thu Dec 25 13:41:19 UTC 2014 - mrueckert@suse.de

- sync spec file with 2.1 branch

-------------------------------------------------------------------
Thu Dec 25 13:34:38 UTC 2014 - mrueckert@suse.de

- update to 2.2.0 final:
  - Notable Changes since 2.1
    - Incremental GC (YARV Maniacs No.12)
    - Symbol GC (presentation at RubyKaigi 2014)
    - configure –with-jemalloc Feature #9113
    - core libraries:
      - Support Unicode 7.0 #9092
      - New methods:
        - Enumerable#slice_after #9071, Enumerable#slice_when #9826
        - Float#next_float, Float#prev_float #9834
        - File.birthtime, File#birthtime #9647
        - String#unicode_normalize #10084
    - bundled libraries:
      - Update Psych 2.0.8
      - Update Rake 10.4.2
      - Update RDoc 4.2.0
      - Update RubyGems 2.4.5
      - Update test-unit 3.0.8 (removed from repository but bundled
        in tarball)
      - Update minitest 5.4.3 (removed from repository but bundled
        in tarball)
      - Deprecate mathn
    - C API
      - Remove deprecated APIs

  See https://github.com/ruby/ruby/blob/v2_2_0/NEWS for details.

  With those changes, 1557 files changed, 125039 insertions(+),
  74376 deletions(-) from v2.1.0!

-------------------------------------------------------------------
Wed Sep 24 14:39:25 UTC 2014 - mrueckert@suse.de

- also make the ghost files match what we generate in the rubygem
  based packages

-------------------------------------------------------------------
Wed Sep 24 13:47:09 UTC 2014 - mrueckert@suse.de

- also provide the %{_bindir}/$bin%{rb_binary_suffix} symlinks via
  u-a to be consistent with what gem based packages do.

-------------------------------------------------------------------
Mon Sep 22 15:49:04 UTC 2014 - mrueckert@suse.de

- update to ruby-2.2.0-r47678
- drop buildroot patches! finally all upstream:
  ruby2.2.x_rbinstall_gem_buildroot.patch
  rubygems-1.5.0_buildroot.patch

-------------------------------------------------------------------
Mon Sep 22 09:45:12 UTC 2014 - mrueckert@suse.de

- instead of touch for the files in /etc/alternatives. use the
  symlink pointing to itself.

-------------------------------------------------------------------
Fri Sep 19 09:51:06 UTC 2014 - mrueckert@suse.de

- conflict with our own ruby abi

-------------------------------------------------------------------
Wed Sep 17 16:45:41 UTC 2014 - mrueckert@suse.de

- only provide the rdoc and ri symlink on newer than sle11

-------------------------------------------------------------------
Wed Sep 17 16:19:14 UTC 2014 - mrueckert@suse.de

- BR: xz

-------------------------------------------------------------------
Mon Sep 15 14:36:09 UTC 2014 - mrueckert@suse.de

- the ruby(abi) = $interpreter:$abiversion was not a good idea. rpm
  treats the $interpreter part as epoch. instead we use now:
  $interpreter(abi) = $abiversion

  For MRI it means we are basically back to ruby(abi).
  Examples for alternative ruby interpreters are rubinius(abi) and
  jruby(abi) (bnc#896658)

-------------------------------------------------------------------
Wed Sep  3 14:14:46 UTC 2014 - mrueckert@suse.de

- also in the awk generated provides we should add the
  intererpreter part to the provides. also remove the old package
  name based provides there.

-------------------------------------------------------------------
Wed Sep  3 13:41:54 UTC 2014 - mrueckert@suse.de

- fix typo in macro

-------------------------------------------------------------------
Wed Sep  3 13:01:52 UTC 2014 - mrueckert@suse.de

- update the ruby abi part in the macros

-------------------------------------------------------------------
Wed Sep  3 12:57:14 UTC 2014 - mrueckert@suse.de

- use the new ruby abi syntax

-------------------------------------------------------------------
Wed Jul 16 17:27:47 UTC 2014 - mrueckert@suse.de

- added ruby2.2.macros:
  ruby 2.2 specific macros for the macro based expansion
- added ruby2.2-default.macros:
  if ruby 2.2 is default this file will be installed and sets the
  rb_default* variables and rb_build_versions accordingly.
- no longer conflict with the other versioned ruby packages

-------------------------------------------------------------------
Tue Jul 15 18:29:49 UTC 2014 - mrueckert@suse.de

- now we can configure the default ruby version in the project
  config.

  if the package's rb_soname matches the rb_default_ruby_suffix,
  the package is default and we create the hardlinks for the
  important binaries and the libruby.so symlink.

-------------------------------------------------------------------
Tue Jul 15 14:24:52 UTC 2014 - mrueckert@suse.de

- require ruby-common already in the main package, not every
  package we build requires ruby-devel
- update the rubygems provides to the actual version

-------------------------------------------------------------------
Wed Jun 25 17:26:29 UTC 2014 - mrueckert@suse.de

- added ruby2.2.x_rbinstall_gem_buildroot.patch:
  we need to pass the destdir to the Gem.install call inside the
  ruby build process

-------------------------------------------------------------------
Wed Jun 25 16:05:47 UTC 2014 - mrueckert@suse.de

- first snapshot of 2.2

-------------------------------------------------------------------
Wed Jun 18 21:38:50 UTC 2014 - mrueckert@suse.de

- %ix86 architectures are x86 for rubygems

-------------------------------------------------------------------
Wed Jun 18 18:45:29 UTC 2014 - mrueckert@suse.de

- also package the extensions documentation dir

-------------------------------------------------------------------
Wed Jun 18 15:22:27 UTC 2014 - mrueckert@suse.de

- no longer share the rb_binary_suffix between the library usage
  and the binary usage. for the library usage we have now
  rb_soname.
- change rb_binary_suffix to .ruby2.1

-------------------------------------------------------------------
Wed Jun 18 13:31:15 UTC 2014 - mrueckert@suse.de

- also provide libruby.so again:
  too much broken code relies on the existence of it

-------------------------------------------------------------------
Wed Jun 18 09:20:50 UTC 2014 - mrueckert@suse.de

- also package the extensions dir so we have an owner

-------------------------------------------------------------------
Tue Jun 17 12:41:44 UTC 2014 - mrueckert@suse.de

- no longer provide the ruby macros 

-------------------------------------------------------------------
Sun Jun 15 22:23:05 UTC 2014 - mrueckert@suse.de

- remove ruby19-export_init_prelude.patch

-------------------------------------------------------------------
Sun Jun 15 18:27:42 UTC 2014 - mrueckert@suse.de

- dont build ruby-common in here anymore

-------------------------------------------------------------------
Fri May 16 20:21:05 UTC 2014 - kkaempf@suse.com

- Update to 2.1.2
  - fix for a regression of Hash#reject in Ruby 2.1.1
  - support for build with Readline-6.3 (see Bug #9578)
  - updated bundled version of libyaml with psych
  - some bug fixes.

-------------------------------------------------------------------
Sun Mar  2 09:07:57 UTC 2014 - kkaempf@suse.com

- make api_version explicit in spec
- adapt versions of embedded gems

-------------------------------------------------------------------
Fri Feb 28 14:14:00 UTC 2014 - adrian@suse.de

- use api version 2.1.0 again to avoid dependency breakages

-------------------------------------------------------------------
Fri Feb 28 09:03:07 UTC 2014 - kkaempf@suse.com

- Update to 2.1.1
  Speedup and bugfixes (upstream bug ids):
  - rubygems 2.2.2 (#9489)
  - fix segfault at unpacking modified String (#9478)
  - Struct#send(:setter=, rhs) does not return rhs (#9470)
  - Array#uniq behavior change (#9470)
  - Timeout behavior change (#9470)
  - Hash lookup with #hash and #eql broken (#9470)
  - bigdecimal division issue (#9470)
  - SizedQueue not working (#9470)
  - BidDecimal division (#9316)
  - fix 'gem install --ignore-dependencies' for remote gems  (#9282)
  - Array#to_h should not ignore badly formed elements (#9270)
  - Method#arity for keyword arguments (#8072)

-------------------------------------------------------------------
Sat Feb 15 21:05:19 UTC 2014 - kkaempf@suse.com

- add internal.h to ruby-devel-extra

-------------------------------------------------------------------
Mon Feb 10 11:20:16 UTC 2014 - kkaempf@suse.com

- Don't require rpm-with-ruby-provide-hook on SLE11.
  It's not a runtime requirement but a build-time requirement for
  rubygems in SLE11. Buildservice will take care of that.

-------------------------------------------------------------------
Fri Feb  7 12:05:32 UTC 2014 - coolo@suse.com

- reintroduce update-alternatives for rake, rdoc and ri as those
  can come from more uptodate gems

-------------------------------------------------------------------
Sat Feb  1 11:51:30 UTC 2014 - coolo@suse.com

- readd old macros - for now at least

-------------------------------------------------------------------
Fri Jan 31 10:22:24 UTC 2014 - kkaempf@suse.com

- generate provides for embedded rubygems

-------------------------------------------------------------------
Thu Jan 30 14:29:36 UTC 2014 - kkaempf@suse.com

- merged ruby-common

-------------------------------------------------------------------
Sun Jan 19 12:54:46 UTC 2014 - kkaempf@suse.com

- new package split - only single Ruby version installable
  ruby - binary
  libruby2_1-2_0 - ruby runtime library
  ruby-stdlib - ruby standard library
  ruby-doc - ruby documentation
  ruby-devel - ruby development

-------------------------------------------------------------------
Sun Jan 19 12:53:57 UTC 2014 - kkaempf@suse.com

- revert the ruby split (ruby - ruby21)
  rename ruby21 to ruby, integrate 'ruby' and 'ruby-common'

-------------------------------------------------------------------
Thu Jan  9 10:37:57 UTC 2014 - jreidinger@suse.com

- remove part of rubygems1.5 patch that modify mkmf which is
  already fixed upstream

-------------------------------------------------------------------
Wed Jan  8 20:03:32 UTC 2014 - kkaempf@suse.com

- fix rb_arch in spec: append -gnu
- fix native gem builds: create gem native extensions dir

-------------------------------------------------------------------
Mon Jan  6 08:31:16 UTC 2014 - coolo@suse.com

- initial version for ruby 2.1.0 - changes to Ruby 2.0:
  VM (method cache)
  RGenGC (See ko1’s RubyKaigi presentation and RubyConf 2013 presentation)
  refinements #8481 #8571
  syntax changes
  Rational/Complex Literal #8430
  def’s return value #3753
  Bignum
  use GMP #8796
  String#scrub #8414
  Socket.getifaddrs #8368
  RDoc 4.1.0 and RubyGems 2.2.0
  “literal”.freeze is now optimized #9042
  add Exception#cause #8257
  update libraries like BigDecimal, JSON, NKF, Rake, RubyGems, and RDoc
  remove curses #8584

- initial patches:
 drop_content_size_check_in_xmlrpc.patch
 ruby-1.9.2p290_tcl_no_stupid_rpaths.patch
 ruby19-export_init_prelude.patch
 rubygems-1.5.0_buildroot.patch

openSUSE Build Service is sponsored by