diff --git a/devel/apr1/Makefile b/devel/apr1/Makefile index 2a42b0e29404..a0d38280d704 100644 --- a/devel/apr1/Makefile +++ b/devel/apr1/Makefile @@ -1,191 +1,190 @@ PORTNAME= apr PORTVERSION= ${APR_VERSION}.${APU_VERSION} -PORTREVISION= 5 CATEGORIES= devel MASTER_SITES= APACHE/apr -DISTFILES= apr-${APR_VERSION}.tar.gz \ - apr-util-${APU_VERSION}.tar.gz +DISTFILES= apr-${APR_VERSION}.tar.bz2 \ + apr-util-${APU_VERSION}.tar.bz2 MAINTAINER= apache@FreeBSD.org COMMENT= Apache Portability Library WWW= https://apr.apache.org/ LICENSE= APACHE20 LIB_DEPENDS= libexpat.so:textproc/expat2 -USES= autoreconf iconv pathfix libtool cpe +USES= autoreconf iconv pathfix libtool cpe tar:bz2 USE_LDCONFIG= yes GNU_CONFIGURE= yes -APR_VERSION= 1.7.5 +APR_VERSION= 1.7.6 APU_VERSION= 1.6.3 CPE_VENDOR= apache CPE_PRODUCT= apr-util CPE_VERSION= ${APU_VERSION} OPTIONS_SUB= yes OPTIONS_GROUP= APU OPTIONS_DEFINE= IPV6 OPTIONS_GROUP_APU= GDBM LDAP MYSQL NDBM ODBC PGSQL SQLITE OPTIONS_RADIO= BERKELEYDB CRYPTO OPTIONS_RADIO_BERKELEYDB= BDB1 BDB5 BDB18 OPTIONS_RADIO_CRYPTO= SSL NSS OPTIONS_DEFAULT= BDB1 GDBM SSL APU_DESC= Database support BDB1_DESC= Berkeley DB 1.85 support (BSD 3-clause) BDB5_DESC= Berkeley DB v5 support (deprecated) BDB18_DESC= Berkeley DB 18.x support (AGPLv3) BERKELEYDB_DESC= Berkeley DB provider CRYPTO_DESC= Cryptography provider NDBM_DESC= NDBM support NSS_DESC= NSS crypto driver SSL_DESC= OpenSSL crypto driver # APR-Util Options BDB5_USES= bdb:5 BDB18_USES= bdb:18 GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm LDAP_USES= ldap MYSQL_USES= mysql NSS_LIB_DEPENDS= libnss3.so:security/nss ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC PGSQL_USES= pgsql SQLITE_USES= sqlite SSL_USES= ssl APR_WRKDIR= ${WRKDIR}/apr-${APR_VERSION} APU_WRKDIR= ${WRKDIR}/apr-util-${APU_VERSION} WRKSRC= ${APR_WRKDIR} PATCH_WRKSRC= ${WRKDIR} PATHFIX_WRKSRC= ${WRKDIR} SHLIB_APR_MAJOR=${APR_VERSION:C/^1/0/} SHLIB_APU_MAJOR=${APU_VERSION:C/^1/0/} PLIST_SUB+= SHLIB_APR_MAJOR="${SHLIB_APR_MAJOR}" \ SHLIB_APU_MAJOR="${SHLIB_APU_MAJOR}" APR_CONF_ARGS= --with-installbuilddir=${DATADIR}/build-1 \ --enable-threads \ --enable-posix-shm \ --with-devrandom APU_CONF_ARGS= --with-apr=${APR_WRKDIR} \ --with-expat=${LOCALBASE} ########## APR Options IPV6_VARS= APR_CONF_ARGS+=--enable-ipv6 IPV6_VARS_OFF= APR_CONF_ARGS+=--disable-ipv6 ######### APR-Util Options # make sure 1st include is "${APR_WRKDIR}/include" # to avoid failures if previous apr_version.h is present APU_CPPFLAGS= -I${APR_WRKDIR}/include BDB1_VARS= LICENSE_COMB=dual LICENSE+=BSD4CLAUSE \ APU_CONF_ARGS+="--with-berkeley-db=/usr/include:/usr/lib \ --with-dbm=db1" BDB5_VARS= APU_CONF_ARGS+="--with-berkeley-db=${BDB_INCLUDE_DIR}:${BDB_LIB_DIR} \ --with-dbm=db5" BDB18_VARS= LICENSE_COMB=dual LICENSE+=AGPLv3 \ APU_CONF_ARGS+="--with-berkeley-db=${BDB_INCLUDE_DIR}:${BDB_LIB_DIR} \ --with-dbm=db185" GDBM_VARS= APU_CONF_ARGS+=--with-gdbm=${LOCALBASE} LDAP_VARS= APU_CONF_ARGS+="--with-ldap-include=${LOCALBASE}/include \ --with-ldap-lib=${LOCALBASE}/lib --with-ldap=ldap" MYSQL_VARS= APU_CONF_ARGS+=--with-mysql=${LOCALBASE} \ APU_CPPFLAGS+="-I${LOCALBASE}/include -I${LOCALBASE}/include/mysql -DHAVE_MYSQL_H" \ LIBS+=-L${LOCALBASE}/lib/mysql NDBM_VARS= APU_CONF_ARGS+=--with-ndbm=/usr NSS_VARS= APU_CONF_ARGS+=--with-nss=${LOCALBASE} \ APU_CPPFLAGS+=-I${LOCALBASE}/include/nss \ LDFLAGS+=-L${LOCALBASE}/lib/nss ODBC_VARS= APU_CONF_ARGS+=--with-odbc=${LOCALBASE} SSL_VARS= APU_CONF_ARGS+=--with-openssl=${OPENSSLBASE} \ APU_CPPFLAGS+=-I${OPENSSLINC} \ LDFLAGS+=-L${OPENSSLLIB} SSL_VARS_OFF= APU_CONF_ARGS+=--without-openssl PGSQL_VARS= APU_CONF_ARGS+=--with-pgsql=${LOCALBASE} \ APU_CONF_ENV+=ac_cv_path_PGSQL_CONFIG="" SQLITE_VARS= APU_CONF_ARGS+=--with-sqlite3=${LOCALBASE} SQLITE_VARS_OFF= APU_CONF_ARGS+=--without-sqlite3 .for db in GDBM NDBM LDAP ODBC MYSQL NSS PGSQL ${db}_VARS_OFF= APU_CONF_ARGS+=--without-${db:tl} .endfor APR_CONF_ENV+= ${CONFIGURE_ENV:O:u} CC="${CC}" CC_FOR_BUILD="${CC}" \ CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" # include apu specific CPPFLAGS 1st! APU_CONF_ENV+= ${CONFIGURE_ENV:O:u} CC="${CC}" CFLAGS="${CFLAGS}" CPPFLAGS="${APU_CPPFLAGS} ${CPPFLAGS}" .include .if !${PORT_OPTIONS:MBDB1} && !${PORT_OPTIONS:MBDB18} && !${PORT_OPTIONS:MBDB5} APU_CONF_ARGS+= --without-berkeley-db PLIST_SUB+= BERKELEYDB="@comment " .else PLIST_SUB+= BERKELEYDB="" .endif .if ${PORT_OPTIONS:MSSL} || ${PORT_OPTIONS:MNSS} APU_CONF_ARGS+= --with-crypto .else APU_CONF_ARGS+= --without-crypto .endif .include post-extract: # cleanup files not used on this platform @${FIND} ${WRKDIR} -type f \( -name 'NWGNU*' -o -name '*.ds?' -o -name '*.dep' -o -name '*.mak' -o -name '*.win' \) -delete post-patch: @${REINPLACE_CMD} -e 's/OSVERSION/${OSVERSION}/g' \ ${APR_WRKDIR}/configure do-configure: @${ECHO_MSG} "# ===> ${.TARGET} apr-${APR_VERSION}" (cd ${APR_WRKDIR} && \ ${SETENV} ${APR_CONF_ENV} ./configure ${APR_CONF_ARGS} ${CONFIGURE_ARGS}) @${ECHO_MSG} "# ===> ${.TARGET} apr-util-${APU_VERSION}" (cd ${APU_WRKDIR} && \ autoreconf -f -i && \ ${SETENV} ${APU_CONF_ENV} ./configure ${APU_CONF_ARGS} ${CONFIGURE_ARGS}) do-build: @${ECHO_MSG} "# ===> ${.TARGET} apr-${APR_VERSION}" (cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS}) @${ECHO_MSG} "# ===> ${.TARGET} apr-util-${APU_VERSION}" (cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS}) pre-install: # always create the modules directory @${MKDIR} ${STAGEDIR}${PREFIX}/lib/apr-util-1 ${ECHO} "keep me" > ${STAGEDIR}${PREFIX}/lib/apr-util-1/.keep.me do-install: @${ECHO_MSG} "# ===> ${.TARGET} apr-${APR_VERSION}" (cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${INSTALL_TARGET} ${MAKE_ARGS}) @${ECHO_MSG} "# ===> ${.TARGET} apr-util-${APU_VERSION}" (cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${INSTALL_TARGET} ${MAKE_ARGS}) -${FIND} ${STAGEDIR}${PREFIX}/lib/ -name \*.so | ${XARGS} ${STRIP_CMD} do-test: @${ECHO_MSG} "# ===> ${.TARGET} apr-${APR_VERSION}" -(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} test) @${ECHO_MSG} "# ===> ${.TARGET} apr-util-${APU_VERSION}" -(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} test) #regression-test: test rpfl: configure # maintainer only: strip PID from logs (better compare) ${SED} -i '' -E 's|^configure:[0-9]+:|configure:_pid_:|g' ${APR_WRKDIR}/config.log ${SED} -i '' -E 's|^configure:[0-9]+:|configure:_pid_:|g' ${APU_WRKDIR}/config.log .include diff --git a/devel/apr1/distinfo b/devel/apr1/distinfo index 716d97d895f7..6436e8556d46 100644 --- a/devel/apr1/distinfo +++ b/devel/apr1/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1728804933 -SHA256 (apr-1.7.5.tar.gz) = 3375fa365d67bcf945e52b52cba07abea57ef530f40b281ffbe977a9251361db -SIZE (apr-1.7.5.tar.gz) = 1131871 -SHA256 (apr-util-1.6.3.tar.gz) = 2b74d8932703826862ca305b094eef2983c27b39d5c9414442e9976a9acf1983 -SIZE (apr-util-1.6.3.tar.gz) = 556623 +TIMESTAMP = 1767947054 +SHA256 (apr-1.7.6.tar.bz2) = 49030d92d2575da735791b496dc322f3ce5cff9494779ba8cc28c7f46c5deb32 +SIZE (apr-1.7.6.tar.bz2) = 899670 +SHA256 (apr-util-1.6.3.tar.bz2) = a41076e3710746326c3945042994ad9a4fcac0ce0277dd8fea076fec3c9772b5 +SIZE (apr-util-1.6.3.tar.bz2) = 432692 diff --git a/devel/apr1/files/patch-apr-1.7.5_configure b/devel/apr1/files/patch-apr-1.7.6_configure similarity index 91% rename from devel/apr1/files/patch-apr-1.7.5_configure rename to devel/apr1/files/patch-apr-1.7.6_configure index 1683dce7eef2..b25826f2a4a9 100644 --- a/devel/apr1/files/patch-apr-1.7.5_configure +++ b/devel/apr1/files/patch-apr-1.7.6_configure @@ -1,28 +1,28 @@ ---- apr-1.7.5/configure.orig 2015-04-25 12:04:18 UTC -+++ apr-1.7.5/configure +--- apr-1.7.6/configure.orig 2015-04-25 12:04:18 UTC ++++ apr-1.7.6/configure @@ -6624,11 +6624,7 @@ if test "x$apr_preload_done" != "xyes" ; apr_lock_method="USE_FLOCK_SERIALIZE" fi - if test -x /sbin/sysctl; then - os_version=`/sbin/sysctl -n kern.osreldate` - else - os_version=000000 - fi + os_version="OSVERSION" # 502102 is when libc_r switched to libpthread (aka libkse). if test $os_version -ge "502102"; then apr_cv_pthreads_cflags="none" @@ -18841,11 +18837,7 @@ fi # comparisons. case $host in *freebsd*) - if test -x /sbin/sysctl; then - os_version=`/sbin/sysctl -n kern.osreldate` - else - os_version=000000 - fi + os_version="OSVERSION" ;; *linux*) os_major=`uname -r | sed -e 's/\([1-9][0-9]*\)\..*/\1/'` diff --git a/devel/apr1/files/patch-apr-1.7.5_poll_unix_kqueue.c b/devel/apr1/files/patch-apr-1.7.6_poll_unix_kqueue.c similarity index 96% rename from devel/apr1/files/patch-apr-1.7.5_poll_unix_kqueue.c rename to devel/apr1/files/patch-apr-1.7.6_poll_unix_kqueue.c index f06ebc948b52..302c9f5fbd18 100644 --- a/devel/apr1/files/patch-apr-1.7.5_poll_unix_kqueue.c +++ b/devel/apr1/files/patch-apr-1.7.6_poll_unix_kqueue.c @@ -1,77 +1,77 @@ # upstram PR: https://bz.apache.org/bugzilla/show_bug.cgi?id=59914 # FreeBSD PR: 211430 ======================================================================== ---- apr-1.7.5/poll/unix/kqueue.c.orig 2022-01-19 23:17:18 UTC -+++ apr-1.7.5/poll/unix/kqueue.c +--- apr-1.7.6/poll/unix/kqueue.c.orig 2022-01-19 23:17:18 UTC ++++ apr-1.7.6/poll/unix/kqueue.c @@ -25,21 +25,40 @@ #ifdef HAVE_KQUEUE -static apr_int16_t get_kqueue_revent(apr_int16_t event, apr_int16_t flags) +static apr_int16_t get_kqueue_revent(apr_int16_t event, apr_int16_t flags, + int fflags, intptr_t data) { apr_int16_t rv = 0; - if (event == EVFILT_READ) - rv |= APR_POLLIN; - else if (event == EVFILT_WRITE) - rv |= APR_POLLOUT; - if (flags & EV_EOF) - rv |= APR_POLLHUP; - /* APR_POLLPRI, APR_POLLERR, and APR_POLLNVAL are not handled by this - * implementation. + /* APR_POLLPRI and APR_POLLNVAL are not handled by this implementation. * TODO: See if EV_ERROR + certain system errors in the returned data field * should map to APR_POLLNVAL. */ + if (event == EVFILT_READ) { + if (data > 0 || fflags == 0) + rv |= APR_POLLIN; + else + rv |= APR_POLLERR; + /* + * Don't return POLLHUP if connect fails. Apparently Linux + * does not, and this is expected by serf in order for IPv6 to + * IPv4 or multihomed host fallback to work. + * + * ETIMEDOUT is ambiguous here since we don't know if a + * connection was established. We don't want to return + * POLLHUP here if the connection attempt timed out, but + * we do if the connection was successful but later dropped. + * For now, favor the latter. + */ + if ((flags & EV_EOF) != 0 && fflags != ECONNREFUSED && + fflags != ENETUNREACH && fflags != EHOSTUNREACH) + rv |= APR_POLLHUP; + } else if (event == EVFILT_WRITE) { + if (data > 0 || fflags == 0) + rv |= APR_POLLOUT; + else + rv |= APR_POLLERR; + } return rv; } @@ -293,7 +312,9 @@ static apr_status_t impl_pollset_poll(apr_pollset_t *p pollset->p->result_set[j] = *fd; pollset->p->result_set[j].rtnevents = get_kqueue_revent(pollset->p->ke_set[i].filter, - pollset->p->ke_set[i].flags); + pollset->p->ke_set[i].flags, + pollset->p->ke_set[i].fflags, + pollset->p->ke_set[i].data); j++; } } @@ -478,7 +499,9 @@ static apr_status_t impl_pollcb_poll(apr_pollcb_t *pol } pollfd->rtnevents = get_kqueue_revent(pollcb->pollset.ke[i].filter, - pollcb->pollset.ke[i].flags); + pollcb->pollset.ke[i].flags, + pollcb->pollset.ke[i].fflags, + pollcb->pollset.ke[i].data); rv = func(baton, pollfd); diff --git a/devel/apr1/files/patch-support_unix_waitio.c b/devel/apr1/files/patch-apr-1.7.6_support_unix_waitio.c similarity index 77% rename from devel/apr1/files/patch-support_unix_waitio.c rename to devel/apr1/files/patch-apr-1.7.6_support_unix_waitio.c index 0b1e17d43360..e451fc26a763 100644 --- a/devel/apr1/files/patch-support_unix_waitio.c +++ b/devel/apr1/files/patch-apr-1.7.6_support_unix_waitio.c @@ -1,14 +1,14 @@ ---- apr-1.7.5/support/unix/waitio.c (revision 1921905) -+++ apr-1.7.5/support/unix/waitio.c (working copy) +--- apr-1.7.6/support/unix/waitio.c (revision 1921905) ++++ apr-1.7.6/support/unix/waitio.c (working copy) @@ -46,7 +46,10 @@ apr_status_t apr_wait_for_io_or_timeout(apr_file_t pfd.fd = f ? f->filedes : s->socketdes; pfd.events = for_read ? POLLIN : POLLOUT; - if (timeout > 0) { + if (timeout < 0) { + timeout = -1; + } + else if (timeout > 0) { timeout = (timeout + 999) / 1000; } do { diff --git a/devel/apr1/files/patch-PR59332 b/devel/apr1/files/patch-apr-util-1.6.3_dbd_apr__dbd__mysql.c similarity index 100% rename from devel/apr1/files/patch-PR59332 rename to devel/apr1/files/patch-apr-util-1.6.3_dbd_apr__dbd__mysql.c diff --git a/devel/apr1/files/patch-my_init b/devel/apr1/files/patch-apr-util-1.6.3_my__init similarity index 100% rename from devel/apr1/files/patch-my_init rename to devel/apr1/files/patch-apr-util-1.6.3_my__init