I needed this package for a box running Redhat 6.2. So I changed the build6x-define in the specfile from 0 to 1 and tried to build the package. rpm complained about error: failed build dependencies: db1-devel is needed by openssh-3.6.1p1-1 caused by this part of the specfile: %if ! %{build6x} BuildPreReq: glibc-devel, pam %else BuildPreReq: db1-devel, /usr/include/security/pam_appl.h %endif There is no db1 package in Redhat 6.x, db1 was intruduced in 7.x. In Redhat 6.x the contents of db1 are part of the glibc package. It seems like that the condition is the wrong way around.
Created attachment 389 [details] Add build7x variable. There seems to be some confusion about this. $ cvs log openssh.spec revision 1.109 date: 2002/09/04 07:19:06; author: djm; state: Exp; lines: +1 -1 - (djm) Fix Redhat RPM build dependancy test and from Redhat bug #55105: "If build_6x is defined for building openssh on a 6.x box, it won't build because it claims to need db1-devel. However db1-devel does not exist for 6.x, as it is included in glibc-devel." A quick survey shows db1-devel present *only* in 7.x releases, so no amount of fiddling with build6x is going to get it right for all cases. How about this patch? I'm not fluent in specfile so it might be wrong, but it works on my RH8.0 box.
Is that specfile patch OK or is there a better way of doing it?
Perhaps we should conditionalise on the version of redhat-release or just relax the build requirements. The worst consequence of relaxing the build requirements is the build may fail. Since OpenSSH doesn't take long to compile, I think this is preferable to creating another #ifdef hell :)
hm, the spec file doesn't even have the db1-devel requirement at the moment. Since OpenSSH doesn't depend on this directly, I'm happy to leave it to whatever requires db1-devel to specify its dependance on it.
Mass change of RESOLVED bugs to CLOSED