Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Jun 2013 16:36:59 +0200
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        olli hauer <ohauer@gmx.de>
Cc:        freebsd-apache@freebsd.org
Subject:   Re: Splitting up and simplifying devel/apr1
Message-ID:  <51CC4E0B.7040101@FreeBSD.org>
In-Reply-To: <51C742A4.1070709@FreeBSD.org>
References:  <51C1AFA7.9080700@FreeBSD.org> <51C58174.20209@gmx.de> <51C742A4.1070709@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
------enig2XBTTRKKVIQCQHQBBQBIU
Content-Type: multipart/mixed;
 boundary="------------070506010007090505020704"

This is a multi-part message in MIME format.
--------------070506010007090505020704
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable

On 2013-06-23 20:47, Tijl Coosemans wrote:
> On 2013-06-22 12:50, olli hauer wrote:
>>> In the discussion on src-committers about svnlite it was mentioned th=
at
>>> devel/subversion is too heavy to build, pulling in perl, python and
>>> all the autotools. I've been going over its dependencies and it turns=

>>> out these are all pulled in by devel/apr1, so I've been looking into
>>> simplifying that port.
>>>
>>> It seems the port can easily be split up into two simple ports, one f=
or
>>> the APR library and one for the APR Utility library. There's no need
>>> for autotools, libtool, python, etc.
>>>
>>> I've attached a patch that creates devel/apr and devel/apr-util.
>>> Please take a look at them and let me know what you think.
>>> Another patch can then remove devel/apr1 and update all ports that
>>> depend on it, but before I spend more time on this, do you agree this=

>>
>> On upstream apr and apr-util are already merged but until now are
>> delivered separate.
>>
>> In the past they had also sometimes update to apr2 snapshots where
>> they delivered everything in one dist file.
>>
>> In case there is no planning on upstream to merge the two distfiles
>> into one like the apr2 snapshots then I think we could spend some
>> time and separate the ports.
>>
>> I will ask on the dev@apr.apache mailing list if there is a road map
>> (I cannot find one on the apr public sites).
>=20
> I've seen the mails on the apr mailing list. Since apr2 includes apr-ut=
il
> it's probably easier to keep apr1 and apr-util in one port too. Then
> there's no need to update and rebuild dependent ports either.
>=20
> I've attached a new patch for devel/apr1. It contains the following cha=
nges:
>=20
> - Move include <bsd.port.options.mk> down.
> - Remove USE_AUTOTOOLS and USE_PYTHON_BUILD.
> - Use pathfix to patch pkgconfig paths. (replaces a post-patch command)=

> - Add CFLAGS, CPPFLAGS and LDFLAGS to CONFIGURE_ENV. They are set for
>   some options.
> - Append include dirs to CPPFLAGS instead of CFLAGS.
> - Remove files/patch-apr_hints.m4. Instead replace any evaluation of
>   $os_version with ${OSVERSION} directly in configure script.
> - Remove patching of gen-build.py because we don't run it anymore.
> - Remove patching of "void main" to "int main". According to the commit=
 log
>   it was added for Clang, but Clang no longer seems to complain about i=
t.
> - Patch -lpthread directly in the configure script.
> - Remove the run-autotools target. Running of configure has been moved =
to
>   the do-configure target.
> - Replace "cd <dir>; <command>" with "(cd <dir> && <command>)" as
>   recommended by the make manpage in current.
> - Add ${_MAKE_JOBS} in do-build.
> - Rename the test target to regression-test because that's what pointyh=
at
>   runs.
> - Remove debug_autoconf target because we don't run autotools anymore.

Any progress on this?

I've attached a new patch with two additional changes:
- Mark recursive targets with .MAKE to fix parallel builds with bmake.
- Disable regression tests when PACKAGE_BUILDING is defined because the
  tests require networking which isn't available on redports (and pointyh=
at
  as well probably).

--------------070506010007090505020704
Content-Type: text/plain; charset=ISO-8859-15;
 name="apr1.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="apr1.patch"

Index: devel/apr1/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- devel/apr1/Makefile	(revision 321865)
+++ devel/apr1/Makefile	(working copy)
@@ -29,18 +29,15 @@ NDBM_DESC=3D	NDBM support
 SSL_DESC=3D	OpenSSL crypto driver
 NSS_DESC=3D	NSS crypto driver
=20
-.include <bsd.port.options.mk>
-
 APR_VERSION=3D	1.4.6
 APU_VERSION=3D	1.4.1
=20
-USES=3D		iconv
-USE_AUTOTOOLS=3D	automake autoconf libtool:env
-USE_PYTHON_BUILD=3D	-2.7
-USE_LDCONFIG=3D		yes
-GNU_CONFIGURE=3D		yes
+USES=3D		iconv pathfix
+USE_LDCONFIG=3D	yes
+GNU_CONFIGURE=3D	yes
=20
-CONFIGURE_ENV=3D	CC=3D"${CC}"
+CONFIGURE_ENV=3D	CC=3D"${CC}" CFLAGS=3D"${CFLAGS}" CPPFLAGS=3D"${CPPFLAG=
S}" \
+		LDFLAGS=3D"${LDFLAGS}"
=20
 NO_WRKSUBDIR=3D	yes
 APR_WRKDIR=3D	${WRKDIR}/apr-${APR_VERSION}
@@ -55,6 +52,8 @@ APU_CONF_ARGS=3D	--with-apr=3D${APR_WRKDIR}=20
 		--with-expat=3D${LOCALBASE} \
 		--with-iconv=3D${LOCALBASE}
=20
+.include <bsd.port.options.mk>
+
 ########## APR Options
 .if ${PORT_OPTIONS:MTHREADS}
 APR_CONF_ARGS+=3D	--enable-threads
@@ -131,7 +130,7 @@ PLIST_SUB+=3D	MYSQL=3D""
 USE_MYSQL=3D	YES
 APU_CONF_ARGS+=3D	--with-mysql=3D${LOCALBASE}
 CONFIGURE_ENV+=3D	LIBS=3D"${LIBS}"
-CFLAGS+=3D	-I${LOCALBASE}/include -I${LOCALBASE}/include/mysql -DHAVE_MY=
SQL_H
+CPPFLAGS+=3D	-I${LOCALBASE}/include -I${LOCALBASE}/include/mysql -DHAVE_=
MYSQL_H
 LDFLAGS+=3D	-L${LOCALBASE}/lib/mysql
 .else
 PLIST_SUB+=3D	MYSQL=3D"@comment "
@@ -168,7 +167,7 @@ APU_CONF_ARGS+=3D	--with-crypto
 APU_EXTRAS=3D	yes
 USE_OPENSSL=3D	yes
 PLIST_SUB+=3D	SSL=3D""
-CFLAGS+=3D	-I${OPENSSLINC}
+CPPFLAGS+=3D	-I${OPENSSLINC}
 LDFLAGS+=3D	-L${OPENSSLLIB}
 APU_CONF_ARGS+=3D	--with-openssl=3D${OPENSSLBASE}
 .else
@@ -182,7 +181,7 @@ APU_CONF_ARGS+=3D	--without-openssl
 APU_EXTRAS=3D	yes
 PLIST_SUB+=3D	NSS=3D""
 LIB_DEPENDS+=3D	nss3:${PORTSDIR}/security/nss
-CFLAGS+=3D	-I${LOCALBASE}/include/nss
+CPPFLAGS+=3D	-I${LOCALBASE}/include/nss
 LDFLAGS+=3D	-L${LOCALBASE}/lib/nss
 APU_CONF_ARGS+=3D	--with-nss=3D${LOCALBASE}
 .else
@@ -195,66 +194,35 @@ PLIST_SUB+=3D	APU_EXTRAS=3D""
 PLIST_SUB+=3D	APU_EXTRAS=3D"@comment "
 .endif
=20
-post-patch: .SILENT
-	${REINPLACE_CMD} -e 's/OSVERSION/${OSVERSION}/g' \
-		${APR_WRKDIR}/build/apr_hints.m4
-	${FIND} ${APR_WRKDIR} ${APU_WRKDIR} -name "Makefile.in*" | ${XARGS} ${R=
EINPLACE_CMD} -e \
-		's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g'
-	${REINPLACE_CMD} -e '1 s/python/${PYTHON_VERSION}/' \
-		${APR_WRKDIR}/build/gen-build.py
-	${REINPLACE_CMD} -e 's/void main/int main/' ${APR_WRKDIR}/build/apr_net=
work.m4
+post-patch:
+	@${REINPLACE_CMD} -e 's/$$os_version/${OSVERSION}/g' \
+		${APR_WRKDIR}/configure
+	@${REINPLACE_CMD} -e '/recursive:/s/$$/ .MAKE/' \
+		${APR_WRKDIR}/build/apr_rules.mk.in
 # Fix pthread: Please do not remove, else apr-1-config returns wrong val=
ues
-	${REINPLACE_CMD} -e 's/-lpthread/-pthread/g' \
-		${APR_WRKDIR}/build/apr_threads.m4 ${APR_WRKDIR}/build/apr_hints.m4 \
-		${APU_WRKDIR}/build/apu-conf.m4
-
-run-autotools::
-	cd ${APR_WRKDIR} ; \
-		${SETENV} ${CONFIGURE_ENV} ${SH} ./buildconf
-	cd ${APU_WRKDIR} ; \
-		${RM} -fr xml/expat
-	cd ${APU_WRKDIR} ; \
-		${SETENV} ${CONFIGURE_ENV} ${SH} ./buildconf \
-		--with-apr=3D${APR_WRKDIR}
-	${REINPLACE_CMD} -e 's/ gsed//g' \
-		${APR_WRKDIR}/build/libtool.m4 \
+	@${REINPLACE_CMD} -e 's/-lpthread/${PTHREAD_LIBS}/g' \
 		${APR_WRKDIR}/configure
-	cd ${APR_WRKDIR}; \
-		${SETENV} ${CONFIGURE_ENV} ${SH} \
-		./configure ${CONFIGURE_ARGS} ${APR_CONF_ARGS}
-	cd ${APU_WRKDIR}; \
-		${SETENV} ${CONFIGURE_ENV} CFLAGS=3D"${CFLAGS}" ${SH} \
-		./configure ${CONFIGURE_ARGS} ${APU_CONF_ARGS}
=20
 do-configure:
-	${DO_NADA}
+	@(cd ${APR_WRKDIR} && \
+		${SETENV} ${CONFIGURE_ENV} \
+		./configure ${CONFIGURE_ARGS} ${APR_CONF_ARGS})
+	@(cd ${APU_WRKDIR} && \
+		${SETENV} ${CONFIGURE_ENV} \
+		./configure ${CONFIGURE_ARGS} ${APU_CONF_ARGS})
=20
 do-build:
-	cd ${APR_WRKDIR}; ${SETENV} ${MAKE_ENV} ${MAKE}
-	cd ${APU_WRKDIR}; ${SETENV} ${MAKE_ENV} ${MAKE}
+	@(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS})
+	@(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS})
=20
 do-install:
-	cd ${APR_WRKDIR}; ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET}
-	cd ${APU_WRKDIR}; ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET}
+	@(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET})
+	@(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET})
=20
-test: build
-	-@(cd ${APR_WRKDIR}; ${MAKE} test)
-	-@(cd ${APU_WRKDIR}; ${MAKE} test)
-
-#regression-test: test
-
-debug_autoconf:
-	@${ECHO} "LIBTOOL: ${LIBTOOL_VERSION}"
-	@${ECHO} "AUTOCONF: dev ${dev_acver} cur ${cur_acver} use ${use_acver}"=

-	@${ECHO} "AUTOMAKE: dev ${dev_amver} cur ${cur_amver} use ${use_amver}"=

-	@${ECHO} "AUTOCONF_DIR: ${AUTOCONF_DIR}"
-	@${ECHO} "BUILD_DEPENDS: ${BUILD_DEPENDS}"
-	@${ECHO} "ACLOCAL_DIR: ${ACLOCAL_DIR}"
-	@${ECHO} "LIBTOOLFILES: ${LIBTOOLFILES}"
-	@${ECHO} "LIBTOOL_SHAREDIR: ${LIBTOOL_SHAREDIR}"
-	@${ECHO} "LIBTOOL_LIBEXECDIR: ${LIBTOOL_LIBEXECDIR}"
-	@${ECHO} "LIBTOOL_M4: ${LIBTOOL_M4}"
-	@${ECHO} "${SETENV} ${CONFIGURE_ENV} ${SH} ./configure ${CONFIGURE_ARGS=
} ${APR_CONF_ARGS}"
-	@${ECHO} "${SETENV} ${CONFIGURE_ENV} CFLAGS=3D"${CFLAGS}" ${SH} ./confi=
gure ${CONFIGURE_ARGS} ${APR_UTIL_CONF_ARGS}"
+.if !defined(PACKAGE_BUILDING)
+regression-test: build
+	@(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} test)
+	@(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} test)
+.endif
=20
 .include <bsd.port.mk>
Index: devel/apr1/files/patch-apr_hints.m4
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- devel/apr1/files/patch-apr_hints.m4	(revision 321865)
+++ devel/apr1/files/patch-apr_hints.m4	(working copy)
@@ -1,15 +0,0 @@
---- apr-1.4.6/build/apr_hints.m4.orig	Wed Oct 27 11:12:28 2004
-+++ apr-1.4.6/build/apr_hints.m4	Wed Oct 27 11:25:32 2004
-@@ -159,11 +159,7 @@
- 	;;
-     *-freebsd*)
-         APR_SETIFNULL(apr_lock_method, [USE_FLOCK_SERIALIZE])
--        if test -x /sbin/sysctl; then
--            os_version=3D`/sbin/sysctl -n kern.osreldate`
--        else
--            os_version=3D000000
--        fi
-+        os_version=3D"OSVERSION"
-         # 502102 is when libc_r switched to libpthread (aka libkse).
-         if test $os_version -ge "502102"; then
-           apr_cv_pthreads_cflags=3D"none"

--------------070506010007090505020704--

------enig2XBTTRKKVIQCQHQBBQBIU
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (FreeBSD)

iF4EAREIAAYFAlHMThEACgkQfoCS2CCgtitrrAD/T4Z6jNWjT1vQugpG8TfzhGOm
AQ6gVInuE2LK4DRruHwA/A6I511vLlpyGwPMnQuZvsfF5/iMdsxfstz0xhCNqW2K
=AcKi
-----END PGP SIGNATURE-----

------enig2XBTTRKKVIQCQHQBBQBIU--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51CC4E0B.7040101>