Bug 164939 - cman-kernel wrongly lists kernel-hugemem as build requirement
Summary: cman-kernel wrongly lists kernel-hugemem as build requirement
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Cluster Suite
Classification: Retired
Component: cman
Version: 4
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Chris Feist
QA Contact: Cluster QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-08-02 21:51 UTC by Charlie Brady
Modified: 2010-01-04 19:22 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-01-04 19:22:47 UTC
Embargoed:


Attachments (Terms of Use)

Description Charlie Brady 2005-08-02 21:51:49 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041123 Firefox/1.0

Description of problem:
...
bash-3.00$ rpmbuild --rebuild --target=i686 cman-kernel-2.6.9-36.0.src.rpm
Installing cman-kernel-2.6.9-36.0.src.rpm
warning: user buildcentos does not exist - using root
warning: group buildcentos does not exist - using root
warning: user buildcentos does not exist - using root
warning: group buildcentos does not exist - using root
Building target platforms: i686
Building for target i686
error: Failed build dependencies:
        kernel-hugemem = 2.6.9-11.EL is needed by cman-kernel-2.6.9-36.0.i686
bash-3.00$
...

However, I succeeded in building the package without kernel-hugemem installed:

bash-3.00$ rpmbuild --rebuild --target=i686 --nodeps cman-kernel-2.6.9-36.0.src.rpm
Installing cman-kernel-2.6.9-36.0.src.rpm
warning: user buildcentos does not exist - using root
warning: group buildcentos does not exist - using root
warning: user buildcentos does not exist - using root
warning: group buildcentos does not exist - using root
Building target platforms: i686
Building for target i686
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.97336
...
Requires(post): /bin/sh
Requires: /lib/modules/2.6.9-11.ELhugemem kernel-hugemem = 2.6.9-11.EL
Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/cman-kernel-2.6.9-36.0-buildroot
Wrote: /home/speech/bradyc/rpms/RPMS/i686/cman-kernel-2.6.9-36.0.i686.rpm
Wrote: /home/speech/bradyc/rpms/RPMS/i686/cman-kernheaders-2.6.9-36.0.i686.rpm
Wrote: /home/speech/bradyc/rpms/RPMS/i686/cman-kernel-smp-2.6.9-36.0.i686.rpm
Wrote: /home/speech/bradyc/rpms/RPMS/i686/cman-kernel-hugemem-2.6.9-36.0.i686.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.16117
+ umask 022
+ cd /home/speech/bradyc/rpms/BUILD
+ cd cman-kernel-2.6.9-36
+ rm -rf /var/tmp/cman-kernel-2.6.9-36.0-buildroot
+ exit 0
Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.16117
+ umask 022
+ cd /home/speech/bradyc/rpms/BUILD
+ rm -rf cman-kernel-2.6.9-36
+ exit 0
bash-3.00$

What's really required is kernel-hugemem-devel, and I *do* have that installed.
But even that requirement isn't quite right - it should depend on the value of buildhugemem, but doesn't.

In fact, I think these three BuildRequires are all wrong - you should be able to be running any kernel at all (even one not installed via RPM), as long as you have the correct kernel-*devel RPMS installed.

...
BuildRequires: kernel = %{kernel_version}
BuildRequires: kernel-smp = %{kernel_version}
BuildRequires: kernel-hugemem = %{kernel_version}
...


Version-Release number of selected component (if applicable):
cman-kernel-2.6.9-36.0

How reproducible:
Always

Steps to Reproduce:
See above, just try to rebuild the package without any of the three kernel RPMs installed.

Additional info:

Comment 1 Christine Caulfield 2005-08-08 08:11:25 UTC
Reassign to Chris as he's IC the build system.

Comment 2 Chris Feist 2005-08-16 15:53:24 UTC
You are correct, requiring that the kernel package be installed for the build is
not necessary.  Future releases will not contain that requirement.

Unfortunately the way our build system works we cannot have BuildRequires inside
of if statements (the if statements get ignored).


Note You need to log in before you can comment on or make changes to this bug.