pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/pkgsrc-2017Q2]: pkgsrc/lang/ruby23-base Pullup ticket #5544 - request...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/f96e6a797e45
branches:  pkgsrc-2017Q2
changeset: 408688:f96e6a797e45
user:      spz <spz%pkgsrc.org@localhost>
date:      Fri Sep 15 19:25:13 2017 +0000

description:
Pullup ticket #5544 - requested by taca
lang/ruby23-base: security and build fixes

Revisions pulled up:
- lang/ruby23-base/Makefile                                     1.10
- lang/ruby23-base/distinfo                                     1.7-1.9
- lang/ruby23-base/patches/patch-compile.c                      1.1
- lang/ruby23-base/patches/patch-configure                      1.3

-------------------------------------------------------------------
   Module Name: pkgsrc
   Committed By:        taca
   Date:                Thu Jul  6 16:35:05 UTC 2017

   Modified Files:
        pkgsrc/lang/ruby22-base: distinfo
        pkgsrc/lang/ruby22-base/patches: patch-configure
        pkgsrc/lang/ruby23-base: distinfo
        pkgsrc/lang/ruby23-base/patches: patch-configure

   Log Message:
   Fix build problem when PKGSRC_USE_RELRO is not "no".

   * Pass LDFLAGS to LIBRUBY_DLDFLAGS via DLDFLAGS as Ruby 2.4 dose.


   To generate a diff of this commit:
   cvs rdiff -u -r1.6 -r1.7 pkgsrc/lang/ruby23-base/distinfo
   cvs rdiff -u -r1.2 -r1.3 pkgsrc/lang/ruby23-base/patches/patch-configure

-------------------------------------------------------------------
   Module Name: pkgsrc
   Committed By:        taca
   Date:                Mon Jul 24 13:38:42 UTC 2017

   Modified Files:
        pkgsrc/lang/ruby23-base: distinfo
   Added Files:
        pkgsrc/lang/ruby23-base/patches: patch-compile.c

   Log Message:
   Fix build problem when set PKGSRC_USE_STACK_CHECK to "yes", which reported
   by wiz@ via private mail.

   The problem exists basic use of auto variable.


   To generate a diff of this commit:
   cvs rdiff -u -r1.7 -r1.8 pkgsrc/lang/ruby23-base/distinfo
   cvs rdiff -u -r0 -r1.1 pkgsrc/lang/ruby23-base/patches/patch-compile.c

-------------------------------------------------------------------
   Module Name: pkgsrc
   Committed By:        taca
   Date:                Wed Aug 30 03:33:17 UTC 2017

   Modified Files:
        pkgsrc/lang/ruby23-base: Makefile distinfo

   Log Message:
   Add patch to fix vulnerabilities of rubygems.

   https://www.ruby-lang.org/en/news/2017/08/29/multiple-vulnerabilities-in-rubygems/

   * a DNS request hijacking vulnerability
   * an ANSI escape sequence vulnerability
   * a DoS vulernerability in the query command
   * a vulnerability in the gem installer that allowed a malicious gem to
     overwrite arbitrary files

   Bump PKGREVISION.


   To generate a diff of this commit:
   cvs rdiff -u -r1.9 -r1.10 pkgsrc/lang/ruby23-base/Makefile
   cvs rdiff -u -r1.8 -r1.9 pkgsrc/lang/ruby23-base/distinfo

diffstat:

 lang/ruby23-base/Makefile                |   6 +-
 lang/ruby23-base/distinfo                |   9 ++-
 lang/ruby23-base/patches/patch-compile.c |  20 +++++++
 lang/ruby23-base/patches/patch-configure |  88 ++++++++++++++++++++++++++++----
 4 files changed, 109 insertions(+), 14 deletions(-)

diffs (224 lines):

diff -r c74b847df547 -r f96e6a797e45 lang/ruby23-base/Makefile
--- a/lang/ruby23-base/Makefile Fri Sep 15 19:25:02 2017 +0000
+++ b/lang/ruby23-base/Makefile Fri Sep 15 19:25:13 2017 +0000
@@ -1,10 +1,14 @@
-# $NetBSD: Makefile,v 1.9 2017/05/30 15:46:22 taca Exp $
+# $NetBSD: Makefile,v 1.9.2.1 2017/09/15 19:25:13 spz Exp $
 
 DISTNAME=      ${RUBY_DISTNAME}
 PKGNAME=       ${RUBY_PKGPREFIX}-base-${RUBY_VERSION}
+PKGREVISION=   1
 CATEGORIES=    lang ruby
 MASTER_SITES=  ${MASTER_SITE_RUBY}
 
+PATCH_SITES=   https://bugs.ruby-lang.org/attachments/download/6691/
+PATCHFILES=    rubygems-2613-ruby23.patch
+
 MAINTAINER=    taca%NetBSD.org@localhost
 HOMEPAGE=      ${RUBY_HOMEPAGE}
 COMMENT=       Ruby ${RUBY_VERSION} release minimum base package
diff -r c74b847df547 -r f96e6a797e45 lang/ruby23-base/distinfo
--- a/lang/ruby23-base/distinfo Fri Sep 15 19:25:02 2017 +0000
+++ b/lang/ruby23-base/distinfo Fri Sep 15 19:25:13 2017 +0000
@@ -1,10 +1,15 @@
-$NetBSD: distinfo,v 1.6 2017/04/09 15:57:01 taca Exp $
+$NetBSD: distinfo,v 1.6.2.1 2017/09/15 19:25:13 spz Exp $
 
 SHA1 (ruby-2.3.4.tar.bz2) = f5b18e7149ec7620444c91962e695708829d0216
 RMD160 (ruby-2.3.4.tar.bz2) = a44c9f342a401e75c33a2442b9460b2b1ef7f0f5
 SHA512 (ruby-2.3.4.tar.bz2) = ad1f16142615498232d0de85149585be1d2c5de2bc40ec160d272a09e098ef6f317d8b25026001735261fd1c5bc0d1f8513a8474e89f0d86eed5b2fe7338d64e
 Size (ruby-2.3.4.tar.bz2) = 14434361 bytes
-SHA1 (patch-configure) = e1af70b87cfbb7c61a2bf65109b6e18efb825f0f
+SHA1 (rubygems-2613-ruby23.patch) = 69a6c97a18493f61ad1fce0a4bb4aed2ba440c9c
+RMD160 (rubygems-2613-ruby23.patch) = c27c1d5e3104eaa51752d8be924ef9bdee19f3ea
+SHA512 (rubygems-2613-ruby23.patch) = 5cade80e97959ce68008e86df0ca3aba0a131f087a4b476ec6a53bef363504b56316733d522ec54d19fbbdcdb04586c403dd8f0322812faf425b9f496578705d
+Size (rubygems-2613-ruby23.patch) = 11119 bytes
+SHA1 (patch-compile.c) = c17c1b4088bd4e7be0212b78ec0215d27013a52c
+SHA1 (patch-configure) = 9325d9527e96a8f56078c6b78d3f1334803b0d94
 SHA1 (patch-ext_dbm_extconf.rb) = c998f8735db54b1ae2bc8b6caa359ce88bc7a45b
 SHA1 (patch-ext_openssl_ossl__ssl.c) = 24e794aae278da6204e29212d9e2add0b0119ea4
 SHA1 (patch-lib_mkmf.rb) = d01302bac014ec1d72bbf19df64bc2c93c07ec5e
diff -r c74b847df547 -r f96e6a797e45 lang/ruby23-base/patches/patch-compile.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/ruby23-base/patches/patch-compile.c  Fri Sep 15 19:25:13 2017 +0000
@@ -0,0 +1,20 @@
+$NetBSD: patch-compile.c,v 1.2.2.2 2017/09/15 19:25:13 spz Exp $
+
+This chanage included in r57971; moving declaration of new_opt to outside
+of "if"'s block.  So, new_opt is still available outside of "if"'s block.
+
+It cause problem when PKGSRC_USE_STACK_CHECK is enabled.
+
+--- compile.c.orig     2017-02-07 17:39:54.000000000 +0000
++++ compile.c
+@@ -5993,8 +5993,9 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_
+       }
+       case NODE_PRELUDE:{
+       const rb_compile_option_t *orig_opt = ISEQ_COMPILE_DATA(iseq)->option;
++      rb_compile_option_t new_opt;
+       if (node->nd_orig) {
+-          rb_compile_option_t new_opt = *orig_opt;
++          new_opt = *orig_opt;
+           rb_iseq_make_compile_option(&new_opt, node->nd_orig);
+           ISEQ_COMPILE_DATA(iseq)->option = &new_opt;
+       }
diff -r c74b847df547 -r f96e6a797e45 lang/ruby23-base/patches/patch-configure
--- a/lang/ruby23-base/patches/patch-configure  Fri Sep 15 19:25:02 2017 +0000
+++ b/lang/ruby23-base/patches/patch-configure  Fri Sep 15 19:25:13 2017 +0000
@@ -1,9 +1,10 @@
-$NetBSD: patch-configure,v 1.2 2016/05/15 14:19:56 taca Exp $
+$NetBSD: patch-configure,v 1.2.10.1 2017/09/15 19:25:13 spz Exp $
 
 * Adding Interix support.
 * Ignore doxygen.
+* Pass LDFLAGS to LIBRUBY_DLDFLAGS via DLDFLAGS as Ruby 2.4 dose.
 
---- configure.orig     2016-04-25 18:08:47.000000000 +0000
+--- configure.orig     2017-03-29 16:45:31.000000000 +0000
 +++ configure
 @@ -5678,7 +5678,7 @@ esac
  else
@@ -14,7 +15,15 @@
  
            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for real target cpu" >&5
  $as_echo_n "checking for real target cpu... " >&6; }
-@@ -9179,6 +9179,10 @@ esac
+@@ -7553,6 +7553,7 @@ fi
+ 
+ 
+ 
++: ${DLDFLAGS="$LDFLAGS"}
+ 
+ case $RUBY_PATCHLEVEL in #(
+   -*) :
+@@ -9235,6 +9236,10 @@ esac
        LIBS="-lm $LIBS"
                ac_cv_func_round=no
                 ;; #(
@@ -25,7 +34,7 @@
    nacl) :
  
    LIBS="-lm $LIBS"
-@@ -17907,6 +17911,8 @@ else
+@@ -17963,6 +17968,8 @@ else
  # ifdef _MSC_VER
  #  include <malloc.h>
  #  define alloca _alloca
@@ -34,7 +43,7 @@
  # else
  #  ifdef HAVE_ALLOCA_H
  #   include <alloca.h>
-@@ -22407,7 +22413,9 @@ esac ;; #(
+@@ -22463,7 +22470,9 @@ esac ;; #(
    interix*) :
        : ${LDSHARED='$(CC) -shared'}
                        XLDFLAGS="$XLDFLAGS -Wl,-E"
@@ -44,7 +53,26 @@
                        rb_cv_dlopen=yes ;; #(
    freebsd*|dragonfly*) :
  
-@@ -23585,7 +23593,7 @@ esac
+@@ -23630,7 +23639,17 @@ esac
+        ;; #(
+   linux* | gnu* | k*bsd*-gnu | atheos* | kopensolaris*-gnu | haiku*) :
+ 
+-      LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)'" $LDFLAGS_OPTDIR"
++      # RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS)
++      for rb_opt in '-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)' "$LDFLAGS_OPTDIR"; do
++      case " ${LIBRUBY_DLDFLAGS-} " in #(
++  *" ${rb_opt} "*) :
++     ;; #(
++  '  ') :
++     LIBRUBY_DLDFLAGS="${rb_opt}" ;; #(
++  *) :
++     LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS ${rb_opt}" ;;
++esac
++      done
+       LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so'
+       if test "$load_relative" = yes; then
+           libprefix="'\$\${ORIGIN}/../${libdir_basename}'"
+@@ -23641,7 +23660,7 @@ esac
    freebsd*|dragonfly*) :
  
        SOLIBS='$(LIBS)'
@@ -53,7 +81,45 @@
        if test "$rb_cv_binary_elf" != "yes" ; then
            LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)"
            LIBRUBY_ALIASES=''
-@@ -23654,7 +23662,12 @@ esac
+@@ -23651,7 +23670,17 @@ esac
+ 
+       SOLIBS='$(LIBS)'
+       LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR).$(TEENY)'
+-      LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)'" $LDFLAGS_OPTDIR"
++      # RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS)
++      for rb_opt in '-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)' "$LDFLAGS_OPTDIR"; do
++      case " ${LIBRUBY_DLDFLAGS-} " in #(
++  *" ${rb_opt} "*) :
++     ;; #(
++  '  ') :
++     LIBRUBY_DLDFLAGS="${rb_opt}" ;; #(
++  *) :
++     LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS ${rb_opt}" ;;
++esac
++      done
+       if test "$rb_cv_binary_elf" = yes; then # ELF platforms
+          LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR) lib$(RUBY_SO_NAME).so'
+       else    # a.out platforms
+@@ -23683,7 +23712,17 @@ esac
+        ;; #(
+   aix*) :
+ 
+-      LIBRUBY_DLDFLAGS="${linker_flag}-bnoentry $XLDFLAGS $LDFLAGS_OPTDIR"
++      # RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS)
++      for rb_opt in "${linker_flag}-bnoentry" "$XLDFLAGS" "$LDFLAGS_OPTDIR"; do
++      case " ${LIBRUBY_DLDFLAGS-} " in #(
++  *" ${rb_opt} "*) :
++     ;; #(
++  '  ') :
++     LIBRUBY_DLDFLAGS="${rb_opt}" ;; #(
++  *) :
++     LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS ${rb_opt}" ;;
++esac
++      done
+       LIBRUBYARG_SHARED='-L${libdir} -l${RUBY_SO_NAME}'
+       SOLIBS='-lm -lc'
+        ;; #(
+@@ -23710,7 +23749,12 @@ esac
         ;; #(
    interix*) :
  
@@ -61,13 +127,13 @@
 +      SOLIBS='$(LIBS)'
 +      LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR).$(TEENY)'
 +      # link explicitly to 0x48000000
-+      LIBRUBY_DLDFLAGS='-Wl,-h,lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR) -Wl,--image-base,1207959552'
++      LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-Wl,-h,lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR) -Wl,--image-base,1207959552'
 +      LIBRUBYARG_SHARED='-Wl,-R -Wl,${PREFIX}/lib} -L${libdir} -L. -l$(RUBY_SO_NAME)'
 +      LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR) lib$(RUBY_SO_NAME).so'
         ;; #(
    mingw*|cygwin*|mswin*) :
  
-@@ -23822,7 +23835,7 @@ if test "$enable_rpath" = yes; then
+@@ -23878,7 +23922,7 @@ if test "$enable_rpath" = yes; then
  esac
      rpathflag=`IFS="$PATH_SEPARATOR"
          echo x "$rpathflag" |
@@ -76,7 +142,7 @@
      `
      LIBRUBY_RPATHFLAGS="$LIBRUBY_RPATHFLAGS${rpathflag}"
      LIBRUBYARG_SHARED="$LIBRUBY_RPATHFLAGS $LIBRUBYARG_SHARED"
-@@ -24213,11 +24226,7 @@ if test "$install_doc" != no; then
+@@ -24269,11 +24313,7 @@ if test "$install_doc" != no; then
      else
        RDOCTARGET="nodoc"
      fi
@@ -89,7 +155,7 @@
  else
      RDOCTARGET="nodoc"
      CAPITARGET="nodoc"
-@@ -26250,17 +26259,7 @@ which seems to be undefined.  Please mak
+@@ -26306,17 +26346,7 @@ which seems to be undefined.  Please mak
      "Makefile":F)
      tmpmk=confmk$$.tmp
      {



Home | Main Index | Thread Index | Old Index