diff options
author | takeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp> | 2020-11-02 11:07:33 +0900 |
---|---|---|
committer | takeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp> | 2020-11-02 11:07:33 +0900 |
commit | 1c7d6584a7811b7785ae5c1e378f14b5ba0971cf (patch) | |
tree | cd70a267a5ef105ba32f200aa088e281fbd85747 /external/poky/meta/recipes-devtools/ruby | |
parent | 4204309872da5cb401cbb2729d9e2d4869a87f42 (diff) |
basesystem-jjsandbox/ToshikazuOhiwa/master-jj
recipes
Diffstat (limited to 'external/poky/meta/recipes-devtools/ruby')
-rw-r--r-- | external/poky/meta/recipes-devtools/ruby/ruby.inc | 12 | ||||
-rw-r--r-- | external/poky/meta/recipes-devtools/ruby/ruby/0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch | 38 | ||||
-rw-r--r-- | external/poky/meta/recipes-devtools/ruby/ruby/0001-extmk-fix-cross-compilation-of-external-gems.patch | 34 | ||||
-rw-r--r-- | external/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch | 24 | ||||
-rw-r--r-- | external/poky/meta/recipes-devtools/ruby/ruby/extmk.patch | 16 | ||||
-rw-r--r-- | external/poky/meta/recipes-devtools/ruby/ruby/remove_has_include_macros.patch | 26 | ||||
-rw-r--r-- | external/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch | 32 | ||||
-rw-r--r-- | external/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch | 34 | ||||
-rw-r--r-- | external/poky/meta/recipes-devtools/ruby/ruby_2.7.1.bb (renamed from external/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb) | 50 |
9 files changed, 148 insertions, 118 deletions
diff --git a/external/poky/meta/recipes-devtools/ruby/ruby.inc b/external/poky/meta/recipes-devtools/ruby/ruby.inc index 1ecd087d..a38b3fe6 100644 --- a/external/poky/meta/recipes-devtools/ruby/ruby.inc +++ b/external/poky/meta/recipes-devtools/ruby/ruby.inc @@ -6,20 +6,20 @@ It is simple, straight-forward, and extensible. \ " HOMEPAGE = "http://www.ruby-lang.org/" SECTION = "devel/ruby" -LICENSE = "Ruby | BSD | GPLv2" +LICENSE = "Ruby | BSD-2-Clause | BSD-3-Clause | GPLv2 | ISC | MIT" LIC_FILES_CHKSUM = "\ - file://COPYING;md5=340948e1882e579731841bf49cdc22c1 \ + file://COPYING;md5=5b8c87559868796979806100db3f3805 \ file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5\ file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263\ - file://LEGAL;md5=23a79bb4c1a40f6cc9bcb6f4e7c39799 \ + file://LEGAL;md5=2b6d62dc0d608f34d510ca3f428110ec \ " DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline libffi" -DEPENDS_class-native = "openssl-native libyaml-native readline-native" +DEPENDS_class-native = "openssl-native libyaml-native readline-native zlib-native" SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \ - file://extmk.patch \ + file://0001-extmk-fix-cross-compilation-of-external-gems.patch \ file://0002-Obey-LDFLAGS-for-the-link-of-libruby.patch \ " UPSTREAM_CHECK_URI = "https://www.ruby-lang.org/en/downloads/" @@ -35,6 +35,6 @@ inherit autotools ptest # built. do_configure_prepend() { - sed -i "s#%%TARGET_CFLAGS%%#$TARGET_CFLAGS#; s#%%TARGET_LDFLAGS%%#$TARGET_LDFLAGS#" ${S}/common.mk + sed -i "s#%%TARGET_CFLAGS%%#$CFLAGS#; s#%%TARGET_LDFLAGS%%#$LDFLAGS#" ${S}/common.mk rm -rf ${S}/ruby/ } diff --git a/external/poky/meta/recipes-devtools/ruby/ruby/0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch b/external/poky/meta/recipes-devtools/ruby/ruby/0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch new file mode 100644 index 00000000..f316bed7 --- /dev/null +++ b/external/poky/meta/recipes-devtools/ruby/ruby/0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch @@ -0,0 +1,38 @@ +From eed7bc855fd8d232d4d203cc9027dd07cee8eca2 Mon Sep 17 00:00:00 2001 +From: Wang Mingyu <wangmy@cn.fujitsu.com> +Date: Sat, 8 Feb 2020 15:16:14 +0800 +Subject: [PATCH] Modify shebang of libexec/y2racc and libexec/racc2y. + +change /usr/local/bin/ruby to /usr/bin/env ruby. + +Upstream-Status: Pending + +Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> +--- + libexec/racc2y | 2 +- + libexec/y2racc | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libexec/racc2y b/libexec/racc2y +index f88d73ed2c..74e49cfa21 100755 +--- a/libexec/racc2y ++++ b/libexec/racc2y +@@ -1,4 +1,4 @@ +-#!/usr/local/bin/ruby ++#!/usr/bin/env ruby + # + # $Id$ + # +diff --git a/libexec/y2racc b/libexec/y2racc +index 7933f94153..36daf864e1 100755 +--- a/libexec/y2racc ++++ b/libexec/y2racc +@@ -1,4 +1,4 @@ +-#!/usr/local/bin/ruby ++#!/usr/bin/env ruby + # + # $Id$ + # +-- +2.17.1 + diff --git a/external/poky/meta/recipes-devtools/ruby/ruby/0001-extmk-fix-cross-compilation-of-external-gems.patch b/external/poky/meta/recipes-devtools/ruby/ruby/0001-extmk-fix-cross-compilation-of-external-gems.patch new file mode 100644 index 00000000..2e315688 --- /dev/null +++ b/external/poky/meta/recipes-devtools/ruby/ruby/0001-extmk-fix-cross-compilation-of-external-gems.patch @@ -0,0 +1,34 @@ +From a6e12b25a54d112c899b70c89c0bec9c5e5ebf3c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com> +Date: Mon, 30 Sep 2019 16:57:01 +0100 +Subject: [PATCH 1/3] extmk: fix cross-compilation of external gems +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Note that I (André) didn't actually write this patch, I +only updated it so that git-am works. + +Upstream-Status: Pending +Signed-off-by: André Draszik <andre.draszik@jci.com> +--- + ext/extmk.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ext/extmk.rb b/ext/extmk.rb +index 1389dc4117..e4d923d7a7 100755 +--- a/ext/extmk.rb ++++ b/ext/extmk.rb +@@ -413,8 +413,8 @@ def $mflags.defined?(var) + end + $ruby = [$ruby] + $ruby << "-I'$(topdir)'" ++$ruby << "-I'$(top_srcdir)/lib'" + unless CROSS_COMPILING +- $ruby << "-I'$(top_srcdir)/lib'" + $ruby << "-I'$(extout)/$(arch)'" << "-I'$(extout)/common'" if $extout + ENV["RUBYLIB"] = "-" + end +-- +2.23.0.rc1 + diff --git a/external/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch b/external/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch index 4cf579f4..b31dee11 100644 --- a/external/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch +++ b/external/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch @@ -1,25 +1,27 @@ -Upstream-Status: Pending - -From 306e95a9818d39d3349075aac9609e062b0f19ce Mon Sep 17 00:00:00 2001 +From 6d608326970b1613633d7715ebb7d628dfcd16ee Mon Sep 17 00:00:00 2001 From: Christopher Larson <chris_larson@mentor.com> Date: Thu, 5 May 2016 10:59:07 -0700 -Subject: [PATCH 2/2] Obey LDFLAGS for the link of libruby +Subject: [PATCH 2/3] Obey LDFLAGS for the link of libruby Signed-off-by: Christopher Larson <chris_larson@mentor.com> +Upstream-Status: Pending --- - Makefile.in | 2 +- + template/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: ruby-2.5.0/Makefile.in -=================================================================== ---- ruby-2.5.0.orig/Makefile.in -+++ ruby-2.5.0/Makefile.in -@@ -77,7 +77,7 @@ LIBS = @LIBS@ $(EXTLIBS) - MISSING = @LIBOBJS@ @ALLOCA@ +diff --git a/template/Makefile.in b/template/Makefile.in +index fa1e19ef37..bbd07fa34b 100644 +--- a/template/Makefile.in ++++ b/template/Makefile.in +@@ -109,7 +109,7 @@ MISSING = @LIBOBJS@ @ALLOCA@ ENABLE_SHARED = @ENABLE_SHARED@ LDSHARED = @LIBRUBY_LDSHARED@ + DLDSHARED = @DLDSHARED@ -DLDFLAGS = @LIBRUBY_DLDFLAGS@ $(XLDFLAGS) $(ARCH_FLAG) +DLDFLAGS = @LIBRUBY_DLDFLAGS@ @LDFLAGS@ $(XLDFLAGS) $(ARCH_FLAG) SOLIBS = @SOLIBS@ ENABLE_DEBUG_ENV = @ENABLE_DEBUG_ENV@ MAINLIBS = @MAINLIBS@ +-- +2.23.0.rc1 + diff --git a/external/poky/meta/recipes-devtools/ruby/ruby/extmk.patch b/external/poky/meta/recipes-devtools/ruby/ruby/extmk.patch deleted file mode 100644 index 404b9af7..00000000 --- a/external/poky/meta/recipes-devtools/ruby/ruby/extmk.patch +++ /dev/null @@ -1,16 +0,0 @@ -Upstream-Status: Pending -diff -ru ruby-1.8.7-p248.orig/ext/extmk.rb ruby-1.8.7-p248/ext/extmk.rb ---- ruby-1.8.7-p248.orig/ext/extmk.rb 2009-12-24 03:01:58.000000000 -0600 -+++ ruby-1.8.7-p248/ext/extmk.rb 2010-02-12 15:55:27.370061558 -0600 -@@ -413,8 +413,8 @@ def $mflags.defined?(var) - end - $ruby = [$ruby] - $ruby << "-I'$(topdir)'" -+$ruby << "-I'$(top_srcdir)/lib'" - unless CROSS_COMPILING -- $ruby << "-I'$(top_srcdir)/lib'" - $ruby << "-I'$(extout)/$(arch)'" << "-I'$(extout)/common'" if $extout - ENV["RUBYLIB"] = "-" - end --- - diff --git a/external/poky/meta/recipes-devtools/ruby/ruby/remove_has_include_macros.patch b/external/poky/meta/recipes-devtools/ruby/ruby/remove_has_include_macros.patch new file mode 100644 index 00000000..a1e63304 --- /dev/null +++ b/external/poky/meta/recipes-devtools/ruby/ruby/remove_has_include_macros.patch @@ -0,0 +1,26 @@ +Filter out __has_include* compiler defines + +They are internal to compiler and this header is later on includes in C +files, but newer gcc >= 10 complains about it. + +error in initial header file: +| In file included from /tmp/20200124-86625-14hiju4.c:1: +| /tmp/20200124-86625-11y6l6i.h:13849:9: error: "__has_include" cannot be used as a macro name +| 13849 | #define __has_include __has_include +| | ^~~~~~~~~~~~~ +| compilation terminated due to -Wfatal-errors. + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- a/common.mk ++++ b/common.mk +@@ -221,6 +221,8 @@ $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT + $(TIMESTAMPDIR)/$(arch)/.time + $(ECHO) building $(@F:.time=.h) + $(Q) $(CPP) -DMJIT_HEADER $(MJIT_HEADER_FLAGS) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/vm.c $(CPPOUTFLAG)$(@F:.time=.h).new ++ $(Q)sed -i -e "/#define __has_include __has_include/d" $(@F:.time=.h).new ++ $(Q)sed -i -e "/#define __has_include_next __has_include_next/d" $(@F:.time=.h).new + $(Q) $(IFCHANGE) "--timestamp=$@" $(@F:.time=.h) $(@F:.time=.h).new + + $(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).h: $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time diff --git a/external/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch b/external/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch deleted file mode 100644 index 89437bba..00000000 --- a/external/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b4bf968ad52afe14e60a2dc8a95d3555c543353a Mon Sep 17 00:00:00 2001 -From: "K.Kosako" <kosako@sofnec.co.jp> -Date: Thu, 18 May 2017 17:05:27 +0900 -Subject: [PATCH] fix #55 : check too big code point value for single byte - value in next_state_val() - ---- - regparse.c | 3 +++ - 1 file changed, 3 insertions(+) - ---- end of original header - -CVE: CVE-2017-9226 - -Add check for octal number bigger than 255. - -Upstream-Status: Pending -Signed-off-by: Joe Slater <joe.slater@windriver.com> - - ---- ruby-2.4.1.orig/regparse.c -+++ ruby-2.4.1/regparse.c -@@ -4450,6 +4450,9 @@ next_state_val(CClassNode* cc, CClassNod - switch (*state) { - case CCS_VALUE: - if (*type == CCV_SB) { -+ if (*from > 0xff) -+ return ONIGERR_INVALID_CODE_POINT_VALUE; -+ - BITSET_SET_BIT_CHKDUP(cc->bs, (int )(*from)); - if (IS_NOT_NULL(asc_cc)) - BITSET_SET_BIT(asc_cc->bs, (int )(*from)); diff --git a/external/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch b/external/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch deleted file mode 100644 index d8bfba48..00000000 --- a/external/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 3b63d12038c8d8fc278e81c942fa9bec7c704c8b Mon Sep 17 00:00:00 2001 -From: "K.Kosako" <kosako@sofnec.co.jp> -Date: Wed, 24 May 2017 13:43:25 +0900 -Subject: [PATCH] fix #60 : invalid state(CCS_VALUE) in parse_char_class() - ---- - regparse.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- end of original header - -CVE: CVE-2017-9228 - -Upstream-Status: Inappropriate [not author] -Signed-off-by: Joe Slater <joe.slater@windriver.com> - -diff --git a/regparse.c b/regparse.c -index 69875fa..1988747 100644 ---- a/regparse.c -+++ b/regparse.c -@@ -4081,7 +4081,9 @@ next_state_class(CClassNode* cc, OnigCodePoint* vs, enum CCVALTYPE* type, - } - } - -- *state = CCS_VALUE; -+ if (*state != CCS_START) -+ *state = CCS_VALUE; -+ - *type = CCV_CLASS; - return 0; - } --- -1.7.9.5 - diff --git a/external/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb b/external/poky/meta/recipes-devtools/ruby/ruby_2.7.1.bb index 519daf29..3dd9fb0a 100644 --- a/external/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb +++ b/external/poky/meta/recipes-devtools/ruby/ruby_2.7.1.bb @@ -1,27 +1,22 @@ require ruby.inc +DEPENDS_append_libc-musl = " libucontext" + SRC_URI += " \ - file://ruby-CVE-2017-9226.patch \ - file://ruby-CVE-2017-9228.patch \ + file://remove_has_include_macros.patch \ file://run-ptest \ + file://0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch \ " -SRC_URI[md5sum] = "20c85b67846d49622ef3b24230803fef" -SRC_URI[sha256sum] = "9828d03852c37c20fa333a0264f2490f07338576734d910ee3fd538c9520846c" - -# it's unknown to configure script, but then passed to extconf.rb -# maybe it's not really needed as we're hardcoding the result with -# 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch -UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo" +SRC_URI[md5sum] = "debb9c325bf65021214451660f46e909" +SRC_URI[sha256sum] = "d418483bdd0000576c1370571121a6eb24582116db0b7bb2005e90e250eae418" PACKAGECONFIG ??= "" PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind" PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp" -PACKAGECONFIG[ipv6] = ",--enable-wide-getaddrinfo," - -EXTRA_AUTORECONF += "--exclude=aclocal" +PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6," EXTRA_OECONF = "\ --disable-versioned-paths \ @@ -32,6 +27,12 @@ EXTRA_OECONF = "\ --with-pkg-config=pkg-config \ " +EXTRA_OECONF_append_libc-musl = "\ + LIBS='-lucontext' \ + ac_cv_func_isnan=yes \ + ac_cv_func_isinf=yes \ +" + do_install() { oe_runmake 'DESTDIR=${D}' install } @@ -48,16 +49,24 @@ do_install_append_class-target () { -e 's:${RECIPE_SYSROOT}::g' \ -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ ${D}$rbconfig_rb - - # Find out created.rid from .installed.list - created_rid=`grep created.rid ${B}/.installed.list` - # Remove build host directories - sed -i -e 's:${WORKDIR}::g' ${D}$created_rid - } do_install_ptest () { cp -rf ${S}/test ${D}${PTEST_PATH}/ + + install -D ${S}/tool/test/runner.rb ${D}${PTEST_PATH}/tool/test/runner.rb + cp -r ${S}/tool/lib ${D}${PTEST_PATH}/tool/ + mkdir -p ${D}${PTEST_PATH}/lib + cp -r ${S}/lib/did_you_mean ${S}/lib/rdoc ${D}${PTEST_PATH}/lib + + # install test-binaries + find $(find ./.ext -path '*/-test-') -name '*.so' -print0 \ + | tar --no-recursion --null -T - --no-same-owner --preserve-permissions -cf - \ + | tar -C ${D}${libdir}/ruby/${SHRT_VER}.0/ --no-same-owner --preserve-permissions --strip-components=2 -xf - + # adjust path to not assume build directory layout + sed -e 's|File.expand_path(.*\.\./bin/erb[^)]*|File.expand_path("${bindir}/erb"|g' \ + -i ${D}${PTEST_PATH}/test/erb/test_erb_command.rb + cp -r ${S}/include ${D}/${libdir}/ruby/ test_case_rb=`grep rubygems/test_case.rb ${B}/.installed.list` sed -i -e 's:../../../test/:../../../ptest/test/:g' ${D}/$test_case_rb @@ -75,6 +84,9 @@ FILES_${PN}-rdoc += "${libdir}/ruby/*/rdoc ${bindir}/rdoc" FILES_${PN} += "${datadir}/rubygems" -FILES_${PN}-ptest_append_class-target += "${libdir}/ruby/include" +FILES_${PN}-ptest_append_class-target = "\ + ${libdir}/ruby/include \ + ${libdir}/ruby/${SHRT_VER}.0/*/-test- \ +" BBCLASSEXTEND = "native" |