Graham Leggett wrote: > > Luc Pardon said: > > > In that case the 2.0 httpd.spec files should either a) not require > > pre-installed apr packages and build apr as part of the httpd rpm, > > A definite -1 on this. If this were so, httpd could not coexist cleanly > with other packages that depended on APR.
Definitely. I missed the fact that apr 0.9 and 1.x can coexist. > > > or b) > > build the bundled apr stuff into separate rpm packages itself. > > APR is already available as an RPM, both for the 0.9 and 1.x trees, and > 0.9 and 1.x can be installed simultaneously. > > See the binaries/rpm directory in the download section for APR. > Yes, but what got me confused is that the httpd tarball comes with the APR source (hence the docs don't talk about it as being a prerequisite) whereas the current spec file requires you to go elsewhere and get something that is already there. It seem to me that this kind of defeats the purposo of bundling APR. > > I'm only really familiar with rpm-ing on RedHat platforms, but AFAIK > > the rpm specs differ in details, so you'd probably have to populate the > > rpm subdir with working spec files for various platforms (collected > > after the fact <g>). Or add platform-specific subdirs under rpm/. > > Different spec files for different platforms should be avoided as much as > possible. Each distro will release an httpd version + their custom patches > for the purposes of that distro anyway, Apache isn't a distro, so can > release a clean httpd as is without any patches. Agreed on both counts. That (no patches) is one of the reasons why I'm building my own. But I think there are sometimes other differencies than just patches, no ? For example, installing into platform-dependent dirs or other variations in configure options ? Or init script stuff ? Note that I'm not arguing, just wondering. Of course, having multiple spec files (for different platforms) will break rpmbuild -tb big time. > > > "The httpd.spec file, as included in the tarball, requires apr and > > apr-util and the corresponding devel packages to be installed as > > separate rpm's. Although the APR source code is present in the httpd > > tarball, there are currently no APR spec files. You can't build the APR > > rpm's from the httpd.spec file either. In other words, if you want to > > build httpd from the included spec file, you'll first have to go and > > find the APR rpm's in the usual places and install them." > > There are APR spec files in the APR and APR-util archives. > > They are removed from the apr tree in the httpd build, as rpm gets > confused is there is more than one spec file in a tarball (in other words, > rpmbuild -tb is not possible otherwise). > I see. But couldn't you leave them sitting in srclib/apr, where rpmbuild -tb won't see them ? Or better, merge them into httpd.spec, so that rpmbuild -tb will produce apr packages from the bundled code in one go ? Would there be any objections against the latter ? After all, httpd.spec already produces the httpd, httpd-devel, httpd-manual and mod_ssl rpm's. Why not apr, apr-util, apr-devel and apr-util-devel as well ? Nobody obliges you to install the whole set. > > If you leave it in, changing the dependencies to properly require > > 0.9.7 (or newer?) is a trivial change to build/rpm/httpd.spec.in. So > > trivial in fact that I'm willing to provide a patch <g>. > > Please do :) > From a later message of yours, it seems it's too late already <g>. As an aside, is there no configure macro somewhere (something like APR_VERSION) that would avoid having to hard-code it in httpd.spec.in ? Luc