diff options
Diffstat (limited to 'meta/recipes-devtools/tcltk')
-rw-r--r-- | meta/recipes-devtools/tcltk/tcl/alter-includedir.patch | 56 | ||||
-rw-r--r-- | meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch | 4 | ||||
-rw-r--r-- | meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch | 4 | ||||
-rw-r--r-- | meta/recipes-devtools/tcltk/tcl/interp.patch | 32 | ||||
-rw-r--r-- | meta/recipes-devtools/tcltk/tcl/no_packages.patch | 53 | ||||
-rw-r--r-- | meta/recipes-devtools/tcltk/tcl/run-ptest | 8 | ||||
-rw-r--r-- | meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch | 22 | ||||
-rw-r--r-- | meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch | 33 | ||||
-rw-r--r-- | meta/recipes-devtools/tcltk/tcl_8.6.11.bb (renamed from meta/recipes-devtools/tcltk/tcl_8.6.9.bb) | 56 |
9 files changed, 102 insertions, 166 deletions
diff --git a/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch b/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch index c8530e1f58..5b25af2c0c 100644 --- a/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch +++ b/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch @@ -1,4 +1,4 @@ -Lets install the include header and private header files into +Lets install the include header and private header files into usr/include/tcl8.6 when version of tcl is 8.6.x Upstream-Status: Inappropriate [Configuration Specific] @@ -8,18 +8,20 @@ Signed-off-by: Khem Raj <raj.khem@gmai.com> Fixed the TCL_INCLUDE_SPEC Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> + --- - Makefile.in | 2 +- - configure | 4 ++-- - configure.in | 4 ++-- + Makefile.in | 2 +- + configure | 4 ++-- + configure.in | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile.in b/Makefile.in -index 97b983b..dc2a4df 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -53,7 +53,7 @@ DLL_INSTALL_DIR = @DLL_INSTALL_DIR@ - SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY) +index 0370491..daa569a 100644 +--- a/unix/Makefile.in ++++ b/unix/Makefile.in +@@ -57,7 +57,7 @@ SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY) + MODULE_INSTALL_DIR = $(SCRIPT_INSTALL_DIR)/../tcl8 # Directory in which to install the include file tcl.h: -INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir) @@ -27,42 +29,20 @@ index 97b983b..dc2a4df 100644 # Path to the private tcl header dir: PRIVATE_INCLUDE_DIR = @PRIVATE_INCLUDE_DIR@ -diff --git a/configure b/configure -index 3e78b49..24b3f92 100755 ---- a/configure -+++ b/configure -@@ -19134,7 +19134,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" - eval "TCL_LIB_FILE=${TCL_LIB_FILE}" - - TCL_LIBRARY='$(libdir)/tcl$(VERSION)' --PRIVATE_INCLUDE_DIR='$(includedir)' -+PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)' - HTML_DIR='$(DISTDIR)/html' - - # Note: in the following variable, it's important to use the absolute -@@ -19293,7 +19293,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}" - TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}" - - # Install time header dir can be set via --includedir --eval "TCL_INCLUDE_SPEC=\"-I${includedir}\"" -+eval "TCL_INCLUDE_SPEC=\"-I${includedir}/tcl${VERSION}\"" - - #------------------------------------------------------------------------ - # tclConfig.sh refers to this by a different name diff --git a/configure.in b/configure.in -index 0e28b14..62d9b41 100755 ---- a/configure.in -+++ b/configure.in -@@ -791,7 +791,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" +index 9f96e2b..e323e02 100644 +--- a/unix/configure.in ++++ b/unix/configure.in +@@ -773,7 +773,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" eval "TCL_LIB_FILE=${TCL_LIB_FILE}" - TCL_LIBRARY='$(libdir)/tcl$(VERSION)' + test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)' -PRIVATE_INCLUDE_DIR='$(includedir)' +PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)' HTML_DIR='$(DISTDIR)/html' # Note: in the following variable, it's important to use the absolute -@@ -912,7 +912,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}" +@@ -894,7 +894,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}" TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}" # Install time header dir can be set via --includedir @@ -72,5 +52,5 @@ index 0e28b14..62d9b41 100755 #------------------------------------------------------------------------ # tclConfig.sh refers to this by a different name -- -1.7.10.4 +2.25.1 diff --git a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch index 72a0fa4520..2c31cec8e3 100644 --- a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch +++ b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch @@ -17,8 +17,8 @@ Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Index: unix/Makefile.in =================================================================== ---- unix.orig/Makefile.in 2013-11-10 23:38:01.787425628 -0800 -+++ unix/Makefile.in 2013-11-10 23:37:59.807425578 -0800 +--- a/unix.orig/Makefile.in 2013-11-10 23:38:01.787425628 -0800 ++++ b/unix/Makefile.in 2013-11-10 23:37:59.807425578 -0800 @@ -686,7 +686,7 @@ # tcltest executable gets the build directory burned into its ld search path. # This keeps tcltest from picking up an already installed version of the Tcl diff --git a/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch index c60eb75379..44b2ce0a30 100644 --- a/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch +++ b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch @@ -2,8 +2,8 @@ Upstream-Status: Pending Index: unix/Makefile.in =================================================================== ---- unix.orig/Makefile.in 2013-11-10 23:37:34.243424934 -0800 -+++ unix/Makefile.in 2013-11-10 23:37:34.243424934 -0800 +--- a/unix.orig/Makefile.in 2013-11-10 23:37:34.243424934 -0800 ++++ b/unix/Makefile.in 2013-11-10 23:37:34.243424934 -0800 @@ -709,23 +709,23 @@ test: test-tcl test-packages diff --git a/meta/recipes-devtools/tcltk/tcl/interp.patch b/meta/recipes-devtools/tcltk/tcl/interp.patch new file mode 100644 index 0000000000..95d6318f64 --- /dev/null +++ b/meta/recipes-devtools/tcltk/tcl/interp.patch @@ -0,0 +1,32 @@ +The interp-36.7 patch has race conditions and is missing cleanup. This patch by +a Tcl maintainer should improve matters. + +Upstream-Status: Pending +Signed-off-by: Ross Burton <ross.burton@arm.com> + +diff --git a/tests/interp.test b/tests/interp.test +index d7424847f..fc90990f3 100644 +--- a/tests/interp.test ++++ b/tests/interp.test +@@ -3595,17 +3595,18 @@ test interp-36.7 {ChildBgerror sets error handler of child [1999035]} -setup { + variable result + set result [lindex $args 0] + } ++ set tout [after 5000 {set result timeout}] + } -body { + child eval { + variable done {} + after 0 error foo +- after 10 [list ::set [namespace which -variable done] {}] +- vwait [namespace which -variable done] + } ++ vwait result + set result + } -cleanup { ++ after cancel $tout + variable result {} +- unset -nocomplain result ++ unset -nocomplain result tout + interp delete child + } -result foo + diff --git a/meta/recipes-devtools/tcltk/tcl/no_packages.patch b/meta/recipes-devtools/tcltk/tcl/no_packages.patch deleted file mode 100644 index 5c622a2369..0000000000 --- a/meta/recipes-devtools/tcltk/tcl/no_packages.patch +++ /dev/null @@ -1,53 +0,0 @@ -tcl 8.6.0 builds by default a number of packages that are not needed in Yocto. -This patch changes the makefile so that these packages are not built by default. - -Upstream-Status:Inappropriate [embedded specific] - -Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> - -diff --git a/Makefile.in b/Makefile.in -index b729ffd..2c2e824 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -612,7 +612,7 @@ SRCS = $(GENERIC_SRCS) $(TOMMATH_SRCS) $(UNIX_SRCS) $(NOTIFY_SRCS) \ - # Start of rules - #-------------------------------------------------------------------------- - --all: binaries libraries doc packages -+all: binaries libraries doc - - binaries: ${LIB_FILE} ${TCL_EXE} - -@@ -656,12 +656,12 @@ Makefile: $(UNIX_DIR)/Makefile.in $(DLTEST_DIR)/Makefile.in - #tclConfig.h: $(UNIX_DIR)/tclConfig.h.in - # $(SHELL) config.status - --clean: clean-packages -+clean: - rm -rf *.a *.o libtcl* core errs *~ \#* TAGS *.E a.out \ - errors ${TCL_EXE} ${TCLTEST_EXE} lib.exp Tcl @DTRACE_HDR@ - cd dltest ; $(MAKE) clean - --distclean: distclean-packages clean -+distclean: clean - rm -rf Makefile config.status config.cache config.log tclConfig.sh \ - tclConfig.h *.plist Tcl.framework tcl.pc - cd dltest ; $(MAKE) distclean -@@ -709,7 +709,7 @@ tcltest-real: - # tcltest, ie: - # % make test TESTFLAGS="-verbose bps -file fileName.test" - --test: test-tcl test-packages -+test: test-tcl - - test-tcl: ${TCLTEST_EXE} - $(SHELL_ENV) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) -@@ -774,7 +774,7 @@ INSTALL_PACKAGE_TARGETS = install-packages - INSTALL_DEV_TARGETS = install-headers - INSTALL_EXTRA_TARGETS = @EXTRA_INSTALL@ - INSTALL_TARGETS = $(INSTALL_BASE_TARGETS) $(INSTALL_DOC_TARGETS) $(INSTALL_DEV_TARGETS) \ -- $(INSTALL_PACKAGE_TARGETS) $(INSTALL_EXTRA_TARGETS) -+ $(INSTALL_EXTRA_TARGETS) - - install: $(INSTALL_TARGETS) - diff --git a/meta/recipes-devtools/tcltk/tcl/run-ptest b/meta/recipes-devtools/tcltk/tcl/run-ptest index 22bb69ae0d..a62b703082 100644 --- a/meta/recipes-devtools/tcltk/tcl/run-ptest +++ b/meta/recipes-devtools/tcltk/tcl/run-ptest @@ -1,8 +1,12 @@ #!/bin/sh +# clock.test needs a timezone to be set +export TZ="Europe/London" +export TCL_LIBRARY=library + for i in `ls tests/*.test | awk -F/ '{print $2}'`; do - TCL_LIBRARY=library ./tcltest tests/all.tcl -file $i >$i.log 2>&1 - grep -q "^Files with failing tests:" $i.log + ./tcltest tests/all.tcl -file $i >$i.log 2>&1 + grep -q -F -e "Files with failing tests:" -e "Test files exiting with errors:" $i.log if [ $? -eq 0 ]; then echo "FAIL: $i" cat $i.log diff --git a/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch b/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch index d1fc9b92e5..c4283c4f34 100644 --- a/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch +++ b/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch @@ -1,23 +1,9 @@ Upstream-Status: Pending -Index: unix/configure -=================================================================== ---- unix.orig/configure 2013-09-19 13:17:13.000000000 -0700 -+++ unix/configure 2013-11-11 00:20:51.519490342 -0800 -@@ -7599,6 +7599,9 @@ - # get rid of the warnings. - #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" - -+ # following line added by CW for Debian GNU/Linux -+ TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0" -+ - SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS} -shared' - DL_OBJS="tclLoadDl.o" - DL_LIBS="-ldl" Index: unix/tcl.m4 =================================================================== ---- unix.orig/tcl.m4 2013-09-19 13:17:13.000000000 -0700 -+++ unix/tcl.m4 2013-11-11 00:17:24.263485123 -0800 +--- a/unix.orig/tcl.m4 2013-09-19 13:17:13.000000000 -0700 ++++ b/unix/tcl.m4 2013-11-11 00:17:24.263485123 -0800 @@ -1415,6 +1415,9 @@ # get rid of the warnings. #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" @@ -30,8 +16,8 @@ Index: unix/tcl.m4 DL_LIBS="-ldl" Index: unix/Makefile.in =================================================================== ---- unix.orig/Makefile.in 2013-09-19 13:17:13.000000000 -0700 -+++ unix/Makefile.in 2013-11-11 00:20:32.423489861 -0800 +--- a/unix.orig/Makefile.in 2013-09-19 13:17:13.000000000 -0700 ++++ b/unix/Makefile.in 2013-11-11 00:20:32.423489861 -0800 @@ -796,7 +796,10 @@ done; @echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/" diff --git a/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch b/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch index 16f7c80516..99c5faf02c 100644 --- a/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch +++ b/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch @@ -7,41 +7,26 @@ Remove hardcoded library install path. Change $(prefix)/lib/ to ${libdir}. [YOCTO #2876] -This is not a bug, but libraries should be installed into directory .../lib/. -On 64bit target that should be lib64/. - -Upstream-Status: Inappropriate [configuration] +Upstream-Status: Pending Signed-off-by: Song.Li <Song.Li@windriver.com> Signed-off-by: Kai Kang <kai.kang@windriver.com> - +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> --- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + configure | 2 +- + configure.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) -Index: unix/configure -=================================================================== ---- unix.orig/configure 2013-11-10 23:38:33.643426430 -0800 -+++ unix/configure 2013-11-10 23:39:51.347428387 -0800 -@@ -19134,7 +19134,7 @@ - - eval "TCL_LIB_FILE=${TCL_LIB_FILE}" - --TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)' -+TCL_LIBRARY='$(libdir)/tcl$(VERSION)' - PRIVATE_INCLUDE_DIR='$(includedir)' - HTML_DIR='$(DISTDIR)/html' - Index: unix/configure.in =================================================================== ---- unix.orig/configure.in 2013-11-10 23:20:50.000000000 -0800 -+++ unix/configure.in 2013-11-10 23:39:41.199428131 -0800 +--- a/unix.orig/configure.in 2013-11-10 23:20:50.000000000 -0800 ++++ b/unix/configure.in 2013-11-10 23:39:41.199428131 -0800 @@ -790,7 +790,7 @@ eval "TCL_LIB_FILE=${TCL_LIB_FILE}" --TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)' -+TCL_LIBRARY='$(libdir)/tcl$(VERSION)' +-test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)' ++test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)' PRIVATE_INCLUDE_DIR='$(includedir)' HTML_DIR='$(DISTDIR)/html' diff --git a/meta/recipes-devtools/tcltk/tcl_8.6.9.bb b/meta/recipes-devtools/tcltk/tcl_8.6.11.bb index 7f3778153a..9f6b003ffb 100644 --- a/meta/recipes-devtools/tcltk/tcl_8.6.9.bb +++ b/meta/recipes-devtools/tcltk/tcl_8.6.11.bb @@ -1,45 +1,48 @@ SUMMARY = "Tool Command Language" HOMEPAGE = "http://tcl.sourceforge.net" +DESCRIPTION = "Tool Command Language, is an open-source multi-purpose C library which includes a powerful dynamic scripting language. Together they provide ideal cross-platform development environment for any programming project." SECTION = "devel/tcltk" # http://www.tcl.tk/software/tcltk/license.html -LICENSE = "tcl & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://../license.terms;md5=058f6229798281bbcac4239c788cfa38 \ - file://../compat/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ - file://../library/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ - file://../macosx/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ - file://../tests/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ - file://../win/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ +LICENSE = "TCL & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://license.terms;md5=058f6229798281bbcac4239c788cfa38 \ + file://compat/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ + file://library/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ + file://macosx/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ + file://tests/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ + file://win/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ " DEPENDS = "tcl-native zlib" -BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \ +BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tcl-core${PV}-src.tar.gz \ file://tcl-add-soname.patch" SRC_URI = "${BASE_SRC_URI} \ file://fix_non_native_build_issue.patch \ file://fix_issue_with_old_distro_glibc.patch \ - file://no_packages.patch \ file://tcl-remove-hardcoded-install-path.patch \ file://alter-includedir.patch \ + file://interp.patch \ file://run-ptest \ " -SRC_URI[md5sum] = "aa0a121d95a0e7b73a036f26028538d4" -SRC_URI[sha256sum] = "ad0cd2de2c87b9ba8086b43957a0de3eb2eb565c7159d5f53ccbba3feb915f4e" +SRC_URI[sha256sum] = "cfb49aab82bd179651e23eeeb69606f51b0ddc575ca55c3d35e2457469024cfa" -SRC_URI_class-native = "${BASE_SRC_URI}" +SRC_URI:class-native = "${BASE_SRC_URI}" -S = "${WORKDIR}/${BPN}${PV}/unix" +# Upstream don't believe this is an exploitable issue +# https://core.tcl-lang.org/tcl/info/7079e4f91601e9c7 +CVE_CHECK_IGNORE += "CVE-2021-35331" + +UPSTREAM_CHECK_REGEX = "tcl(?P<pver>\d+(\.\d+)+)-src" + +S = "${WORKDIR}/${BPN}${PV}" VER = "${PV}" inherit autotools ptest binconfig -EXTRA_OECONF = "--enable-threads --disable-rpath --libdir=${libdir}" - -do_compile_prepend() { - echo > ${S}/../compat/fixstrtod.c -} +AUTOTOOLS_SCRIPT_PATH = "${S}/unix" +EXTRA_OECONF = "--enable-threads --disable-rpath --enable-man-suffix" do_install() { autotools_do_install @@ -53,21 +56,20 @@ do_install() { install -m 0755 tclConfig.sh ${D}${libdir} for dir in compat generic unix; do install -d ${D}${includedir}/${BPN}${VER}/$dir - install -m 0644 ${S}/../$dir/*.h ${D}${includedir}/${BPN}${VER}/$dir/ + install -m 0644 ${S}/$dir/*.h ${D}${includedir}/${BPN}${VER}/$dir/ done } SYSROOT_DIRS += "${bindir_crossscripts}" PACKAGES =+ "tcl-lib" -FILES_tcl-lib = "${libdir}/libtcl8.6.so.*" -FILES_${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8" -FILES_${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh" +FILES:tcl-lib = "${libdir}/libtcl8.6.so.*" +FILES:${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8" +FILES:${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh" # isn't getting picked up by shlibs code -RDEPENDS_${PN} += "tcl-lib" -RDEPENDS_${PN}_class-native = "" -RDEPENDS_${PN}-ptest += "libgcc" +RDEPENDS:${PN} += "tcl-lib" +RDEPENDS:${PN}-ptest += "libgcc" BBCLASSEXTEND = "native nativesdk" @@ -77,8 +79,8 @@ do_compile_ptest() { do_install_ptest() { cp ${B}/tcltest ${D}${PTEST_PATH} - cp -r ${S}/../library ${D}${PTEST_PATH} - cp -r ${S}/../tests ${D}${PTEST_PATH} + cp -r ${S}/library ${D}${PTEST_PATH} + cp -r ${S}/tests ${D}${PTEST_PATH} } # Fix some paths that might be used by Tcl extensions |