mirror of
https://git.yoctoproject.org/poky
synced 2026-09-29 07:36:20 +02:00
Changes for APR 1.7.2
*) Correct a packaging issue in 1.7.1. The contents of the release were
correct, but the top level directory was misnamed.
Changes for APR 1.7.1
*) SECURITY: CVE-2022-24963 (cve.mitre.org)
Integer Overflow or Wraparound vulnerability in apr_encode functions of
Apache Portable Runtime (APR) allows an attacker to write beyond bounds
of a buffer.
*) SECURITY: CVE-2022-28331 (cve.mitre.org)
On Windows, Apache Portable Runtime 1.7.0 and earlier may write beyond
the end of a stack based buffer in apr_socket_sendv(). This is a result
of integer overflow.
*) SECURITY: CVE-2021-35940 (cve.mitre.org)
Restore fix for out-of-bounds array dereference in apr_time_exp*() functions.
(This issue was addressed as CVE-2017-12613 in APR 1.6.3 and
later 1.6.x releases, but was missing in 1.7.0.) [Stefan Sperling]
*) configure: Fix various build issues for compilers enforcing
strict C99 compliance. PR 66396, 66408, 66426.
[Florian Weimer <fweimer redhat.com>, Sam James <sam gentoo.org>]
*) apr_atomic_read64(): Fix non-atomic read on 32-bit Windows [Ivan Zhakov]
*) configure: Prefer posix name-based shared memory over SysV IPC.
[Jim Jagielski]
*) configure: Add --disable-sctp argument to forcibly disable SCTP
support, or --enable-sctp which fails if SCTP support is not
detected. [Lubos Uhliarik <luhliari redhat.com>, Joe Orton]
*) Fix handle leak in the Win32 apr_uid_current implementation.
PR 61165. [Ivan Zhakov]
*) Add error handling for lseek() failures in apr_file_write() and
apr_file_writev(). [Joe Orton]
*) Don't silently set APR_FOPEN_NOCLEANUP for apr_file_mktemp() created file
to avoid a fd and inode leak when/if later passed to apr_file_setaside().
[Yann Ylavic]
*) APR's configure script uses AC_TRY_RUN to detect whether the return type
of strerror_r is int. When cross-compiling this defaults to no.
This commit adds an AC_CACHE_CHECK so users who cross-compile APR may
influence the outcome with a configure variable. [Sebastian Kemper
<sebastian_ml gmx net>]
*) Add a cache check with which users who cross-compile APR
can influence the outcome of the /dev/zero test by setting the variable
ac_cv_mmap__dev_zero=yes [Sebastian Kemper <sebastian_ml gmx net>]
*) Trick autoconf into printing the correct default prefix in the help.
[Stefan Fritsch]
*) Don't try to use PROC_PTHREAD by default when cross compiling.
[Yann Ylavic]
*) Add the ability to cross compile APR. [Graham Leggett]
*) While cross-compiling, the tools/gen_test_char could not
be executed at build time, use AX_PROG_CC_FOR_BUILD to
build native tools/gen_test_char
Support explicit libtool by variable assigning before buildcheck.sh,
it is helpful for cross-compiling (such as libtool=aarch64-linux-libtool)
[Hongxu Jia <hongxu.jia windriver.com>]
*) Avoid an overflow on 32 bit platforms. [René Hjortskov Nielsen
<r... hjortskov.dk>]
*) Use AC_CHECK_SIZEOF, so as to support cross compiling. PR 56053.
[Mike Frysinger <vapier gentoo.org>]
*) Add --tag=CC to libtool invocations. PR 62640. [Michael Osipov]
*) apr_pools: Fix pool debugging output so that creation events are
always emitted before allocation events and subpool destruction
events are emitted on pool clear/destroy for proper accounting.
[Brane Čibej]
*) apr_socket_listen: Allow larger listen backlog values on Windows 8+.
[Evgeny Kotkov <evgeny.kotkov visualsvn.com>]
*) Fixed: apr_get_oslevel() was returning APR_WIN_XP on Windows 10
*) Fix attempt to free invalid memory on exit when apr_app is used
on Windows. [Ivan Zhakov]
*) Fix double free on exit when apr_app is used on Windows. [Ivan Zhakov]
*) Fix a regression in apr_stat() for root path on Windows. [Ivan Zhakov]
Dropped patches have all been merged, addressed separately or are backports.
(From OE-Core rev: 013633b9f4b7dff2616c6d2e59e4d8118e3ce51f)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3ffae93f24bb1e3954b232099153fd059cfd7daf)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit a308e10ef4ad9e097b025f009866eae178259781)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
136 lines
4.9 KiB
BlitzBasic
136 lines
4.9 KiB
BlitzBasic
SUMMARY = "Apache Portable Runtime (APR) library"
|
|
|
|
DESCRIPTION = "Create and maintain software libraries that provide a predictable \
|
|
and consistent interface to underlying platform-specific implementations."
|
|
|
|
HOMEPAGE = "http://apr.apache.org/"
|
|
SECTION = "libs"
|
|
DEPENDS = "util-linux"
|
|
|
|
LICENSE = "Apache-2.0"
|
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=4dfd4cd216828c8cae5de5a12f3844c8 \
|
|
file://include/apr_lib.h;endline=15;md5=823b3d1a7225df8f7b68a69c3c2b4c71"
|
|
|
|
BBCLASSEXTEND = "native nativesdk"
|
|
|
|
SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \
|
|
file://run-ptest \
|
|
file://0002-apr-Remove-workdir-path-references-from-installed-ap.patch \
|
|
file://0004-Fix-packet-discards-HTTP-redirect.patch \
|
|
file://0005-configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch \
|
|
file://0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch \
|
|
file://libtoolize_check.patch \
|
|
file://0001-Add-option-to-disable-timed-dependant-tests.patch \
|
|
file://0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch \
|
|
"
|
|
|
|
SRC_URI[sha256sum] = "75e77cc86776c030c0a5c408dfbd0bf2a0b75eed5351e52d5439fa1e5509a43e"
|
|
|
|
inherit autotools-brokensep lib_package binconfig multilib_header ptest multilib_script
|
|
|
|
OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
|
|
|
|
# Added to fix some issues with cmake. Refer to https://github.com/bmwcarit/meta-ros/issues/68#issuecomment-19896928
|
|
CACHED_CONFIGUREVARS += "apr_cv_mutex_recursive=yes"
|
|
# Enable largefile
|
|
CACHED_CONFIGUREVARS += "apr_cv_use_lfs64=yes"
|
|
# Additional AC_TRY_RUN tests which will need to be cached for cross compile
|
|
CACHED_CONFIGUREVARS += "apr_cv_epoll=yes epoll_create1=yes apr_cv_sock_cloexec=yes \
|
|
ac_cv_struct_rlimit=yes \
|
|
ac_cv_func_sem_open=yes \
|
|
apr_cv_process_shared_works=yes \
|
|
apr_cv_mutex_robust_shared=yes \
|
|
"
|
|
# Also suppress trying to use sctp.
|
|
#
|
|
CACHED_CONFIGUREVARS += "ac_cv_header_netinet_sctp_h=no ac_cv_header_netinet_sctp_uio_h=no"
|
|
|
|
# ac_cv_sizeof_struct_iovec is deduced using runtime check which will fail during cross-compile
|
|
CACHED_CONFIGUREVARS += "${@['ac_cv_sizeof_struct_iovec=16','ac_cv_sizeof_struct_iovec=8'][d.getVar('SITEINFO_BITS') != '32']}"
|
|
|
|
CACHED_CONFIGUREVARS += "ac_cv_file__dev_zero=yes"
|
|
|
|
CACHED_CONFIGUREVARS:append:libc-musl = " ac_cv_strerror_r_rc_int=yes"
|
|
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
|
|
PACKAGECONFIG:append:libc-musl = " xsi-strerror"
|
|
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
|
|
PACKAGECONFIG[timed-tests] = "--enable-timed-tests,--disable-timed-tests,"
|
|
PACKAGECONFIG[xsi-strerror] = "ac_cv_strerror_r_rc_int=yes,ac_cv_strerror_r_rc_int=no,"
|
|
|
|
do_configure_prepend() {
|
|
# Avoid absolute paths for grep since it causes failures
|
|
# when using sstate between different hosts with different
|
|
# install paths for grep.
|
|
export GREP="grep"
|
|
|
|
cd ${S}
|
|
# The "2" means libtool version 2.
|
|
./buildconf 2
|
|
}
|
|
|
|
MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apr-1-config \
|
|
${PN}-dev:${datadir}/build-1/apr_rules.mk"
|
|
|
|
FILES_${PN}-dev += "${libdir}/apr.exp ${datadir}/build-1/*"
|
|
RDEPENDS_${PN}-dev += "bash"
|
|
|
|
RDEPENDS_${PN}-ptest += "libgcc"
|
|
|
|
#for some reason, build/libtool.m4 handled by buildconf still be overwritten
|
|
#when autoconf, so handle it again.
|
|
do_configure_append() {
|
|
sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/libtool.m4
|
|
sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/apr_rules.mk
|
|
}
|
|
|
|
do_install_append() {
|
|
oe_multilib_header apr.h
|
|
install -d ${D}${datadir}/apr
|
|
}
|
|
|
|
do_install_append_class-target() {
|
|
sed -i -e 's,${DEBUG_PREFIX_MAP},,g' \
|
|
-e 's,${STAGING_DIR_HOST},,g' ${D}${datadir}/build-1/apr_rules.mk
|
|
sed -i -e 's,${STAGING_DIR_HOST},,g' \
|
|
-e 's,APR_SOURCE_DIR=.*,APR_SOURCE_DIR=,g' \
|
|
-e 's,APR_BUILD_DIR=.*,APR_BUILD_DIR=,g' ${D}${bindir}/apr-1-config
|
|
}
|
|
|
|
SSTATE_SCAN_FILES += "apr_rules.mk libtool"
|
|
|
|
SYSROOT_PREPROCESS_FUNCS += "apr_sysroot_preprocess"
|
|
|
|
apr_sysroot_preprocess () {
|
|
d=${SYSROOT_DESTDIR}${datadir}/apr
|
|
install -d $d/
|
|
cp ${S}/build/apr_rules.mk $d/
|
|
sed -i s,apr_builddir=.*,apr_builddir=,g $d/apr_rules.mk
|
|
sed -i s,apr_builders=.*,apr_builders=,g $d/apr_rules.mk
|
|
sed -i s,LIBTOOL=.*,LIBTOOL=${HOST_SYS}-libtool,g $d/apr_rules.mk
|
|
sed -i s,\$\(apr_builders\),${STAGING_DATADIR}/apr/,g $d/apr_rules.mk
|
|
cp ${S}/build/mkdir.sh $d/
|
|
cp ${S}/build/make_exports.awk $d/
|
|
cp ${S}/build/make_var_export.awk $d/
|
|
cp ${S}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${datadir}/build-1/libtool
|
|
}
|
|
|
|
do_compile_ptest() {
|
|
cd ${S}/test
|
|
oe_runmake
|
|
}
|
|
|
|
do_install_ptest() {
|
|
t=${D}${PTEST_PATH}/test
|
|
mkdir -p $t/.libs
|
|
cp -r ${S}/test/data $t/
|
|
cp -r ${S}/test/.libs/*.so $t/.libs/
|
|
cp ${S}/test/proc_child $t/
|
|
cp ${S}/test/readchild $t/
|
|
cp ${S}/test/sockchild $t/
|
|
cp ${S}/test/sockperf $t/
|
|
cp ${S}/test/testall $t/
|
|
cp ${S}/test/tryread $t/
|
|
}
|
|
|
|
export CONFIG_SHELL="/bin/bash"
|