Bug 26927

Summary: rpm segfault on openbox-3.5.0-alt1.1.src.rpm
Product: Sisyphus Reporter: Igor Zubkov <icesik>
Component: rpmAssignee: placeholder <placeholder>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: at, glebfm, imz, ldv, placeholder, vt
Version: unstable   
Hardware: all   
OS: Linux   

Description Igor Zubkov 2012-02-13 12:21:12 MSK
# rpm --queryformat="[%{FILESIZES} %{PATCH} \n]" -qp /ALT/Sisyphus/files/SRPMS/openbox-3.5.0-alt1.1.src.rpm 
Segmentation fault
#
Comment 1 Dmitry V. Levin 2012-02-13 15:08:32 MSK
Segfault это, конечно, плохо и надо будет исправить, но смысла в таком --qf нет:
%{FILESIZES} и %{PATCH} это массивы разной длины, и соответствия между N-м элементом одного и другого массива нет.

Имеет смысл что-нибудь такое:
$ rpmquery --qf '[%{FILESIZES}\t%{BASENAMES}\n]' -p /ALT/Sisyphus/files/SRPMS/apt-0.5.15lorg2-alt39.src.rpm
Comment 2 Igor Zubkov 2012-02-13 15:40:32 MSK
(В ответ на комментарий №1)
> Segfault это, конечно, плохо и надо будет исправить, но смысла в таком --qf
> нет:
> %{FILESIZES} и %{PATCH} это массивы разной длины, и соответствия между N-м
> элементом одного и другого массива нет.
> 
> Имеет смысл что-нибудь такое:
> $ rpmquery --qf '[%{FILESIZES}\t%{BASENAMES}\n]' -p
> /ALT/Sisyphus/files/SRPMS/apt-0.5.15lorg2-alt39.src.rpm

Вполне возможно, я не проверял. Это я искал как правильно вытащить PATCH* из src.rpm что затолкать на прометей.
Comment 3 Dmitry V. Levin 2012-02-13 15:44:22 MSK
rpmquery --qf '[%{BASENAMES}\t%{FILESIZES}\n]'
rpmquery --qf '[%{PATCH}\n]'
и join по первому полю.
Comment 4 Gleb F-Malinovskiy 2016-12-16 21:11:29 MSK
На rpm 4.13.0:

$ rpm --queryformat="[%{FILESIZES} %{PATCH} \n]" -qp /ALT/Sisyphus/files/SRPMS/openbox-3.6.1-alt2.src.rpm
error: incorrect format: array iterator used with different sized arrays
Comment 5 Igor Zubkov 2016-12-17 01:49:44 MSK