Preferred Method for Recompiling Apache on FC3?

Paul Howarth paul at city-fan.org
Fri Mar 11 08:52:02 UTC 2005


On Fri, 2005-03-11 at 04:03 +0000, D. D. Brierton wrote:
> On Thu, 2005-03-10 at 20:26 -0600, Eric Vought wrote:
> 
> > I am going to need to rebuild Apache shortly to change the suexec
> > docroot to /home, in line with what VirtualMin requires. This, in and of
> > itself, does not scare me. What does make me a bit nervous is the
> > prospect of doing this without breaking all of the various RPM
> > dependencies and hosing my system the next time the httpd package is
> > updated.
> > 
> > Is there a preferred method for rebuilding Apache on FC3? If I install
> > from source, how do I get all of the other packages which depend on it
> > to work correctly? In the past, I would have built the custom version in
> > /usr/local, but nothing (e.g.: the init scripts, WebMin, etc) expects to
> > find it there. If I modify the build configuration in the SRPM and
> > rebuild/reinstall, how do I keep a YUM update from clobbering the
> > customized binary? Is there a "yum
> 
> I am very interested to hear what others more knowledgeable than myself
> have to say about this. I personally think that your best bet is to
> build custom RPMs yourself, rather than just compiling from source and
> installing via the "configure ; make ; make install" route.
> 
> You'll still need to worry about whether updates from Fedora would
> replace your customised packages. One possibility would be to set a high
> epoch number on your custom RPMs, so that updates from Fedora never
> replace them. That might cause dependency problems with other packages
> that you don't want or need to build yourself, but maybe it won't.
> Someone more knowledgeable about RPM and how epoch works might be able
> to enlighten us. The trouble is that you will need to regularly manually
> track the Fedora updates for security and bug fixes, and manually
> rebuild your RPMs with your custom spec file from the updated SRPMs.
> 
> I don't see any other convenient route to doing what you want to. If you
> start compiling key components of FC yourself and installing them
> without using RPM you're going to end up in a world of pain.

I agree with Darren that tweaking the httpd SRPM is the way to go. But
then I always say that ;-)

I wouldn't alter the Epoch: because someone else could always out-Epoch
you.

You can stop yum clobbering httpd by using one or more "exclude"
directives in your /etc/yum.conf. If some package comes along that
requires a later version of httpd than yours, yum won't be able to
install/update it because it won't be able to resolve the dependency,
and so the update won't happen. You'll need to keep an eye on your yum
output to spot when this is happening so that you can update your own
package to match the updated Fedora httpd package, but that doesn't get
updated very often so it shouldn't be too onerous a task. If you create
a single patch file to cover the differences between your build of httpd
and the Fedora build, you may even get away with applying the same patch
to subsequent Fedora SRPMs to implement the same set of changes, making
it an easy update to do.

Paul.
-- 
Paul Howarth <paul at city-fan.org>




More information about the fedora-list mailing list