Chris Pattullo wrote:
Thanks Jeff. I do have a few machines on which I can distribute the
compilation, but would like the option of being able to build specific
RPMs.

I think you'll find that using distcc or ccache will save you a good chunk of time, but probably not what you're looking for. A big portion of the courier package build time is spent running the configure scripts, themselves. On my system (1GHz P3), it takes more than 8 minutes to run the configure scripts. It takes another 11 minutes to compile, test, and install the source. ccache *might* reduce the build time by around 50%, but it'd still take at least 10 minutes for each build.

Debugging with printf seems easy, but you'll really be better off learning to use a proper debugger. Even strace can usually give you the information that you need to track down most bugs.

If you do want to stick with printf style debugging, the best thing to do may be to build and install the suite via RPM. Then, use 'rpmbuild -bc' to prep and compile the source. Make any modifications that you want to the source in your BUILD tree, and then run "make". It'll take a minimum amount of time, and you can then manually replace any modified binaries in your system.

RPM is specifically intended to start from scratch each time it's run, which makes it a poor build method for debugging code.

        1.) Do you think specific per-package .spec files might be released any
time soon, or maybe files with switches to specify packages?

No. The source isn't arranged in such a way as to compile only the specific parts needed for the rpm packages.

Courier *is* a lot more modular than it looks, in terms of its code. That's actually the reason that the configure scripts take so long to run. If you were to rearrange the build process so that each of the component libraries were built separately, you'd reduce the amount of time required to build a specific component, but you'd massively increase the complexity of the courier build process. The work to do the rearranging would be significant, too.

        As an possibly alternate solution, I have heard that through using the
usual ./configure;make;make install process you can specify which
modules to install. Do you think it would be possible to pass
the ./configure script these switches through the .spec file without
completely breaking it?

You'd still run through most of the process, so it wouldn't be a significant savings.



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
courier-users mailing list
[email protected]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to