Heads-up: rpm 4.11.1 rc1 in rawhide

Panu Matilainen pmatilai at laiskiainen.org
Mon Jun 10 10:16:40 UTC 2013

On 06/10/2013 12:34 PM, Panu Matilainen wrote:
> Hi all,
> I normally wouldn't bother with heads-ups with maintenance release
> updates but this one involves more changes than the average bugfix
> maintenance update, in particular to address nasty performance
> regression on spec parsing speed of certain (*cough* texlive *cough* ...
> hi jnovy ;) very complex specs. On my laptop, 'rpmspec --parse
> texlive.spec':
> rpm   15.6s
> rpm   32.8s
> rpm 4.11.1-rc1:  3.2s
> I'm not aware of any regressions but just in case... keep an eye on your
> rawhide builds (especially wrt macro behavior and dependencies) and
> please report any new anomalies asap.

Oh, one other thing related to macros: rpm now issues a warning when 
defining some ambiguous / possibly invalid macro names. For example 
lvm2.spec has

%define util-linux_version 2.22.1
%package -n device-mapper
Requires: util-linux >= %{util-linux_version}

[pmatilai at localhost ~]$ rpm -q --requires device-mapper|grep util
util-linux >= %{util-linux_version}

What actually happens is that rpm defines a macro named "%util" with a 
body of "-linux_version 2.22.1". Which quite obviously is not what was 
intended here, but has been previously silently processed. 4.11.1 
doesn't change the actual behavior but issues a warning on such 
constructs to hint that the result might not be what you expect:

[pmatilai at localhost ~]$ rpm --eval "%define util-linux_version 2.22.1"
warning: Macro %util needs whitespace before body

In this case the warning is for a good reason, but if you see this 
warning issued on what you think is a legal use, let me know.

	- Panu -

More information about the devel mailing list