Index: branches/2016Q3/devel/apr1/Makefile =================================================================== --- branches/2016Q3/devel/apr1/Makefile (revision 419730) +++ branches/2016Q3/devel/apr1/Makefile (revision 419731) @@ -1,223 +1,223 @@ # Created by: Garrett Rooney # $FreeBSD$ PORTNAME= apr PORTVERSION= ${APR_VERSION}.${APU_VERSION} +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= APACHE/apr DISTFILES= apr-${APR_VERSION}.tar.gz \ apr-util-${APU_VERSION}.tar.gz MAINTAINER= apache@FreeBSD.org COMMENT= Apache Portability Library LICENSE= APACHE20 LIB_DEPENDS= libexpat.so:textproc/expat2 USES= iconv pathfix libtool cpe USE_LDCONFIG= yes GNU_CONFIGURE= yes APR_VERSION= 1.5.2 APU_VERSION= 1.5.4 CPE_VENDOR= apache CPE_PRODUCT= apr-util CPE_VERSION= ${APU_VERSION} OPTIONS_SUB= yes OPTIONS_GROUP= APR APU OPTIONS_GROUP_APR= IPV6 DEVRANDOM OPTIONS_GROUP_APU= BDB GDBM LDAP MYSQL NDBM PGSQL SQLITE FREETDS OPTIONS_RADIO= CRYPTO OPTIONS_RADIO_CRYPTO= SSL NSS OPTIONS_DEFAULT= DEVRANDOM BDB GDBM SSL DEVRANDOM_DESC= Use /dev/random or compatible NDBM_DESC= NDBM support NSS_DESC= NSS crypto driver SSL_DESC= OpenSSL crypto driver # APR-Util Options -BDB_USE= BDB=5+ +BDB_USES= bdb:5+ FREETDS_LIB_DEPENDS= libsybdb.so:databases/freetds GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm LDAP_USE= OPENLDAP=yes MYSQL_USE= MYSQL=yes NSS_LIB_DEPENDS= libnss3.so:security/nss PGSQL_USES= pgsql SQLITE_USES= sqlite -SSL_USE= OPENSSL=yes +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 APU_CONF_ARGS= --with-apr=${APR_WRKDIR} \ --with-expat=${LOCALBASE} \ --with-iconv=${ICONV_PREFIX} .include ########## APR Options .if ${PORT_OPTIONS:MIPV6} APR_CONF_ARGS+= --enable-ipv6 .else APR_CONF_ARGS+= --disable-ipv6 .endif .if ${PORT_OPTIONS:MDEVRANDOM} APR_CONF_ARGS+= --with-devrandom .else APR_CONF_ARGS+= --without-devrandom .endif ######### 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 .if ${PORT_OPTIONS:MGDBM} APU_CONF_ARGS+= --with-gdbm=${LOCALBASE} .else APU_CONF_ARGS+= --without-gdbm .endif .if ${PORT_OPTIONS:MBDB} APU_CONF_ARGS+= --with-berkeley-db=${BDB_INCLUDE_DIR}:${BDB_LIB_DIR} .else APU_CONF_ARGS+= --without-berkeley-db .endif .if ${PORT_OPTIONS:MNDBM} APU_CONF_ARGS+= --with-ndbm=/usr .else APU_CONF_ARGS+= --without-ndbm .endif .if ${PORT_OPTIONS:MLDAP} APU_CONF_ARGS+= --with-ldap-include=${LOCALBASE}/include \ --with-ldap-lib=${LOCALBASE}/lib --with-ldap=ldap .else APU_CONF_ARGS+= --without-ldap .endif .if ${PORT_OPTIONS:MFREETDS} APU_CONF_ARGS+= --with-freetds=${LOCALBASE} .else APU_CONF_ARGS+= --without-freetds .endif .if ${PORT_OPTIONS:MMYSQL} APU_CONF_ARGS+= --with-mysql=${LOCALBASE} APU_CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/mysql -DHAVE_MYSQL_H LIBS+= -L${LOCALBASE}/lib/mysql .else APU_CONF_ARGS+= --without-mysql .endif .if ${PORT_OPTIONS:MPGSQL} APU_CONF_ARGS+= --with-pgsql=${LOCALBASE} APU_CONF_ENV+= ac_cv_path_PGSQL_CONFIG="" .else APU_CONF_ARGS+= --without-pgsql .endif .if ${PORT_OPTIONS:MSQLITE} APU_CONF_ARGS+= --with-sqlite3=${LOCALBASE} .else APU_CONF_ARGS+= --without-sqlite3 .endif # crypto (apache24) .if ${PORT_OPTIONS:MSSL} || ${PORT_OPTIONS:MNSS} APU_CONF_ARGS+= --with-crypto .else APU_CONF_ARGS+= --without-crypto .endif .if ${PORT_OPTIONS:MSSL} APU_CPPFLAGS+= -I${OPENSSLINC} LDFLAGS+= -L${OPENSSLLIB} APU_CONF_ARGS+= --with-openssl=${OPENSSLBASE} .else APU_CONF_ARGS+= --without-openssl .endif .if ${PORT_OPTIONS:MNSS} APU_CPPFLAGS+= -I${LOCALBASE}/include/nss LDFLAGS+= -L${LOCALBASE}/lib/nss APU_CONF_ARGS+= --with-nss=${LOCALBASE} .else APU_CONF_ARGS+= --without-nss .endif APR_CONF_ENV+= ${CONFIGURE_ENV:O:u} CC="${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}" post-extract: # cleanup files not used on this platform @${FIND} ${WRKSRC} -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 @${REINPLACE_CMD} -e '/recursive:/s/$$/ .MAKE/' \ ${APR_WRKDIR}/build/apr_rules.mk.in 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} && \ ${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}) -post-install: -${FIND} ${STAGEDIR}${PREFIX}/lib/ -name \*.so | ${XARGS} ${STRIP_CMD} test: build @${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 compair) ${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 Index: branches/2016Q3/devel/apr1/files/patch-apr_poll_unix_kqueue.c =================================================================== --- branches/2016Q3/devel/apr1/files/patch-apr_poll_unix_kqueue.c (nonexistent) +++ branches/2016Q3/devel/apr1/files/patch-apr_poll_unix_kqueue.c (revision 419731) @@ -0,0 +1,77 @@ +# upstram PR: https://bz.apache.org/bugzilla/show_bug.cgi?id=59914 +# FreeBSD PR: 211430 +======================================================================== +--- apr-1.5.2/poll/unix/kqueue.c.orig 2015-03-20 01:34:07 UTC ++++ apr-1.5.2/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; + } + +@@ -290,7 +309,9 @@ static apr_status_t impl_pollset_poll(ap + 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++; + } + } +@@ -471,7 +492,9 @@ static apr_status_t impl_pollcb_poll(apr + apr_pollfd_t *pollfd = (apr_pollfd_t *)(pollcb->pollset.ke[i].udata); + + 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); + Property changes on: branches/2016Q3/devel/apr1/files/patch-apr_poll_unix_kqueue.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2016Q3 =================================================================== --- branches/2016Q3 (revision 419730) +++ branches/2016Q3 (revision 419731) Property changes on: branches/2016Q3 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r419646