Currently, apr-util 0.9.x requires that apr source be available in order to configure and make.

This makes it awkward to package apr-util using a packaging system. This overly close coupling has already been fixed in 1.x, and I'd like 0.9.x to get the benefit too.

Changes to both apr and apr-util are involved - though these changes are entirely backports, they occurred on trunk as multiple revisions - I've written new log messages to describe the overall result of the group of changes I'm suggesting be backported:

APR:
[[[
Backport r65212, r65249, r65250, r65251 from trunk.
Install mkdir.sh, make_exports.awk, make_var_export.awk to the APR
installbuilddir, and avoid placing paths to the source and build directories
into the installed apr_rules.mk.

* Makefile.in (CLEAN_TARGETS): Add "build/apr_rules.out".
 (build/apr_rules.out): New rule to create by changing build-dir paths to
   installed paths.
 (install): Depend on build/apr_rules.out, and install it as apr_rules.mk.
   Also install mkdir.sh, make_exports.awk and make_var_export.awk.
 (exports.c, export_vars.c): Use new make-variable defined in apr_rules.mk.

* build/apr_rules.mk.in (MKEXPORT): Remove obsolete definition which is broken
   anyway, since it refers to a nonexistant file.
 (APR_MKDIR, APR_MKEXPORT, APR_MKVAREXPORT): New definitions
   - the commands to run various installbuilddir tools.
]]]

APR-util:
[[[
Backport r59073, r59075, r59086, r59087 from trunk.
Use mkdir.sh, make_exports.awk, make_var_export.awk from the APR
installbuilddir, instead of requiring APR source to be available at APR-util
build time.  Requires APR 0.9.8, since earlier versions did not install
all necessary files to the installbuilddir.

* Makefile.in (install, exports.c, export_vars.h): Use new apr_rules.mk
   definitions APR_MKDIR, APR_MKEXPORT and APR_MKVAREXPORT.

* build/apu-conf.m4 (APU_FIND_APR):
   Remove the `apr-config --srcdir` invocation and corresponding AC_SUBST.
]]]


Applying these changes would, of course, mean that apr-util 0.9.8 would require apr 0.9.8 or later to build against.

IIUC, a strict reading of the APR compatibility rules means this is OK, under the "Before 1.0, anything goes", clause - but on the other hand, 0.9.x is sort of semi-stable now.

Is this compatibility restriction OK, and if so, is a note in the documentation OK, or should I also patch APU_FIND_APR to verify this?


Thanks,

Max.

Attachment: apu-0.9.x-backport-installbuilddir-completeness.patch
Description: Binary data

Attachment: apr-0.9.x-backport-installbuilddir-completeness.patch
Description: Binary data

Reply via email to