@@ -210,7 +210,6 @@ RECIPE_MAINTAINER:pn-glibc = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-glibc-locale = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-glibc-mtrace = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-glibc-scripts = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER:pn-glibc-y2038-tests = "Lukasz Majewski <lukma@denx.de>"
RECIPE_MAINTAINER:pn-glibc-testsuite = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gmp = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-glslang = "Jose Quaresma <quaresma.jose@gmail.com>"
@@ -81,8 +81,6 @@ PTESTS_FAST = "\
zlib \
libexif \
"
-PTESTS_FAST:append:libc-glibc = " glibc-y2038-tests"
-PTESTS_PROBLEMS:remove:libc-glibc = "glibc-y2038-tests"
PTESTS_FAST:remove:mips64 = "qemu"
PTESTS_PROBLEMS:append:mips64 = " qemu"
PTESTS_FAST:remove:riscv32 = "qemu"
@@ -19,7 +19,6 @@ TARGET_CC_ARCH:append:powerpc = "${@bb.utils.contains('TUNE_FEATURES', 'm32', '$
TARGET_CC_ARCH:append:x86 = "${@bb.utils.contains('TUNE_FEATURES', 'm32', '${GLIBC_64BIT_TIME_FLAGS}', '', d)}"
GLIBC_64BIT_TIME_FLAGS:pn-glibc = ""
-GLIBC_64BIT_TIME_FLAGS:pn-glibc-y2038-tests = ""
GLIBC_64BIT_TIME_FLAGS:pn-glibc-testsuite = ""
# pipewire-v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
# both 32 and 64 bit file APIs. But it does not handle the time side?
@@ -36,7 +35,6 @@ GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
# Caused by the flags exceptions above
INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time"
INSANE_SKIP:append:pn-glibc = " 32bit-time"
-INSANE_SKIP:append:pn-glibc-y2038-tests = " 32bit-time"
INSANE_SKIP:append:pn-pulseaudio = " 32bit-time"
# Strace has tests that call 32 bit API directly, which is fair enough, e.g.
deleted file mode 100644
@@ -1,119 +0,0 @@
-require glibc_${PV}.bb
-require glibc-tests.inc
-
-inherit ptest features_check
-REQUIRED_DISTRO_FEATURES = "ptest"
-
-SRC_URI += "\
- file://run-ptest \
-"
-
-SUMMARY = "glibc tests using time32/time64 interfaces to be run with ptest for the purpose of checking y2038 compatiblity"
-
-# Erase some variables already set by glibc_${PV}
-python __anonymous() {
- # Remove packages provided by glibc build, we only need a subset of them
- d.setVar("PACKAGES", "${PN} ${PN}-ptest")
-
- d.setVar("PROVIDES", "${PN} ${PN}-ptest")
-
- bbclassextend = d.getVar("BBCLASSEXTEND").replace("nativesdk", "").strip()
- d.setVar("BBCLASSEXTEND", bbclassextend)
- d.setVar("RRECOMMENDS", "")
- d.setVar("SYSTEMD_SERVICE:nscd", "")
- d.setVar("SYSTEMD_PACKAGES", "")
-}
-
-# Remove any leftovers from original glibc recipe
-RPROVIDES:${PN} = "${PN}"
-RRECOMMENDS:${PN} = ""
-RDEPENDS:${PN} = "glibc libgcc sed bash"
-RDEPENDS:${PN}-ptest = "${PN}"
-DEPENDS += "sed"
-
-export oe_srcdir="${exec_prefix}/src/debug/glibc/${PV}/"
-
-# Just build tests for target - do not run them
-do_check:append () {
- oe_runmake -i check run-built-tests=no
-}
-addtask do_check after do_compile before do_install_ptest_base
-
-glibc_strip_build_directory () {
- # Delete all non executable files from build directory
- find ${B} ! -executable -type f -delete
-
- # Remove build dynamic libraries and links to them as
- # those are already installed in the target device
- find ${B} -type f -name "*.so" -delete
- find ${B} -type l -name "*.so*" -delete
-
- # Remove headers (installed with glibc)
- find ${B} -type f -name "*.h" -delete
-
- find ${B} -type f -name "isomac" -delete
- find ${B} -type f -name "annexc" -delete
-}
-
-do_install_ptest_base () {
- glibc_strip_build_directory
-
- ls -r ${B}/*/*-time64 > ${B}/tst_time64
-
- # Remove '-time64' suffix - those tests are also time related
- sed -e "s/-time64$//" ${B}/tst_time64 > ${B}/tst_time_tmp
- tst_time=$(cat ${B}/tst_time_tmp ${B}/tst_time64)
-
- rm ${B}/tst_time_tmp ${B}/tst_time64
- echo "${tst_time}"
-
- # Install build test programs to the image
- install -d ${D}${PTEST_PATH}/tests/glibc-ptest/
-
- for f in "${tst_time}"
- do
- cp -r ${f} ${D}${PTEST_PATH}/tests/glibc-ptest/
- done
-
- install -d ${D}${PTEST_PATH}
- cp ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/
-
-}
-
-# The datadir directory is required to allow core (and reused)
-# glibc cleanup function to finish correctly, as this directory
-# is not created for ptests
-stash_locale_package_cleanup:prepend () {
- mkdir -p ${PKGD}${datadir}
-}
-
-stash_locale_sysroot_cleanup:prepend () {
- mkdir -p ${SYSROOT_DESTDIR}${datadir}
-}
-
-# Prevent the do_package() task to set 'libc6' prefix
-# for glibc tests related packages
-python populate_packages:prepend () {
- if d.getVar('DEBIAN_NAMES'):
- d.setVar('DEBIAN_NAMES', '')
-}
-
-FILES:${PN} = "${PTEST_PATH}/* /usr/src/debug/${PN}/*"
-
-EXCLUDE_FROM_SHLIBS = "1"
-
-# Install debug data in .debug and sources in /usr/src/debug
-# It is more handy to have _all_ the sources and symbols in one
-# place (package) as this recipe will be used for validation and
-# debugging.
-PACKAGE_DEBUG_SPLIT_STYLE = ".debug"
-
-# glibc test cases violate by default some Yocto/OE checks (staticdev,
-# textrel)
-# 'debug-files' - add everything (including debug) into one package
-# (no need to install/build *-src package)
-INSANE_SKIP:${PN} += "staticdev textrel debug-files rpaths"
-
-deltask do_stash_locale
-do_install[noexec] = "1"
-do_populate_sysroot[noexec] = "1"
deleted file mode 100755
@@ -1,37 +0,0 @@
-#!/bin/bash
-# ptest script for glibc - to run time related tests to
-# facilitate Y2038 validation
-# Run with 'ptest-runner glibc-tests'
-
-output() {
- retcode=$?
- if [ $retcode -eq 0 ]
- then echo "PASS: $i"
- elif [ $retcode -eq 77 ]
- then echo "SKIP: $i"
- else echo "FAIL: $i"
- fi
-}
-
-# Allow altering time on the target
-export GLIBC_TEST_ALLOW_TIME_SETTING="1"
-
-tst_time64=$(ls -r ${PWD}/tests/glibc-ptest/*-time64)
-
-# Remove '-time64' suffix - those tests are also time
-# related
-tst_time_tmp=$(sed -e "s/-time64$//" <<< ${tst_time64})
-
-# Do not run tests supporting only 32 bit time
-#for i in ${tst_time_tmp}
-#do
-# $i >/dev/null 2>&1
-# output
-#done
-
-# Run tests supporting only 64 bit time
-for i in ${tst_time64}
-do
- $i >/dev/null 2>&1
- output
-done
This recipe takes longer time >20min when bitbake for package write stage. When cross-verified for longer time duration, found that do_check() stage taking 20min while other stages completes before 6min. This recipe gives only below two test binaries in the packages to test (ptest: glibc-y2038-tests): io/ftwtest io/ftwtest-time64 The above test binaries are already included for testing in recipe glibc-testsuite_2.39.bb. It is by now well established that glibc itself works as it should, that all affected 32 bit targets are configured to use 64 bit time_t, and that any lingering y2038 issues are in components other than the c library, and usually come from C programming mistakes (e.g. storing timestamps in long). So this recipe seems to be redundant and can be removed. Review comments for fixing above longer time duration ended up in removing this recipe as a proposal is below https://lists.openembedded.org/g/openembedded-core/topic/112188476#msg214636 Removed lines having reference to glibc-y2038-tests in the files. For master branch requested for integration and below is the link https://lists.openembedded.org/g/openembedded-core/message/215655 Signed-off-by: rajmohan r <semc.2042@gmail.com> --- meta/conf/distro/include/maintainers.inc | 1 - .../distro/include/ptest-packagelists.inc | 2 - meta/conf/distro/include/time64.inc | 2 - .../glibc/glibc-y2038-tests_2.39.bb | 119 ------------------ meta/recipes-core/glibc/glibc/run-ptest | 37 ------ 5 files changed, 161 deletions(-) delete mode 100644 meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb delete mode 100755 meta/recipes-core/glibc/glibc/run-ptest