Bug 456103

Summary: rpm: %if "%{?macro}" == "foo" constructs give error: parseExpressionBoolean returns -1
Product: [Fedora] Fedora Reporter: Rex Dieter <rdieter>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: ffesti, jnovy, karsten, pnasrat
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: rpm-4.5.90-0.git8444.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-08-04 06:50:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 438944    

Description Rex Dieter 2008-07-21 15:26:49 UTC
Constructs of the form
%if "%{?macro}" == "foo"
are no longer accepted, and yield 
foo.spec:12: parseExpressionBoolean returns -1
errors now

Comment 1 Rex Dieter 2008-07-21 15:28:14 UTC
For example,
http://koji.fedoraproject.org/koji/taskinfo?taskID=722265

We worked-around it by simply avoiding using constructs of that form (I think we
converted easy to a numeric compare instead).

Comment 2 Panu Matilainen 2008-07-22 11:43:27 UTC
Easily reproduced, the regression seems to originate from commit
90eec724a834c26131be11145a62084efe3bafb8.

Florian, please have a look... (I'm on vacation and computer time is somewhat
limited ;)

Comment 3 Panu Matilainen 2008-07-24 07:49:18 UTC
*** Bug 456420 has been marked as a duplicate of this bug. ***

Comment 4 Florian Festi 2008-07-25 10:33:53 UTC
One problem was an parsing error from empty double quoted strings ("") that
happen when %{?macro} in not defined. This is fixed upstream.

Comment 5 Panu Matilainen 2008-08-04 06:50:31 UTC
In rawhide now.