Bug 706025

Summary: rpmbuild -bp should implies --nodeps
Product: [Fedora] Fedora Reporter: Thierry Vignaud <thierry.vignaud>
Component: rpmAssignee: Fedora Packaging Toolset Team <packaging-team>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: rawhideCC: ffesti, jnovy, pebolle, pmatilai
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-11-19 12:40:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Thierry Vignaud 2011-05-19 08:43:05 UTC
Description of problem:
"rpmbuild -bp" should implies the "--nodeps" option
Using "-bp" means we just want to look at sources, so
we don't care at all if some buildrequires are missing
or not.

Version-Release number of selected component (if applicable):
rpm-4.9.0-6.fc15.x86_64

How reproducible:
Everytime

Steps to Reproduce:
1. run "rpmbuild -bp" on some spec file which as BRs
   not pulled by rpm-build
2.
3.
  
Actual results:
Failure. eg:
error: Failed build dependencies:
        ldetect-devel >= 0.9.0 is needed by drakxtools-13.52-1.x86_64
        parted-devel is needed by drakxtools-13.52-1.x86_64
        drakx-installer-binaries is needed by drakxtools-13.52-1.x86_64


Expected results:
checking for missing BR should be skiped, then sources
should be unpacked in BUILD & patches should be applied

Additional info:

Comment 1 Paul Bolle 2011-08-18 08:59:33 UTC
(In reply to comment #0)
> checking for missing BR should be skiped, then sources
> should be unpacked in BUILD & patches should be applied

Are there any guarantees that a certain package doesn't need a build dependency in the "%prep" stage? man rpmbuild(8) only indicates for "-bp"
    [...] Normally this involves unpacking the sources and applying any patches.

How common are abnormal "%prep" stages that require a build dependency?

Comment 2 Thierry Vignaud 2011-08-19 08:34:04 UTC
In 12 years of rpm packaging, I do not remember that much.

I did have fixed some spec files that were mixing %prep and %build (mainly regarding calling configure) but that's the occasional bogus ones.

I think we can safely do this since the only srpms that would "break" would be:
1) packages with bogus spec files
2) when one just wants to look at patched sources (rpmbuild -bp)
3) when the buildrequires are not available

That won't amount to much breakage in real life IMHO...

Comment 3 Paul Bolle 2011-08-19 08:47:41 UTC
(In reply to comment #2) 
> I think we can safely do this [...]

If that turns out to be correct perhaps the reverse of this problem could also be tackled, ie
    rpm --clean

also requiring --nodeps after the rpmbuild "%prep" stage was run with --nodeps. 

That's another small nuisance people like you and me run into when we just want to grep through a package's source.

Comment 4 Fedora Admin XMLRPC Client 2012-04-13 23:06:34 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 5 Fedora Admin XMLRPC Client 2012-04-13 23:10:07 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 6 Panu Matilainen 2012-11-19 12:40:47 UTC
Unpacking sources does have dependencies, and the plan is to (some day) move the dependencies for %setup actions out of rpm-build package into packages themselves (see http://rpm.org/ticket/98). Ignoring build-requires for %prep execution is in conflict with that plan and we dont want to flip-flop such behavior back and forth -> WONTFIX.