Bug 657513

Summary: When queryformat has %{PREFIXES} and %{INSTPREFIXES}, multiple prefixes are not outputed
Product: Red Hat Enterprise Linux 5 Reporter: Masahiro Matsuya <mmatsuya>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED NOTABUG QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.5   
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-29 07:21:42 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:
Attachments:
Description Flags
foo-1.0-0.x86_64.rpm
none
foo-1.0-0.src.rpm none

Description Masahiro Matsuya 2010-11-26 10:20:04 UTC
Created attachment 463050 [details]
foo-1.0-0.x86_64.rpm

Description of problem:
When queryformat has %{PREFIXES} and %{INSTPREFIXES}, multiple prefixes are not outputed.

# cat foo.spec 
Name: foo
Version: 1.0
Release: 0
License: GPL
Group: Applications/Internet

Source0: foo.tar.gz

Prefix: /usr
Prefix: /opt
... snip ...

# rpm -qip /usr/src/redhat/RPMS/x86_64/foo-1.0-0.x86_64.rpm
Name        : foo                          Relocations: /usr /opt 
Version     : 1.0                               Vendor: (none)
Release     : 0                             Build Date: Fri 26 Nov 2010 05:06:34 AM EST
Install Date: (not installed)               Build Host: test.redhat.com
Group       : Applications/Internet         Source RPM: foo-1.0-0.src.rpm
Size        : 20                               License: GPL
Signature   : (none)
Summary     : foo application
Description :
foo application

# rpm -ihv /usr/src/redhat/RPMS/x86_64/foo-1.0-0.x86_64.rpm
Preparing...                ########################################### [100%]
   1:foo                    ########################################### [100%]

# rpm -q --qf="%{PREFIXES}\n" foo
/usr

==> /opt is not outputed.

# rpm -ev foo
# rpm -ihv --relocate /usr=/test --relocate /opt=/test1 /usr/src/redhat/RPMS/x86_64/foo-1.0-0.x86_64.rpm
Preparing...                ########################################### [100%]
   1:foo                    ########################################### [100%]

# rpm -q --qf="%{PREFIXES}\n" foo
/usr

==> /opt is not outputed.

# rpm -q --qf="%{INSTPREFIXES}\n" foo
/test

==> /test1 is not outputed.


Version-Release number of selected component (if applicable):
rpm-4.4.2.3-18.el5

How reproducible:
Always

Steps to Reproduce:
1. install foo package I attached
2. query with rpm -q --qf
  
Actual results:
multiple prefix are not outputed.

Expected results:
multiple prefix are outputed.

Additional info:

Comment 1 Masahiro Matsuya 2010-11-26 10:20:38 UTC
Created attachment 463051 [details]
foo-1.0-0.src.rpm

Comment 2 Panu Matilainen 2010-11-29 07:21:42 UTC
PREFIXES and INSTPREFIXES are arrays and need a special queryformat syntax to show all the contents:
"[%{PREFIXES}\n]" and "[%{INSTPREFIXES}\n]"