On Jul 29, 2009, at 2:46 AM, David (Dave) Donnan wrote:

Hello. I'm a new-bee and I apologize, in advance, for my ignorance.
Also, I hope I've done sufficient research and, therefore, am asking questions the smart way!

Alternate Subject: In order to install a patch, how can I overlay a squid 'configure/make/make install' onto an existing RPM installation ?
And, is this method possible/advised ?

RPM Version: httpd-2.2.11-2.fc10.i386
Fedora 10

Actually, the Redhat Package Manager packages are not really ever the topic of discussion on this list: they are maintained by Redhat themselves and merely consume the Apache software.

I need to install the following patch:

 https://issues.apache.org/bugzilla/show_bug.cgi?id=45107

 Bug 45107 -  Client certificate attribute UID not usable in
 env var SSL_CLIENT_S_DN_UID since wrong NID/OID assigned
I deduced the patch is not available in the latest package 2.2.12:

 No mention of BUG here: http://mirrors.linhub.com/apache/httpd/CHANGES_2.2.12
 Apache 2.2.12 Released  2009-07-23
So I thought the following would be a good strategy

1. Download httpd-2.2.11-2 sourcecode
2. patch -p0 patch-apache-2.2.8-mod_ssl-uid-2.txt
3. configure/make/make install Apache to overlay existing RPM installation

I would suggest a slightly different strategy to incorporate this fix into your package.

When I performed the above, using 'configure' (without command line options),
Apache installed  in /usr/local/apache2 (as documented).

However this doesn't resemble my RPM installation, notably, no 'conf.d' subdirectory, no symbolic links such as 'run -> ../../var/run', etc, with which I'm (read: we are) now familiar/comfortable.

You should consider obtaining the latest Source RPM (SRPM) for the Red Hat version that you have installed. You can then drop in the patch file (note that Redhat patches start one directory higher than the one attached to the Bugzilla entry) and add the patch to the spec file. In that file, you can also make changes like your own suffix to the package version number which is a good idea to keep your modifications recognizable.

I find this: ftp://people.redhat.com/mharris/hacks/rpmbuild-nonroot-1.0.tar.gz indispensable and have in fact never built an RPM any other way. It localized the build scaffolding under your home dir and allows you to build without becoming root.

You will also need to install some extra packages, most notably rpm- build and its dependencies.

Q1. What 'configure' options (--prefix, --bindir etc.) would allow me to 'overlay' my patch onto the existing RPM installation ? I don't want to break any RPM apache functionality (ssl, cgi etc.).

The RPM build comes with the right configure invocation and produces a package that fits right in with all the other packages on your system. You can upgrade the existing installation (if present) using rpm --upgrade.

Q2. Is this 'overlay' a good idea, in practice ?

No, because it forces you to have a build environment, and keeps you from using the package manager to its full effect.

Any help would be greatly appreciated, Dave

PS: I found the following examples but I need to be certain:

http://www.directadmin.com/forum/showthread.php?t=28112
and many others

Don't worry about that, use the configure invocation Redhat came up with as part of your rpm build.

Where within Thales are you?  I'm in E-Security.

S.

--
Sander Temme
scte...@apache.org
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF



Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to