diff options
author | ohauer <ohauer@FreeBSD.org> | 2014-03-23 05:14:41 +0800 |
---|---|---|
committer | ohauer <ohauer@FreeBSD.org> | 2014-03-23 05:14:41 +0800 |
commit | ace399466f2c0587461fc2bae6a4a91c747a8622 (patch) | |
tree | 600a858f12de666247b25837392efc99b021e63d /devel/apr1 | |
parent | a93a3c44c0b3d9446cb9b8442ba79d1d1a0e81e9 (diff) | |
download | freebsd-ports-graphics-ace399466f2c0587461fc2bae6a4a91c747a8622.tar.gz freebsd-ports-graphics-ace399466f2c0587461fc2bae6a4a91c747a8622.tar.zst freebsd-ports-graphics-ace399466f2c0587461fc2bae6a4a91c747a8622.zip |
- update to apr-1.5.0
- add fix for FreeBSD 10 obtained from
http://svn.apache.org/viewvc?view=revision&revision=1551672
- bump USE_BDB=42+ -> USE_BDB=48+ [1]
- add entry to UPDATING
Changes for APR 1.5.0 (shortened)
http://www.apache.org/dist/apr/CHANGES-APR-1.5
*) Add apr_sockaddr_is_wildcard() to check if a socket address
refers to the wildcard address for the protocol family (e.g.,
0.0.0.0/INADDR_ANY for IPv4). [Jeff Trawick]
*) Add the apr_escape interface. [Graham Leggett]
*) Add apr_skiplist family. [Jim Jagielski]
*) Add the apr_table_getm() call, which transparently handles the
merging of keys with multiple values. [Graham Leggett]
*) Add apr_hash_this_key(), apr_hash_this_key_len(), and
apr_hash_this_val() for easier access to those attributes from
a hash iterator. [Hyrum K. Wright <hyrum_wright mail.utexas.edu>]
*) Improve platform detection by updating config.guess and config.sub.
[Rainer Jung]
*) apr_socket_opt_set: Add support for APR_SO_BROADCAST. PR 46389.
[Armin MÃŒller <mueller itestra com>]
*) Enable platform specific support for the opening of a file or
pipe in non-blocking mode through the APR_FOPEN_NONBLOCK flag.
[Graham Leggett]
[1] requested by Pavel Timofeev, Sean Bruno
with hat apache@
PR: ports/186441
PR: ports/186899
Diffstat (limited to 'devel/apr1')
-rw-r--r-- | devel/apr1/Makefile | 16 | ||||
-rw-r--r-- | devel/apr1/distinfo | 4 | ||||
-rw-r--r-- | devel/apr1/files/patch-apr-1.5.0__network_io__unix__sockets.c | 44 | ||||
-rw-r--r-- | devel/apr1/files/patch-apr__configure | 10 | ||||
-rw-r--r-- | devel/apr1/pkg-plist | 2 |
5 files changed, 60 insertions, 16 deletions
diff --git a/devel/apr1/Makefile b/devel/apr1/Makefile index 7189a4ed7ac..31d596756af 100644 --- a/devel/apr1/Makefile +++ b/devel/apr1/Makefile @@ -26,7 +26,7 @@ NDBM_DESC= NDBM support SSL_DESC= OpenSSL crypto driver NSS_DESC= NSS crypto driver -APR_VERSION= 1.4.8 +APR_VERSION= 1.5.0 APU_VERSION= 1.5.3 USES= iconv pathfix @@ -38,7 +38,7 @@ APR_WRKDIR= ${WRKDIR}/apr-${APR_VERSION} APU_WRKDIR= ${WRKDIR}/apr-util-${APU_VERSION} PLIST_SUB+= SHLIB_APR_MAJOR="${SHLIB_APR_MAJOR}" SHLIB_APU_MAJOR="${SHLIB_APU_MAJOR}" -SHLIB_APR_MAJOR= 4 +SHLIB_APR_MAJOR= 5 SHLIB_APU_MAJOR= 5 APR_CONF_ARGS= --with-installbuilddir=${DATADIR}/build-1 @@ -81,7 +81,7 @@ APU_CONF_ARGS+= --without-gdbm .if ${PORT_OPTIONS:MBDB} APU_EXTRAS= yes PLIST_SUB+= BDB="" -USE_BDB= 42+ +USE_BDB= 48+ APU_CONF_ARGS+= --with-berkeley-db=${BDB_INCLUDE_DIR}:${BDB_LIB_DIR} .else PLIST_SUB+= BDB="@comment " @@ -200,19 +200,17 @@ post-patch: do-configure: @(cd ${APR_WRKDIR} && \ - ${SETENV} ${CONFIGURE_ENV} \ - ./configure ${CONFIGURE_ARGS} ${APR_CONF_ARGS}) + ${SETENV} ${CONFIGURE_ENV} ./configure ${CONFIGURE_ARGS} ${APR_CONF_ARGS}) @(cd ${APU_WRKDIR} && \ - ${SETENV} ${CONFIGURE_ENV} \ - ./configure ${CONFIGURE_ARGS} ${APU_CONF_ARGS}) + ${SETENV} ${CONFIGURE_ENV} ./configure ${CONFIGURE_ARGS} ${APU_CONF_ARGS}) do-build: @(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS}) @(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS}) do-install: - @(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET} ${MAKE_ARGS} ) - @(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET} ${MAKE_ARGS} ) + @(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET} ${MAKE_ARGS}) + @(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET} ${MAKE_ARGS}) test: build -@(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} test) diff --git a/devel/apr1/distinfo b/devel/apr1/distinfo index ff379f3d780..dbf6edd2a4f 100644 --- a/devel/apr1/distinfo +++ b/devel/apr1/distinfo @@ -1,4 +1,4 @@ -SHA256 (apr-1.4.8.tar.gz) = 1689e415bdfab6aaa41f07836b5dd9ed4901d22ddeb99feffdb2cee3124adf49 -SIZE (apr-1.4.8.tar.gz) = 979397 +SHA256 (apr-1.5.0.tar.gz) = 9879f02054cb22e99f605f6fdbf47f4c028af4cd4f351cf64186a7ee447f35d7 +SIZE (apr-1.5.0.tar.gz) = 1016391 SHA256 (apr-util-1.5.3.tar.gz) = 76db34cb508e346e3bf69347c29ed1500bf0b71bcc48d54271ad9d1c25703743 SIZE (apr-util-1.5.3.tar.gz) = 874462 diff --git a/devel/apr1/files/patch-apr-1.5.0__network_io__unix__sockets.c b/devel/apr1/files/patch-apr-1.5.0__network_io__unix__sockets.c new file mode 100644 index 00000000000..8efc31b71be --- /dev/null +++ b/devel/apr1/files/patch-apr-1.5.0__network_io__unix__sockets.c @@ -0,0 +1,44 @@ +Fix the inheritance of the non-blocking option across apr_socket_accept() +on FreeBSD 10 which was introduced with APR 1.5.0 through an unlikely +mechanism: + +* FreeBSD 10 introduced accept4(). APR uses accept4() where it can find it. + accept4() on Linux and FreeBSD 10 both have a SOCK_NONBLOCK flag, but on + FreeBSD 10 the SOCK_NONBLOCK is the sole determiner of whether or not the + connected socket is non-blocking. +* clang is normally used on FreeBSD 10. +* APR's configure-time check for inherited O_NONBLOCK didn't work with clang, + so initially the lack of inheritance across accept4() wasn't a problem. +* APR 1.5.0 allowed the configure-time check to work with clang, exposing + the bad expectation about accept4() matching the accept() behavior. + +With FreeBSD accept4() (avail in 10+), O_NONBLOCK is not inherited +(unlike Linux). Mimic the accept() behavior here in a way that +may help other platforms as well. + +http://svn.apache.org/viewvc?view=revision&revision=1551672 +=================================================================================== +--- ./apr-1.5.0/network_io/unix/sockets.c.orig 2011-03-23 19:50:21.000000000 +0100 ++++ ./apr-1.5.0/network_io/unix/sockets.c 2014-03-22 18:52:57.000000000 +0100 +@@ -207,7 +207,20 @@ + sa.salen = sizeof(sa.sa); + + #ifdef HAVE_ACCEPT4 +- s = accept4(sock->socketdes, (struct sockaddr *)&sa.sa, &sa.salen, SOCK_CLOEXEC); ++ { ++ int flags = SOCK_CLOEXEC; ++ ++#if defined(SOCK_NONBLOCK) && APR_O_NONBLOCK_INHERITED ++ /* With FreeBSD accept4() (avail in 10+), O_NONBLOCK is not inherited ++ * (unlike Linux). Mimic the accept() behavior here in a way that ++ * may help other platforms. ++ */ ++ if (apr_is_option_set(sock, APR_SO_NONBLOCK) == 1) { ++ flags |= SOCK_NONBLOCK; ++ } ++#endif ++ s = accept4(sock->socketdes, (struct sockaddr *)&sa.sa, &sa.salen, flags); ++ } + #else + s = accept(sock->socketdes, (struct sockaddr *)&sa.sa, &sa.salen); + #endif diff --git a/devel/apr1/files/patch-apr__configure b/devel/apr1/files/patch-apr__configure index 45cc997a0ce..e0aaf541cd5 100644 --- a/devel/apr1/files/patch-apr__configure +++ b/devel/apr1/files/patch-apr__configure @@ -1,6 +1,6 @@ ---- ./apr-1.4.8/configure.orig 2013-06-30 12:29:38.000000000 +0200 -+++ ./apr-1.4.8/configure 2013-06-30 12:32:04.000000000 +0200 -@@ -6642,11 +6642,7 @@ +--- ./apr-1.5.0/configure.orig 2014-03-22 18:52:57.000000000 +0100 ++++ ./apr-1.5.0/configure 2014-03-22 18:52:57.000000000 +0100 +@@ -6622,11 +6622,7 @@ apr_lock_method="USE_FLOCK_SERIALIZE" fi @@ -13,7 +13,7 @@ # 502102 is when libc_r switched to libpthread (aka libkse). if test $os_version -ge "502102"; then apr_cv_pthreads_cflags="none" -@@ -18784,11 +18780,7 @@ +@@ -18812,11 +18808,7 @@ # comparisons. case $host in *freebsd*) @@ -25,4 +25,4 @@ + os_version="OSVERSION" ;; *linux*) - os_version=`uname -r | sed -e 's/\(.\)\.\(.\)\.\(.\).*/\1\2\3/'` + os_major=`uname -r | sed -e 's/\([1-9][0-9]*\)\..*/\1/'` diff --git a/devel/apr1/pkg-plist b/devel/apr1/pkg-plist index 2e055279f92..9e06571f2d7 100644 --- a/devel/apr1/pkg-plist +++ b/devel/apr1/pkg-plist @@ -13,6 +13,7 @@ include/apr-1/apr_dbm.h include/apr-1/apr_dso.h include/apr-1/apr_env.h include/apr-1/apr_errno.h +include/apr-1/apr_escape.h include/apr-1/apr_file_info.h include/apr-1/apr_file_io.h include/apr-1/apr_fnmatch.h @@ -48,6 +49,7 @@ include/apr-1/apr_sdbm.h include/apr-1/apr_sha1.h include/apr-1/apr_shm.h include/apr-1/apr_signal.h +include/apr-1/apr_skiplist.h include/apr-1/apr_strings.h include/apr-1/apr_strmatch.h include/apr-1/apr_support.h |